Log in

Identity verification without data custody

Run compliance checks, confirm user eligibility, and detect bots through one open SDK. Users prove what you need on their own device. You get the answer, without ever touching the underlying data.

Three iPhones running the ZKPassport app over a deep-blue arched backdrop

One integration for...

01/ Eligibility checks

Perform age or nationality verifications to gate access.

Used for age-restricted platforms, compliance with UK/EU regulations, regional ticketing, ecosystem grants, and other geo-gated programs.

Aztec

Met age verification requirements across jurisdictions for its $60M token sale.

Built so there’s nothing to leak

The honeypot doesn’t exist because the data was never collected. The phone does the work; only the answer reaches your servers.

Hand holding a phone scanning a passport, with the camera and chip-reader icons highlighted in gold
Step /01

User scans their ID

  • Reads NFC chips on government IDs across 130+ countries. Verification relies on the chip’s cryptographic signature, so deepfakes, forgeries, and AI-generated IDs can’t pass.
  • An optional liveness check verifies the person holding the phone is the ID owner.
Hand holding a phone showing a privacy-first lock screen with Data and Proof flow labels around it
Step /02

Phone creates a proof

  • The passport’s digital signature is verified against the issuing country’s certificate, preventing forged or AI-generated documents.
  • A cryptographic proof of the result is generated on-device. You verify the proof; the passport data never leaves the user’s phone.
Two hands holding a phone showing the ZKPassport request screen with 18+ and shield-check badges floating beside it
Step /03

Verify what you need

  • You receive a cryptographic proof confirming the user meets your requested attributes, verifiable in milliseconds via our SDK, or onchain.
  • Proofs are stored in your dashboard to serve as an audit trail.
Start building

Six lines and an SDK call

Self-serve dashboard. SDKs for TypeScript. On-chain verifiers for Ethereum, Base, Aztec and other EVM chains.

Sign in with Google → First verification in minutes
ZKPassport dashboard showing total proofs, pass rate, P50 latency, a daily-proofs chart, and a recent-proofs table
FAQ

The questions prospects ask

What user data is stored?

User personal data never leaves their own devices. No data is stored on ZKPassport servers, and no user data is ever sent to your servers. There’s nothing to breach, leak, or delete, and no data custody compliance for you to worry about.

How does it actually work?

The user taps their passport against their phone. Their device reads the NFC chip, verifies the issuing country signature, and generates a zero-knowledge proof that satisfies your predicates (e.g. over_18, not_sanctioned, unique). You verify the proof in your backend or on-chain. The underlying data never leaves the phone.

How do you stop spoofing or sybil attacks?

A real passport with a working chip is hard to fake, the issuing country’s signature is checked on-device against ICAO’s public-key infrastructure. And one passport produces one nullifier per app, so the same person can’t quietly create two accounts.

Which documents and countries are supported?

Passports, National ID cards and Residence Permits with a NFC from 130+ countries. Coverage tracks the ICAO 9303 standard if a country issues a chipped travel document, it works. The full registry is published in the docs.

How can it be free?

Other identity providers charge per verification because they sit in the middle; running OCR, hosting selfie review, paying data providers for registry lookups. We don’t do any of that. The verification is a pure cryptographic check between the chip in the user’s ID and your backend. We’re never in the loop, so there’s nothing to bill you for. Add-on services (white-label apps, hosted analytics, premium support) may carry a fee, but the verification itself is free.

Will my users see ZKPassport branding?

Today, yes; users install the ZKPassport app to scan their document. We’re rolling out iOS App Clips so the scan can happen inline in your flow without a separate install. White-label is on the roadmap for enterprise customers.

Get in touch

Tell us what you
need to verify

Or skip the form read the docs and integrate today