SecureVault is a sample Android app showcasing production-grade mobile security practices.
It focuses on doing security correctly — not just enabling features, but proving they work.
- 🔒 Encrypted local database (Room + SQLCipher)
- 🗝️ Keystore-backed secret protection
- 🌐 SSL certificate pinning (OkHttp)
- ✅ Deterministic security tests
- 🧪 Instrumentation test proving encryption at rest
- ⚙️ Hilt dependency injection
- 🚀 GitHub Actions CI
SecureVault is a sample Android app showcasing production-grade mobile security practices.
It focuses on doing security correctly — not just enabling features, but proving they work.
- 🔒 Encrypted local database (Room + SQLCipher)
- 🗝️ Keystore-backed secret protection
- 🌐 SSL certificate pinning (OkHttp)
- ✅ Deterministic security tests
- 🧪 Instrumentation test proving encryption at rest
- ⚙️ Hilt dependency injection
- 🚀 GitHub Actions CI
- SQLCipher encrypts the database
- Encryption key is randomly generated
- Key is encrypted using Android Keystore
- Instrumentation test verifies no plaintext in DB file
- SSL certificate pinning using SPKI hashes
- Pinning enforced at runtime
- MockWebServer tests validate pin success & failure
./gradlew test
./gradlew connectedDebugAndroidTest