Privacy-first digital identity app for Android.
VettID gives you complete control over your digital identity through hardware-secured vaults. Your personal data is encrypted and stored in AWS Nitro Enclaves - even VettID cannot access your information.
- Secure Enrollment - QR code-based credential setup
- Hardware Security - Keys stored in Android Keystore (TEE/StrongBox)
- Biometric Auth - Fingerprint and face authentication
- E2E Encryption - X25519 + XChaCha20-Poly1305
- Vault Communication - Real-time NATS messaging
- PCR Attestation - Verify enclave integrity
- Android 8.0+ (API 26)
- Kotlin 1.9+
- Android Studio Hedgehog or later
app/src/main/java/com/vettid/app/
├── core/
│ ├── crypto/ # X25519, Ed25519, encryption
│ ├── storage/ # Keystore, secure storage
│ ├── network/ # API client
│ ├── nats/ # NATS messaging client
│ └── attestation/ # Hardware Key Attestation
├── features/
│ ├── enrollment/ # QR scanning, credential setup
│ ├── auth/ # Login, biometrics
│ ├── vault/ # Vault status, commands
│ ├── transfer/ # Credential transfer
│ └── voting/ # Vault-based voting
└── ui/
├── screens/ # Compose screens
└── components/ # Reusable UI components
# Debug build
./gradlew assembleDebug
# Release build
./gradlew assembleRelease
# Run tests
./gradlew test- All cryptographic keys stored in Android Keystore (hardware-backed when available)
- Hardware Key Attestation for device integrity verification
- Supports GrapheneOS and other security-focused Android distributions
- No sensitive data in SharedPreferences or plain files
- Stock Android with Google attestation
- GrapheneOS (with hardware attestation support)
- Other ROMs with hardware-backed Keystore
- vettid-dev - Backend infrastructure
- vettid-ios - iOS app
- vettid.org - Website
AGPL-3.0-or-later - See LICENSE for details.
- Website: vettid.org
- Documentation: docs.vettid.dev