Skip to content

Regulated access

Age verification

Eligibility checks for regulated retail, social platforms, and hospitality with zero-knowledge paths and no standing profile at the verifier. AffixIO returns ML-DSA-65 signed allow or deny. Underlying records stay in systems that already own them. Auditors review proof metadata, not document images.

AGE GATESZK PROOFZERO PIIML-DSA-65RETAILPLATFORMS

At a glance

Product
Privacy-preserving yes or no age eligibility verification
Scope
Retail, hospitality, social platforms, gaming
Method
Noir zero-knowledge circuits prove age predicates
Retention
Zero PII at verifier by default
Signatures
ML-DSA-65 post-quantum
Regulation
Architectural alignment with GDPR Article 25

Privacy-preserving age verification returns a signed allow or deny that a user meets an age predicate without uploading identity documents to every vendor database. AffixIO proves the rule was satisfied without revealing date of birth or document images at the boundary.

The challenge

Why age checks create privacy risk

Age checks often require uploading identity documents to yet another vendor database. That creates privacy risk and regulatory scope expansion.

Document hoarding

Each retailer and platform builds a copy of ID images. Breach surface multiplies.

Regulatory scope

Storing age verification data triggers GDPR duties beyond the original check.

Platform liability

Social platforms need defensible evidence of age gating without retaining minors' documents.

False positives

Manual review queues are slow and still store sensitive images.

Use cases

Age verification scenarios

Any context that needs a binary over-18 or over-16 outcome without a standing identity file.

Regulated retail

Alcohol and age-restricted goods at self-checkout and staffed tills.

retail gate

Social platforms

Account creation and content access gates with minimal data.

platform API

Hospitality

Bar and venue entry without copying passport images.

venue scan

Gaming and gambling

Jurisdiction-specific age rules as circuit predicates.

jurisdiction

Delivery apps

Courier handoff verification without ID photo retention.

delivery

Parental consent

Verify guardian authority without exporting family records.

consent ZK

Proof pipeline

How verification works

  1. 01

    Issue

    Policy authority defines a Noir circuit for the rule set. Witness inputs come from systems that already own the records.

  2. 02

    Bind

    Proof is bound to event context: programme ID, expiry, geography, and anti-replay nonce. ML-DSA-65 signature applied at issue.

  3. 03

    Present

    User, agent, or device presents the credential via API call or secure QR at the service boundary.

  4. 04

    Verify

    Verifier receives allow or deny plus Merkle reference. No personal data retained at the verifier by default.

Stack

Technical foundation

ML-DSA-65Post-quantum signatures
NoirZero-knowledge circuits
MerkleAudit anchoring
RESTOpenAPI 1.4.2
SDK@affix-io/sdk
QROffline spent-proof

Test health_age and yesno circuits in the sandbox. Read the privacy-preserving age verification whitepaper.

FAQ

Frequently asked questions

Does AffixIO store identity documents?

No. AffixIO returns allow or deny with signed proof. Documents stay with the issuer or user wallet.

How is date of birth protected?

Zero-knowledge circuits prove age predicates without revealing the underlying date of birth value.

Which regulations apply?

Architectural alignment with UK GDPR, EU GDPR Article 25, and Online Safety Act age-gate patterns. Not a certification claim.

Can verification work offline?

QR-based credentials can verify at the boundary without live API calls.

What circuits are available?

See the circuit catalogue for health_age and custom predicate circuits.

How do platforms integrate?

REST API, Node.js SDK, or secure QR presentation at the access gate.

Get started

Validate age verification on the live sandbox, then scope a pilot with engineering.