copy Copy chevron-down
Aadhaar App chevron-right Verifiable Credential Specifications Aadhaar SD-JWT Specifications This page defines the specifications of Aadhaar SD-JWT
1. Introduction
This document defines the Aadhaar Verifiable Credential (VC) format in accordance with the Selective Disclosure JSON Web Token (SD-JWT) standard (RFC 9901arrow-up-right ). The credential allows Aadhaar Number Holders (ANHs) to present Aadhaar demographic attributes in a privacy-preserving , cryptographically verifiable , and selectively disclosable format.
The specification is aligned with:
W3C Verifiable Credentials (v1)
OpenID4VP for verifiable presentation
This document covers only the SD-JWT credential structure.
2. High-Level Structure
An SD-JWT Credential is delivered as:
Copy <issuer-signed-sd-jwt> ~ <disclosures...> Where:
The issuer-signed component contains digests of claims.
The disclosures contain claim plaintexts that the holder chooses to reveal.
3. Protected Header Requirements
The SD-JWT protected header contains:
typ
vc+sd-jwt as per SD-JWT standard.
kid
References the UIDAI issuer signing key stored in the JWKS endpoint.
4. Issuer-Signed Payload (SD-JWT)
The payload includes:
4.1 Mandatory Fields
4.2 Holder Binding ( cnf.jwk )
The credential binds to a public key controlled by the holder (aadhaar app).
Supported key types:
5. Claim Encoding and Selective Disclosure
Aadhaar demographic attributes are encoded using salted-hash digests .
5.1 Claim Process
For every claim:
The digest is included in _sd.
The corresponding disclosure is:
Example digest list:
6. Aadhaar Claim Set
All listed claims are selectively disclosable (Y) — meaning the holder can share them individually.
8. Credential Status
The status field contains a stable URL that returns signed VC status metadata.
Status values:
Status response is digitally signed.
9. Example SD-JWT Payload (Normalised)