Extract a passport, review it, then prove your age, nationality, or that your credential is not expired — and submit only that proof to Ethereum. Aletheia lets you prove a fact about a document without handing over the document.
🔒 Private by design — nothing is stored. Your passport is read, and the proof is generated, entirely in this browser. There is no server and no database; we never receive or store your document, photo, date of birth, or document number. Only a zero-knowledge proof and its public signals are submitted on-chain — never the underlying data. The one deliberate exception: a nationality proof reveals the nationality you choose to prove (you acknowledge this before proving). Age and “not expired” proofs reveal only that the fact holds.
mock-devPhase 1 demo, on the Sepolia test network — the fees you see are free test ETH, not real money. Today a labelled mock issuer signs the credential and verifies no identity, so a record here proves a real proof was checked on-chain, never a real passport. Next: a trusted issuer — DigiLocker, or the passport’s own ICAO e-passport chip signature — attests the credential so the proof carries real-world weight. The zero-knowledge layer, contracts, and flow stay exactly the same; only the issuer becomes real.
1 Load a passport
Try a demo passport
One click loads fictional passport data (valid ICAO check digits, invented people) straight into review. Every sample is fabricated — DEMO / SYNTHETIC DATA — NOT A REAL PASSPORT.
Or use a real one below — paste the two MRZ lines from any passport, or upload a scan/PDF. The parser is a full ICAO 9303 TD3 reader (check digits and all), so it works on any real passport’s machine-readable zone, not just these samples. It is parsed on this device and never leaves it.
“Use sample MRZ” fills a fabricated MRZ (valid check digits) to demonstrate the on-device parser — DEMO / SYNTHETIC DATA — NOT A REAL PASSPORT.