# CyberGuard Africa
A cybersecurity education, tools, incident-reporting, and community platform for individuals, businesses, and students across Africa.
## Running locally
```bash
pip install -r requirements.txt
python app.py
```
Then open
localhost
The SQLite database (`cyberguard.db`) is created automatically on first run with three tables: `messages`, `incident_reports`, and `community_tips`.
## Pages
- `/` — Home
- `/about` — About
- `/learn` — Education hub (6 topics: phishing, passwords, malware, social engineering, mobile safety, business security)
- `/tools` — Password strength checker + interactive cyber safety quiz
- `/report` — Incident reporting form
- `/community` — Community tips wall (submissions are reviewed before appearing publicly)
- `/contact` — Contact form
- `/admin/login` — Admin login
- `/admin` — Admin dashboard (contact messages, incident reports, community tip moderation)
## Admin access
Default admin password: `CyberGuard2026!`
**Before deploying this publicly, set real environment variables** so the defaults in the code are not used:
```bash
export SECRET_KEY="a-long-random-string"
export ADMIN_PASSWORD="a-strong-password-only-you-know"
```
The admin dashboard was previously open to anyone — it's now password-protected using a hashed password check and Flask sessions.
## Notes
- The password strength checker runs entirely in the browser; nothing is sent to the server.
- The incident report form is for guidance and record-keeping, not emergency response — the page reminds users to contact their bank or police directly for urgent cases.
- Community tips require admin approval (`/admin` → Community Tips tab) before they're publicly visible, to prevent spam.