Enkripsi Transit
Semua koneksi wajib HTTPS/TLS 1.3 via Certbot (Let's Encrypt). HSTS enabled. HTTP redirect ke HTTPS.
Enkripsi At Rest
Database SQLite di VPS dengan disk encryption (LUKS). Backup terenkripsi. Tidak ada cloud storage eksternal.
Password Hashing
bcrypt cost factor 12 (industri standard). Tidak pernah menyimpan password plaintext.
Session Security
Flask-Session dengan HttpOnly, Secure, SameSite=Lax cookies. CSRF protection di semua form POST.
Infrastruktur & Hosting
- Server: VPS di Indonesia (AWS Jakarta / lokal provider)
- OS: Debian 13 hardened, auto security updates (unattended-upgrades)
- Firewall: UFW — hanya port 22 (SSH key only), 80, 443 terbuka
- SSH: Key-based auth only, root login disabled, fail2ban active
- Process: Gunicorn 4 workers behind Nginx reverse proxy
- Monitoring: systemd watchdog, log rotation, error alerting
Data Minimization & Isolation
- Hanya simpan data yang benar-benar dibutuhkan fitur
- Data kesehatan & PII terpisah dari log teknis
- AI Gateway internal — request analisis tidak keluar VPS, tidak ke OpenAI/Google
- Foto makanan disimpan lokal
/uploads, tidak di CDN/cloud - Midtrans & Fonnte hanya terima data transaksional/WA, tidak data kesehatan
Incident Response
1
Deteksi — Log monitoring, fail2ban alerts, error rate spike
2
Kontainmen — Block IP, restart service, revoke session
3
Investigasi — Analisis log, cek integrity DB, identifikasi vektor
4
Notifikasi — Email ke user terkena dalam 72 jam (jika PII bocor)
5
Pemulihan — Patch vuln, rotate secret, restore backup bersih
Penilaian Kerentanan & Penetrasi
- Dependency scanning:
pip-audittiap deploy - SAST: Bandit scan di CI
- Penetration test manual: tiap 6 bulan (internal)
- Bug bounty: security@cerna.id (responsible disclosure, reward tersedia)
Compliance & Standar
- UU PDP (Indonesia): Data minimization, consent, hak subjek data, DPO
- GDPR-ready: Akses, hapus, portabilitas, privacy by design
- ISO 27001 aligned: A.5–A.18 controls implemented where applicable
- OWASP Top 10: Mitigasi A01–A10 (injection, broken auth, sensitive data exposure, dll)
Checklist Cepat Untuk User
- Gunakan password unik & kuat (min 12 char, password manager)
- Aktifkan 2FA via Google OAuth (lebih aman dari password-only)
- Jangan share link reset password / session ke orang lain
- Logout dari device publik / tidak dipakai
- Periksa email notifikasi login baru
- Laporkan aktivitas mencurigakan ke security@cerna.id
Kontak Keamanan
Menemukan kerentanan? Laporkan ke security@cerna.id — kami balas < 48 jam. PGP key tersedia on request.