Live demo
See an age check run
Starting a check runs the product's own code and returns a real OpenID4VP request, asking a wallet for one claim and nothing else. No wallet answers this deployment yet, so buttons stand in for that step. They skip verification rather than fake it, and the result says which one answered. No account, and nothing recorded about you either way.
Nothing is stored about you. A check records the yes or no answer and nothing else: no name, no date of birth, no document image.
The request
That code is a real OpenID4VP request, built by the same code a customer integration calls and
carrying the same DCQL query: one claim, age_over_18, and nothing else. No wallet
answers this deployment yet, so use the buttons instead.
Stand in for the wallet
These skip the verification step rather than fake it: no credential is involved, and the answer you
pick is simply recorded. It is marked simulated, never eudi, so it can
never be mistaken for a verified result.
Only a yes or no
The wallet discloses one boolean, age_over_18. No name, no date of birth, no document scan, so there is no identity document to leak later.
A no is a real answer
A valid credential can disclose that the holder is under age. Proving a credential is authentic is a different question from what it says.
Unanswerable is its own state
When a presentation carries no usable claim, the check reports that rather than guessing. A verification product inventing a pass is the worst thing it can do.
Ready when you are
Put this in your checkout or signup
The same check, behind your own API key. Tell us what you are building and we will get you access.