identity · aadhaar ovse
Eumi
An Aadhaar offline-verification identity stack that issues verifiable credentials without ever storing raw Aadhaar data.
Context
Services in India need to verify a person’s identity with Aadhaar, but holding Aadhaar numbers creates legal and security liability. Aadhaar’s Offline Verification (OVSE) path lets a service verify without calling a central API, if the cryptography is handled correctly.
What I built
Eumi is a complete OVSE identity stack:
- A Rust gRPC trust service that verifies Secure QR codes, produces SD-JWT credentials, and handles the live mAadhaar app intent.
- A Fastify core that stores verification evidence encrypted with AES-256-GCM. Raw Aadhaar data is never persisted.
- An Expo wallet for holding the resulting credentials.
- DigiLocker-to-VC issuance, turning DigiLocker documents into W3C Verifiable Credentials.
Status
Live at identity.dhiway.net and demo.ovse.dhiway.net.