🛡️ Anonymous AI platform connecting abuse survivors to help in Cameroon
# SafeVoice Cameroon
Anonymous GBV & Abuse Reporting Platform | Cameroon Launch
## What it is
SafeVoice Cameroon is an anonymous, AI-powered platform where survivors and witnesses of gender-based violence, sexual assault, child abuse, and human trafficking can safely report incidents and be connected to verified support — NGOs, legal aid, hospitals, and police — without ever revealing their identity.
## Features
- **Anonymous reporting** — No accounts, no IP logging, no cookies
- **Quick Exit button** — One click to leave safely
- **Urgent flow** — Immediate danger skips contact options, shows emergency numbers first
- **Timing & location** — Optional: when (today/this week/past), region, town, quarter
- **Multilingual** — 50+ Cameroonian languages via Gemini: Ewondo, Bassa, Fulfulde, Lamnso, Kenyang, Ghomala, Gbaya, Baka, Mafa, Giziga, and more
- **AI-powered** — Gemini analyzes reports, classifies incidents, matches resources
- **Victim-controlled contact** — Anonymous inbox, WhatsApp bridge, or optional direct
- **Admin dashboard** — NGO partners view anonymised cases, reply, refer to other orgs
- **Audit logging** — All admin actions logged
- **Export** — Anonymised CSV/JSON for donor reporting
- **WhatsApp bot** — Conversational flow, auto-clear reminder (Phase 2)
- **WhatsApp bridge** — Twilio Proxy for masked numbers (Option B)
## Quick start
```bash
# Install dependencies
npm install
# Setup environment
cp .env.example .env
# Edit .env: add DATABASE_URL, DIRECT_URL (from Supabase), GEMINI_API_KEY, ENCRYPTION_KEY
# Or run: npm run generate-secrets
# Supabase database setup (see docs/SUPABASE_SETUP.md)
npx prisma generate
npx prisma migrate deploy
npm run db:seed
# Run development server
npm run dev
```
- **Web app**:
localhost
- **Partner dashboard**:
localhost
- Admin: `admin@safevoice.cm`
- Security (Gendarmerie): `gendarmerie@safevoice.cm`
- Government (MINPROFF): `minproff@safevoice.cm`
- Password: `safevoice …