VC use case
Driver license proof of age
Use selective disclosure to prove age from a driver license without exposing address or license number.
- Retail
- Hospitality
- Government
Overview
A driver license credential is issued to a wallet. When age verification is required, the holder discloses only the proof needed for the transaction, such as 18+ status, not their address or license number.
The verifier does not need to inspect or copy a full license. It needs a trustworthy answer to a narrow eligibility question.
Why it matters
Many age checks over-collect data. Retailers and venues often see address, license number, date of birth, and other details when they only need to know whether the person meets an age threshold.
Verifiable Credentials create a cleaner model:
- the transport authority issues a trusted license credential
- the driver stores it in a wallet
- the verifier requests only the age proof needed
- issuer trust and credential status are checked before accepting the proof
This supports privacy while still giving retailers and venues a defensible compliance decision.
Ecosystem roles
- Issuer: Transport authority or motor registry issuing the license credential.
- Holder: Driver storing the credential in a wallet.
- Verifier: Retailer, venue, or service checking age eligibility.
- Trust governance: The rules that define accepted license issuers, selective disclosure format, status checks, and fallback evidence.
Trust decision
The verifier decision is narrow: does this person meet the required age threshold right now?
The verifier should not need to know the person’s address, license number, full date of birth, or unrelated license attributes unless a separate policy requires them.
Privacy and assurance
Selective disclosure is the primary privacy control. The holder can present an age proof while withholding unrelated claims.
Assurance depends on checking issuer trust, proof integrity, credential status, expiry, and whether the disclosed claim satisfies the local threshold, such as 18+.
Implementation notes
- Use selective disclosure so age eligibility can be proven without exposing a full license record.
- Define verifier behavior for expired, suspended, revoked, or unsupported license credentials.
- Keep audit records focused on the verification result, not unnecessary personal data.
- Provide fallback handling where digital license credentials are not yet available.
- Objective
- Prove age eligibility using a driver license Verifiable Credential.
- Description
- Present a selective disclosure proof that confirms age without revealing address or license number.
- Actors
- Transport authority; driver; retailer, venue, or age-restricted service.
- Dependencies
- Selective disclosure support, accepted issuer registry, verifier policy, and credential status endpoint.
- Preconditions
- The driver holds a valid driver license credential in a supported wallet.
- Postconditions
- Age is verified, denied, or escalated without exposing unnecessary license data.
flowchart LR
TRANS@{icon: "tabler:car", label: "Transport authority", pos: "b"} -->|Issues license VC| WAL@{icon: "tabler:wallet", label: "Wallet", pos: "b"}
WAL -->|Present age proof| VER@{icon: "tabler:building-store", label: "Retailer / venue", pos: "b"}
VER -->|Check status| REG@{icon: "tabler: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 license 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
Talk to UNIFY