← ClaudeAtlas

igrantio-dcql-claim-setslisted

DCQL pattern: claim_sets with fallback for selective disclosure - prefer a minimal boolean claim (is_over_21) and fall back to birth_date only when the preferred claim is unavailable, in an OpenID4VP verification of a PID SD-JWT on the iGrant.io Organisation Wallet Suite. Data-minimised age verification for EUDI Wallet (EUDIW) under eIDAS 2.0 and GDPR.
L3-iGrant/skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill L3-iGrant/skills
# DCQL: claim sets (preferred claim with fallback) ## Scenario A verifier needs an age check. It prefers the minimal boolean `is_over_21`; if the wallet's PID lacks it, the query falls back to `birth_date`. `claim_sets` are ordered - the wallet satisfies the first set it can. **Before you build**: run the integrator intake in `igrantio-ows-overview` - environment, API key, tenancy, backend host, webhooks, frontend - one question at a time, a recommended default with each. ## The DCQL query ```json { "credentials": [ { "id": "pid", "format": "dc+sd-jwt", "meta": { "vct_values": [ "eu.europa.ec.eudi:pid.1" ] }, "claims": [ { "id": "over_21", "path": [ "is_over_21" ] }, { "id": "birthdate", "path": [ "birth_date" ] } ], "claim_sets": [ [ "over_21" ], [ "birthdate" ] ] } ] } ``` ## Run it on OWS 1. Store the query as a presentation definition, keep the `presentationDefinitionId` (`igrantio-ows-overview` api-reference §3). 2. Send the verification request (v3), render QR / DC API, await `presentation_acked` with `verified === true` (api-reference §2). 3. Read the disclosed claim from `presentation[0]` - handle BOTH shapes: the boolean, or a birthdate you must compare yourself. ## Adjust for your deployment - Change th