← all systems

identity · aadhaar ovse

Eumi

An Aadhaar offline-verification identity stack that issues verifiable credentials without ever storing raw Aadhaar data.

role
Engineer across trust service, core API and wallet, Dhiway
year
2025
status
live
stack
Rust · gRPC · Fastify · Expo · AES-256-GCM

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.