Age Verification
Prove a user is over a legal age threshold without exposing their identity
One API for age verification at scale. Integrate once, and whoever the user is and whatever they carry, they complete the same check and you get the same answer: over the required age, or not. Never the birth date, the name, or the document number. Built on the EU Digital Identity standards under eIDAS 2.0, so it interoperates with the wider European wallet ecosystem, including the EU age verification "mini wallet".
Prove any threshold you need (16, 18, 21, or any other), online, in the browser, or in person.
One API, every user
One integration covers 100% of your users. Whether someone already carries a government wallet or has nothing but a physical ID, our platform takes them to a verified age check and returns the same single answer. No dead ends, no edge cases to build yourself.
- They have France Identité. Accept a presentation straight from the official app, plus every EU wallet as the scheme rolls out. Nothing is stored on our side; it's a pure check.
- They want a reusable credential. Users import a government-issued credential into our wallet once, then reuse it across services without re-opening the official app.
- They have only a physical ID. We read any European national ID card or modern passport over NFC, verify it against official country signing certificates (passive authentication), and issue an EU PID credential on the spot. Age thresholds are computed at issuance, so the birth date never needs to leave the wallet.
All three run through the same open OpenID protocols mandated by the EU: OID4VCI to get a credential into a wallet, OID4VP to present it.
Protocols
| Purpose | Standard |
|---|---|
| Issuance | OpenID4VCI (pre-authorized code flow) |
| Presentation, remote | OpenID4VP (DCQL) |
| Presentation, in person | ISO/IEC 18013-5 (BLE proximity) |
| Browser-native | W3C Digital Credentials API |
| Credential formats | ISO/IEC 18013-5 mdoc, SD-JWT VC |
| Document authentication | ICAO 9303 (BAC/PACE, passive auth) |
| Trust lists | VICAL / RICAL (ISO 18013-5), ETSI TSL (TS 119 612), LoTE (TS 119 602) |
Every presentation is cryptographically bound to the holder's device, so a copied credential cannot be replayed, and responses are encrypted directly to the verifier.
EU mini wallet alignment
The EU is rolling out the Digital Identity Wallet under eIDAS 2.0, with an age verification "mini wallet" as an early, dedicated step. The driver is political: the European Parliament has called for a harmonized minimum age of 16 for social media (with parental consent for 13–16), and member states such as France and Spain are legislating their own thresholds. Platforms must run effective age checks or face enforcement.
Our stack uses the same data model (EU PID, the eu.europa.ec.av.1 age attestation), the same protocols (OID4VCI, OID4VP), and the same trust model (VICAL/RICAL). A relying party that integrates our verifier today is already integrated with the EU age verification ecosystem, and users without a wallet can be onboarded on the spot from their physical ID.
Use cases
- Social media & online platforms. Enforce the EU's emerging digital minimum age (16, with parental consent for 13–16) and national rules, at sign-up, without collecting identity documents.
- Gambling & gaming. Meet regulatory age-gating for betting and gaming with a frictionless, auditable check.
- Adult content. Comply with online age-verification mandates while preserving user anonymity.
- Alcohol, tobacco & restricted retail. Verify age at checkout for age-restricted goods, online, on delivery, and at the point of sale.
Privacy
- Selective disclosure. The wallet releases only the requested attribute. An age gate gets a single
age_over_18boolean; everything else stays sealed in the wallet. - Age thresholds, not birth dates. The over-18 flag is computed at issuance, so the birth date need not be present in the presentation at all.
- No central tracking. Source data from the NFC read is held for a few seconds, then discarded. The direct France Identité flow stores nothing.
- Hardware-bound, biometric-gated keys. Credentials are tied to the device's secure hardware (Secure Enclave / StrongBox) and unlocked by biometrics.