igrantio-dcql-query-age-verificationlisted
Install: claude install-skill L3-iGrant/skills
# DCQL query: Age Verification
## When to use
Use this template when your service must know that a person passes an age
threshold, and nothing more. The query asks for five boolean flags. Each flag
answers one question, for example "is this person over 18?". The wallet does not
disclose the birth date, the name, or the document number.
Ask only for the thresholds that your law or your policy needs. One flag is
enough for most age gates. Every extra flag is extra personal data.
## Template facts
Registry version: **2026.4.1**.
| Fact | Value |
| --- | --- |
| Title | Age Verification |
| Purpose | Age Verification |
| Credential type (doctype) | `eu.europa.ec.av.1` |
| Namespace | `eu.europa.ec.av.1` |
| Format | `mso_mdoc` |
The registry holds one format for this template. There is no SD-JWT VC file and
no JWT VC file.
## Claims
### Format `mso_mdoc`
```json
{
"claims": [
{
"path": ["eu.europa.ec.av.1", "age_over_14"]
},
{
"path": ["eu.europa.ec.av.1", "age_over_16"]
},
{
"path": ["eu.europa.ec.av.1", "age_over_18"]
},
{
"path": ["eu.europa.ec.av.1", "age_over_21"]
},
{
"path": ["eu.europa.ec.av.1", "age_over_65"]
}
]
}
```
## How to read the `path` arrays
For `mso_mdoc`, the `path` array holds exactly two elements:
1. the **namespace**, here `eu.europa.ec.av.1`;
2. the **data element name**, here the age flag.
The namespace and the doctype carry the same string in this template. They are
sti