Data Encryption
Prinsip
- Encrypt at rest — Data sensitif di local storage harus terenkripsi.
- Encrypt in transit — Semua komunikasi harus via HTTPS (TLS 1.2+).
- Key management — Encryption key disimpan di hardware-backed keystore.
Encryption at Rest
| Platform | Mechanism |
|---|---|
| Android | Android Keystore + AES-256-GCM |
| iOS | Keychain + Data Protection API |
| Flutter | flutter_secure_storage (wraps native) |
| React Native | expo-secure-store / react-native-keychain |
Data yang Wajib Dienkripsi
- ✅ Access token & refresh token
- ✅ User credentials
- ✅ PII (nama, email, nomor telepon, alamat)
- ✅ Data keuangan
- ✅ Data kesehatan
- ❌ Non-sensitive cached data (product list, images)