How Zero-Knowledge Proofs Work for KYC, and What GDPR Still Requires
A zero-knowledge proof for KYC lets a customer prove a statement about an identity check they have already passed, such as "KYC completed at the required level within the last 12 months" or "resident in this market", so a business receives a cryptographically checkable yes or no without receiving the passport, selfie or address behind it. The check still happens once, at a trusted issuer. What changes is how many copies of the evidence end up in other companies' databases.
One limit is worth stating up front. Zero-knowledge proofs reduce copies of identity data. They do not remove legal obligations to keep records.
Key takeaways
- An issuer runs the check and signs a credential, the customer holds it, and a verifier receives only a proof of the rule it asked about.
- Predicate proofs answer a rule ("KYC level is at least Y") without disclosing the underlying value.
- Revocation handles credentials that are no longer valid. Nullifiers stop one person claiming the same benefit twice.
- The approach maps to GDPR Articles 5(1)(c), 5(1)(e) and 25, and keeps Article 9 biometric data away from verifiers.
- AML-obliged firms still keep due diligence records for five years, including under Article 77 of the EU AML Regulation from 10 July 2027.
How do zero-knowledge proofs work for KYC?
A zero-knowledge proof lets a prover convince a verifier that a statement is true without revealing anything else. In KYC, the proof shows that a credential signed by the organisation that ran the check meets the verifier's rule, without exposing its contents.
The concept comes from Goldwasser, Micali and Rackoff's 1985 paper. A sound system means a false statement fails except with negligible probability, and zero-knowledge means the verifier learns nothing it could not have produced by itself.
Four terms do most of the work:
- Issuer. An organisation that already ran a check, such as a bank, fintech or KYC-licensed partner. It signs a credential with attributes like KYC level, residency and check date.
- Statement. The public claim, for example "signed by an accepted issuer, not revoked, residency on the permitted list".
- Witness. The private inputs that make the statement true: the credential, its values, the issuer's signature and the holder's secret key. It never leaves the holder.
- Verifier. The business that sets the rule and checks the proof against the issuer's public key.
The W3C Verifiable Credentials Data Model v2.0, a W3C Recommendation since 15 May 2025, formalises this issuer, holder and verifier model.
Predicate proofs
Selective disclosure reveals an attribute as it is. A predicate proof reveals only whether a condition over it holds:
- Residency in market X: the residency attribute is in a permitted set, without saying which country.
- KYC passed at level Y: the assurance level is greater than or equal to Y.
- Checked within 12 months: a range proof that the check date is after a threshold.
Revocation and nullifiers
The W3C Bitstring Status List v1.0 lets issuers publish revocation status, and its privacy section warns that a status list index can act as a correlation handle. Privacy-focused designs therefore prove non-revocation inside the proof.
A nullifier is a value derived from the holder's secret and a context, such as a sign-up offer. It is identical every time the same person proves in that context, but unlinkable across contexts. As the Semaphore documentation explains, the verifier stores it to reject a second attempt without learning who the person is. That is how one person is stopped from opening ten accounts for ten welcome bonuses.
Step by step: a zero-knowledge KYC check
- The issuer runs a regulated check once and keeps the records its licence requires.
- The issuer signs a credential with attributes such as KYC level, residency and check date.
- The customer holds the credential, bound to a secret key they control.
- A verifier requests a proof of a rule, for example "approved market, KYC level 2 or higher, checked in the last 12 months".
- The customer reviews the request and consents.
- The customer's device generates the proof and sends it with a context nullifier where needed.
- The verifier checks the proof against the issuer's public key, revocation status and its nullifier store.
- The verifier records the outcome (rule, issuer, result, timestamp) without ever receiving the document image, selfie or address.
How can a business verify a customer's eligibility without storing ID documents?
A business can verify eligibility without storing ID documents by accepting a signed credential from an issuer that already ran the check and requesting a proof of the specific condition it needs. The table compares five models.
| Approach | What the business receives | What it typically retains | Linkable across services | Standards status (mid-September 2026) |
|---|---|---|---|---|
| Full document collection | Document image, selfie, extracted data | Everything collected | Yes | Established practice |
| Redacted document storage | Document image with fields masked | Masked image, extracted fields | Yes | Established practice |
| IDV vendor yes/no API | Pass or fail | The result; the vendor holds the documents | Yes, via the vendor | Proprietary APIs |
| Selective-disclosure credentials (SD-JWT VC, BBS) | Chosen attributes, in clear | Disclosed attributes | SD-JWT: yes, unless batch-issued. BBS: designed to be unlinkable | SD-JWT is RFC 9901; SD-JWT VC is an IETF draft awaiting IESG approval; BBS is a W3C Candidate Recommendation Draft and an IRTF draft |
| Zero-knowledge predicate proofs | Proof that the condition holds | Result, issuer, rule, timestamp, nullifier | Designed to be unlinkable | Implementation-specific |
RFC 9901 notes that presentations of one SD-JWT to different verifiers can be linked, because the issuer-signed part stays constant. BBS avoids that, but disclosing an attribute is not the same as proving a range over it, which needs further zero-knowledge constructions. The presentation layer is more settled: OpenID for Verifiable Presentations 1.0 became a Final Specification in July 2025.
Why stored documents are a liability is covered in our analysis of identity verification data storage risk.
Privacy-preserving identity verification for GDPR compliance
Privacy-preserving identity verification supports GDPR compliance by letting a controller make the same eligibility decision while collecting and retaining far less personal data. The GDPR does not mandate zero-knowledge proofs, but its core principles describe what they achieve.
| GDPR provision | What it requires | Where zero-knowledge proofs help |
|---|---|---|
| Article 5(1)(c), data minimisation | Data "limited to what is necessary" | The verifier receives the answer, not the document |
| Article 5(1)(e), storage limitation | Identifiable data kept no longer than necessary | Little identifiable data reaches the verifier at all |
| Article 25, data protection by design and by default | Measures implementing minimisation; only necessary data processed by default | Minimisation is enforced by the protocol, not a retention schedule |
| Article 9, special category data | Biometric data used to uniquely identify a person is prohibited unless an exception applies | Face matching stays with the issuer |
Spain's data protection authority has held that a stored face template used for one-to-one authentication is special category data, as we examined in our piece on the AEPD ruling. The cost of keeping biometrics after the check is covered in our analysis of biometric data retention liability.
Two cautions apply. First, a proof result attached to a customer account is still personal data. Recital 26 treats pseudonymised data that can be attributed to a person using additional information as information on an identifiable person. In EDPS v SRB (C-413/23 P), decided on 4 September 2025, the Court of Justice held that pseudonymised data are not personal data in all cases and for every person. But a verifier that links a proof to its own customer can identify that customer, so the GDPR still applies.
Second, the issuer remains a controller for the check it ran. For how attribute-level credentials are defined in EU law, see our guide to qualified electronic attestations of attributes.
The AML record-keeping tension
Zero-knowledge proofs reduce copies of identity evidence. They do not cancel record-keeping duties for firms that must perform customer due diligence.
- Today: Article 40 of Directive (EU) 2015/849 requires obliged entities to keep due diligence documents and information for five years after the relationship ends, extendable by Member States by up to five more years.
- From 10 July 2027: Article 77 of Regulation (EU) 2024/1624 requires retention of copies of due diligence documents and information, including information obtained through electronic identification means, for five years, then deletion unless other law requires otherwise.
- Internationally: FATF Recommendation 11 sets a five-year minimum for identification records.
Relying on another firm's due diligence does not move accountability either: the relying obliged entity remains ultimately responsible.
In practice this is a division of labour. The issuer keeps the evidence its licence requires. A verifier that is itself an obliged entity keeps what its supervisor expects, which may be more than a proof result. A verifier outside AML scope, such as a marketplace checking residency, usually needs only the outcome.
AIR Identity: a working implementation
AIR Identity, built by Moca Network, applies this model to customer acquisition as well as compliance, with two sides.
Issuers such as banks, fintechs, platforms and KYC-licensed partners turn checks they have already run into reusable, user-held credentials: passed KYC, residency, membership tier, account tenure or unique person. They set a network fee and earn it when partners verify those credentials. zkMe joined Moca Chain as a credential issuer in July 2025.
Verifiers request a proof of just the fact they need and, with the user's consent, receive a yes or no via zero-knowledge proofs, paying only upon receipt of verification. The commercial value is acquisition: reaching people who already hold the credentials a platform requires, instead of paying for bots and sign-ups that never qualify. We call this credential-matched user acquisition.
Verifiers receive the answer rather than the raw data behind it, so data retention stays minimal. AIR Identity is built to support GDPR, CCPA and India's DPDP Act, and works with licensed KYC providers. Each verifier remains responsible for deciding whether a credential satisfies its own regulatory requirements in its jurisdiction.
Frequently asked questions
What is the difference between selective disclosure and a zero-knowledge proof?
Selective disclosure reveals chosen attributes in clear, such as a country of residence, and hides the rest. A zero-knowledge predicate proof reveals only that a condition holds, such as residency being on an approved list.
Does using zero-knowledge proofs make identity verification GDPR compliant?
Not on its own. Zero-knowledge proofs support data minimisation, storage limitation and data protection by design and by default. The controller still needs a lawful basis, transparency, security and a retention policy for the proof results it keeps, which are usually personal data.
Do regulated firms still need to keep KYC records if they accept zero-knowledge proofs?
Yes, where they are AML-obliged entities. The EU AML Directive requires five-year retention of due diligence records today, and Article 77 of the AML Regulation keeps a five-year baseline from 10 July 2027. Zero-knowledge proofs reduce copies; they do not remove the obligation.
What is a nullifier in zero-knowledge identity?
A nullifier is a value derived from the holder's secret and a specific context, such as a promotion. It is the same each time that person proves in that context, so a verifier can reject a duplicate claim, but it reveals nothing about who the person is and cannot be matched across contexts.
How does a verifier know a zero-knowledge credential has not been revoked?
The issuer publishes revocation status, for example with the W3C Bitstring Status List, and validity is checked at presentation. Privacy-focused designs prove non-revocation inside the proof, so the verifier does not learn a list position that could correlate the holder.
Related reading
- 153M ID scans leaked: why verification archives are the target
- Biometric data retention: the 2026 case for minimisation
- Spain: stored face templates are special category data
- What is a QEAA? Qualified attestations explained
Want to onboard customers who can already prove what you need? See how AIR Identity works, or partner with us to grow your business.
Sources
- Goldwasser, Micali and Rackoff, The Knowledge Complexity of Interactive Proof-Systems (ACM STOC 1985)
- W3C, Verifiable Credentials Data Model v2.0
- W3C News, Verifiable Credentials 2.0 family becomes a W3C Recommendation (15 May 2025)
- W3C, Bitstring Status List v1.0
- W3C, Data Integrity BBS Cryptosuites v1.0
- IRTF CFRG, The BBS Signature Scheme
- IETF, RFC 9901: Selective Disclosure for JSON Web Tokens
- IETF, SD-JWT-based Verifiable Digital Credentials (SD-JWT VC)
- OpenID Foundation, OpenID for Verifiable Presentations 1.0 Final Specification approved
- Semaphore documentation
- GDPR Article 5, Article 9, Article 25 and Recital 26
- Court of Justice of the EU, Press release 107/25, EDPS v SRB (C-413/23 P)
- Directive (EU) 2015/849
- Regulation (EU) 2024/1624
- FATF Recommendations
Partner with AIR
AIR is one integration suite for identity, money and loyalty. AIR Identity lets trusted issuers issue verifiable credentials and businesses verify them, so acquisition starts with users who already qualify, with minimal data custody. AIR Money embeds compliant global financial infrastructure, opening new markets without building new rails. AIR Loyalty gives brands a programmable, stable-value points engine that keeps users coming back.
Partner with us to grow your business.
AIR is built by Moca Network, the identity network of Animoca Brands.




.png)