Overview
A driver licence credential is issued to a wallet. When age verification is required, the holder discloses only the 18+ proof, not their address or licence number.
Why it matters
Many age checks over-collect data. Selective disclosure protects privacy while still delivering strong assurance to retailers and venues.
Ecosystem roles
- Issuer: Transport authority or motor registry.
- Holder: Driver.
- Verifier: Retailer or venue.
Assurance and lifecycle
The licence Verifiable Credential supports revocation and expiry checks. Verifiers confirm issuer trust and status before accepting proof.
| Objective | Prove age eligibility using a driver licence Verifiable Credential. |
| Description | Present a selective disclosure proof that confirms age without revealing address or licence number. |
| Actors | Issuer; Driver; Retailer or venue |
| Dependencies | Selective disclosure support and status endpoint. |
| Preconditions | Driver holds a valid driver licence credential. |
| Postconditions | Age verified without exposing unnecessary data. |
flowchart LR
TRANS@{icon: "fa:car", label: "Transport authority", pos: "b"} -->|Issues licence VC| WAL@{icon: "fa:wallet", label: "Wallet", pos: "b"}
WAL -->|Present age proof| VER@{icon: "fa:store", label: "Retailer / venue", pos: "b"}
VER -->|Check status| REG@{icon: "fa:book", label: "Registry/status", pos: "b"}
sequenceDiagram
participant Authority as Transport authority
participant Wallet
participant Driver
participant Verifier as Retailer / venue
participant Registry as Registry/status
Authority-->>Wallet: Issue driver licence VC
Driver->>Verifier: Request purchase or entry
Verifier->>Wallet: Request age proof
Wallet->>Wallet: Create SD-JWT age proof
Wallet-->>Verifier: Present selective disclosure proof (SD-JWT)
Verifier->>Registry: Validate issuer and status
Registry-->>Verifier: Valid
Verifier-->>Driver: Allow or deny