Anon Aadhaar
- Name: Anon Aadhaar
- URL: https://documentation.anon-aadhaar.pse.dev/docs/intro
- Category: Aadhaar QR zk-proof rail / selective-disclosure government-ID middleware / onchain verifier primitive
- Tags: ethereum-ecosystem
- Summary: Anon Aadhaar is a narrow Aadhaar proof rail, not a full identity stack. It proves a UIDAI-signed QR payload was present, reveals only a small field set when asked, and gives apps signal/nullifier hooks for scoped uniqueness. Useful as lower-layer document-proof plumbing; thin as a standalone personhood system.
- What it does:
- Lets Aadhaar holders generate privacy-preserving proofs from the signed QR payload on an Aadhaar document without sending the raw identity data to an app server
- Verifies inside a zk circuit that the QR payload was signed by the Indian government’s UIDAI RSA public key
- Supports offchain and EVM onchain verification through JS/React SDKs plus a Solidity verifier contract package
- Lets apps request a signal and a nullifier seed alongside the proof, which makes the system useful for scoped authentication, uniqueness, and anti-front-running patterns
- Allows optional reveal of only a limited field set documented in this pass: age-over-18, gender, state, and pincode
- Ships as reusable packages rather than only a demo app, including circuits, contracts, core JS tooling, and React integration components
- Key claims:
- The core mechanism is specific and useful: prove that an Aadhaar secure-QR payload was signed by UIDAI, then disclose little or nothing beyond the requested claim.
- The field surface is intentionally narrow. The current docs only call out four revealable outputs — age-over-18, gender, state, and pincode — which keeps this closer to a constrained proof rail than a general credential wallet.
- Signal and nullifier support are what make the project reusable. That is where scoped uniqueness, app-specific admission rules, and anti-front-running logic enter the system.
- Client-side proving matters because it keeps raw Aadhaar data off app servers, but it also means the local prover flow and the underlying document-signature assumptions do most of the real work.
- The Solidity verifier package is enough to keep this note in the corpus. Anon Aadhaar is a small but clean middleware specimen for teams that want Aadhaar-backed checks inside an EVM app.
- The docs still warn against treating the stack as production-ready without guidance. Read it as a research-grade primitive, not a settled identity rail.
- Whitepaper: No canonical standalone Anon Aadhaar whitepaper surfaced in this pass. The clearest primary materials were the official documentation site, the repository README, the protocol walkthrough, and the package-level READMEs for contracts and React integration; see
../whitepapers/anon-aadhaar-primary-sources-2026-05-11.md. - Sources:
- https://documentation.anon-aadhaar.pse.dev/docs/intro
- https://documentation.anon-aadhaar.pse.dev/docs/how-does-it-work
- https://github.com/anon-aadhaar/anon-aadhaar
- https://raw.githubusercontent.com/anon-aadhaar/anon-aadhaar/main/README.md
- https://raw.githubusercontent.com/anon-aadhaar/anon-aadhaar/main/packages/contracts/README.md
- https://raw.githubusercontent.com/anon-aadhaar/anon-aadhaar/main/packages/react/README.md
Internal linkages
-
Best read beside self-protocol and zkpassport.
-
Treat this as the lower bound in the document-proof branch: signed government data, local proving, sparse field reveal, and app-chosen nullifier policy.
-
Last reviewed: 2026-06-03 UTC