Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

SD-JWT-VC

SD-JWT-VC is a W3C-standardized format for creating Verifiable Credentials using JSON Web Tokens that allows a holder to cryptographically reveal only specific claims to a verifier.
Chainscore © 2026
definition
DECENTRALIZED IDENTITY STANDARD

What is SD-JWT-VC?

SD-JWT-VC is a W3C-standardized format for creating cryptographically secure, privacy-preserving Verifiable Credentials using JSON Web Tokens and selective disclosure mechanisms.

SD-JWT-VC (Selective Disclosure for JWT-based Verifiable Credentials) is a technical specification that defines how to issue and present Verifiable Credentials (VCs) using the JSON Web Token (JWT) format while enabling selective disclosure. This allows a holder to prove specific claims from a credential—such as their age being over 21—without revealing the entire document, their name, or other irrelevant attributes. It combines the established JWT structure with advanced cryptographic techniques like hash-based digests and key binding to create a compact, interoperable, and privacy-enhancing credential format standardized by the W3C and IETF.

The architecture relies on a JSON Web Signature (JWS) that contains disclosed claims and a set of cryptographic digests representing the undisclosed claims. During presentation, the holder discloses only the necessary claims and provides the corresponding digests, allowing the verifier to cryptographically confirm the integrity of the entire original credential without seeing its full contents. A critical security feature is Key Binding, which cryptographically ties the presentation to a specific holder's public key, preventing unauthorized replay of the credential by a different party.

Compared to other VC formats like JSON-LD with BBS+ signatures, SD-JWT-VC offers distinct advantages: it leverages widely adopted JWT libraries, results in smaller payload sizes, and provides simpler cryptographic agility. Its primary use cases include age verification, employer attestations, and KYC proofs where minimizing data exposure is legally or practically required. The format is a core component of emerging digital identity wallets and ecosystems like the European Digital Identity (EUDI) Wallet framework.

etymology
DECODING THE ACRONYM

Etymology & Origin

The term SD-JWT-VC is a compound acronym that reveals its layered technical lineage, combining standards from the decentralized identity and selective disclosure ecosystems.

SD-JWT-VC stands for Selective Disclosure JSON Web Token Verifiable Credential. This name is a precise technical descriptor formed by concatenating three established concepts. The SD-JWT (Selective Disclosure JWT) component originates from the IETF draft specification for a token format enabling cryptographic hiding of claims. The VC (Verifiable Credential) component is drawn from the W3C's foundational data model for expressing cryptographically verifiable digital credentials. The hyphen signifies their combination into a single, interoperable artifact.

The development of SD-JWT-VC was driven by the need to solve a key limitation of standard JWT-based VCs: all data is transparently visible to every verifier. The selective disclosure mechanism, inspired by earlier cryptographic constructs like CL-signatures and BBS+ signatures, allows a holder to reveal only specific claims from a credential while still providing a valid cryptographic proof for the entire package. This merges the presentation flexibility of advanced signature schemes with the deployment simplicity and widespread library support of the JWT format.

The specification's evolution is a collaborative effort, primarily documented in two IETF drafts: draft-ietf-oauth-selective-disclosure-jwt (defining the core SD-JWT) and draft-terbu-oauth-sd-jwt-vc (profiling it for use with W3C VCs). This origin within the IETF OAuth Working Group underscores its design for internet-scale interoperability and integration with existing OAuth 2.0 and OpenID Connect ecosystems, distinguishing it from credential formats native to specific distributed ledger platforms.

key-features
SD-JWT-VC

Key Features & Technical Characteristics

SD-JWT-VC is a W3C standard for creating cryptographically verifiable credentials with built-in, granular data minimization. It combines JSON Web Tokens (JWT) with selective disclosure mechanisms.

01

Selective Disclosure

The core feature enabling data minimization. A holder can reveal only specific claims from a credential without disclosing the entire document. This is achieved using hash-based digests for undisclosed claims and cryptographic salts to prevent correlation.

  • Example: A user can prove they are over 21 from a driver's license credential without revealing their exact birthdate or address.
02

JWT-Based Structure

Builds upon the established JSON Web Token (JWT) standard (RFC 7519), using a signed JWS (JSON Web Signature) as the base. This provides:

  • Standardized Signatures: Leverages well-understood algorithms like ES256.
  • Interoperability: Compatible with existing JWT libraries and infrastructure.
  • Compact Serialization: The credential can be transmitted as a compact string via URLs or QR codes.
03

Disclosure Digests & Salts

Undisclosed claims are replaced in the JWT by SHA-256 digests. Each claim is hashed together with a unique, random salt provided by the issuer.

  • Prevents Correlation: Unique salts ensure the same claim value (e.g., 'name=Alice') produces a different digest in every issued credential.
  • Enables Verification: The verifier receives the disclosed claims and their salts, recomputes the digests, and matches them against the digests in the signed JWT to prove integrity.
04

Holder Binding & Key Proof

Prevents credential replay by cryptographically binding the credential to its rightful holder. This is done via a Key Binding JWT (KB-JWT).

  • The holder proves possession of a private key when presenting the credential.
  • The verifier checks the KB-JWT signature against the holder's public key, which is embedded in the SD-JWT-VC by the issuer.
06

Comparison to ZK-Proofs

Contrasts with Zero-Knowledge Proof (ZKP) credentials like zk-SNARKs.

  • SD-JWT-VC: Reveals the actual data values of selected claims. Simpler, uses standard crypto.
  • ZK-Proofs: Proves a statement about data (e.g., 'age > 21') without revealing any underlying data. More complex, requires specialized circuits. SD-JWT-VC is often preferred for use cases where revealing some plaintext data is acceptable.
how-it-works
TECHNICAL DEEP DIVE

How SD-JWT-VC Works: The Mechanism

SD-JWT-VC (Selective Disclosure for Verifiable Credentials using JSON Web Tokens) is a W3C-standardized framework that enables the cryptographic issuance and verification of credentials with granular, user-controlled data sharing.

The core mechanism of an SD-JWT-VC is a digitally signed JSON Web Token (JWT) issued by a trusted entity, which contains a set of disclosure digests instead of plaintext claim values. For each claim (e.g., birthdate, address), the issuer creates a cryptographic hash of the claim value combined with a random salt. These digests are included in the JWT, while the actual claim values and their salts are packaged separately as disclosures and given to the holder. This separation ensures the signed JWT remains constant, while the holder controls which disclosures to reveal.

When a holder needs to present the credential, they perform selective disclosure by sending the base JWT along with only the specific disclosure objects for the claims they wish to share. The verifier can then independently re-compute the digest for each provided disclosure and check it against the corresponding digest in the signed JWT. This process cryptographically proves that the revealed data is authentic and unaltered, as it was part of the original issuer-signed payload, without exposing any undisclosed information.

The architecture relies on two key JWT components: the Issuer-signed JWT, which is the constant, signed core containing digests, and the optional Holder Binding JWT, which cryptographically links the credential presentation to a specific holder's key, preventing unauthorized replay. This combination provides a robust system for privacy-preserving verification, enabling use cases like age verification without revealing the exact birthdate or credential sharing with minimal data exposure across decentralized ecosystems.

visual-explainer
DATA MODEL

Visual Explainer: The SD-JWT-VC Data Structure

A technical breakdown of the SD-JWT-VC's layered structure, showing how selective disclosure and verifiable credentials are combined.

An SD-JWT-VC (Selective Disclosure JSON Web Token Verifiable Credential) is a structured data object that packages a digitally signed credential with a set of cryptographic digests, enabling the holder to selectively reveal specific claims. It is composed of two primary, linked components: the SD-JWT itself, which contains the issuer's signature and the disclosed claims, and a separate Key Binding JWT (KB-JWT), which is used to cryptographically bind the credential presentation to a specific holder. This structure separates the issuer's attestation from the holder's proof of possession, a core principle of holder-centric identity.

The SD-JWT payload is a JSON object where certain claim values are replaced with cryptographic disclosure digests. For example, a credential containing "name": "Alice", "age": 30, "id_hash": "abc123" might be transformed so that only "name" is in plain text, while "age" and "id_hash" are replaced with their SHA-256 digests. The corresponding disclosures—arrays containing the salt, claim name, and claim value—are sent alongside the SD-JWT but are not signed. The verifier uses these disclosures to recompute the digests and validate which claims were legitimately part of the original, signed credential.

The Key Binding JWT is a critical anti-theft mechanism. When presenting the credential, the holder creates this second JWT, signed with their own private key. It includes a cryptographic hash of the SD-JWT (sd_hash) and a nonce or audience value provided by the verifier to prevent replay attacks. The verifier checks this signature against the holder's public key (often embedded in the SD-JWT) to confirm the presenter is the legitimate holder who controls the required cryptographic keys, fulfilling the key binding requirement.

This layered architecture enables precise data minimization. A holder can present only the digests for non-disclosed claims, proving they could reveal them without actually doing so. The verifier's validation process is methodical: 1) Verify the SD-JWT issuer signature, 2) Recompute digests from provided disclosures to confirm claim integrity, 3) Verify the Key Binding JWT signature and its binding to the SD-JWT. This process ensures the credential is tamper-evident, was issued to the presenter, and that the disclosed data is exactly what the issuer attested.

examples
PRACTICAL APPLICATIONS

Examples & Use Cases

SD-JWT-VC enables selective disclosure for verifiable credentials, allowing users to prove specific claims without revealing their entire credential. This is critical for privacy-preserving identity and access management.

02

Financial KYC & Credit Scoring

A bank can issue a credential containing a user's full KYC data and credit score. The user can then:

  • Prove citizenship to a crypto exchange for regulatory compliance.
  • Disclose only a credit score range (e.g., score_tier: "A") to a lender for a loan application.
  • Share account ownership without revealing the account number. This minimizes data exposure while meeting Anti-Money Laundering (AML) requirements.
03

Professional Credential Portability

A university issues a verifiable credential for a degree. A job applicant can selectively disclose:

  • The degree type and field of study.
  • The graduation year (but not the exact date).
  • A GPA range (e.g., gpa > 3.5). The employer verifies the credential's authenticity from the trusted issuer without seeing the applicant's full academic transcript or student ID.
04

Healthcare Data Sharing

A hospital issues a vaccination credential. A patient can prove vaccination status for entry to a venue without revealing their medical record number, the specific vaccine lot, or other visit details. The cryptographic binding between the disclosed claims and the original issuer signature ensures the data's integrity and authenticity.

PRESENTATION LAYER COMPARISON

SD-JWT-VC vs. Other VC Presentation Methods

A technical comparison of Verifiable Credential presentation formats based on core architectural properties.

Feature / PropertySD-JWT-VC (IETF)JSON-LD (W3C)AnonCreds (Hyperledger)

Core Data Format

JSON Web Token (JWT)

JSON-LD

CL-Signatures (Camenisch-Lysyanskaya)

Selective Disclosure

Cryptographic Binding

Digital Signature (JWS)

Linked Data Proofs

Zero-Knowledge Proofs (ZKP)

Presentation Unlinkability

Presentation Size

Compact (KB range)

Large (10s of KB)

Compact (KB range)

Standardization Body

IETF

W3C

Community / Hyperledger

Primary Use Case

API-based, Web Auth

Semantic Web, Interop

Privacy-First, SSI Wallets

Signature Verification Complexity

Low

High (Graph Canonicalization)

High (ZKP Verification)

security-considerations
SD-JWT-VC

Security & Privacy Considerations

Selective Disclosure JSON Web Tokens for Verifiable Credentials (SD-JWT-VC) is a cryptographic standard enabling privacy-preserving, user-controlled data sharing. This section details its core security mechanisms and privacy features.

01

Selective Disclosure

The core privacy feature that allows a holder to reveal only specific claims from a credential without exposing the entire document. This is achieved using hash-based digests for undisclosed claims, enabling minimal data exposure and reducing the risk of correlating user information across different verifiers.

02

Holder Binding & Key Proof

Prevents credential theft and replay attacks by cryptographically binding the credential to a specific holder. The holder must prove possession of a private key (via a Key Binding JWT) when presenting the SD-JWT-VC, ensuring only the legitimate owner can use the credential.

03

Cryptographic Integrity

Ensures the credential's data cannot be tampered with. The issuer signs the Issuer-Signed JWT, which contains the disclosed claims and digests of undisclosed ones. Any alteration invalidates the signature. The holder's selective disclosure also uses cryptographic commitments to prove the revealed data is part of the original credential.

04

Presentation Layer Security

Defines secure protocols for the interaction between holder and verifier. This includes mechanisms to prevent man-in-the-middle attacks and ensure the presentation is fresh (e.g., using nonces). The verifier must validate the issuer's signature, the holder's key proof, and that all disclosed claims correspond to the original credential digests.

05

Preventing Correlation

SD-JWT-VC architecture is designed to limit linkability across different presentations. By allowing selective disclosure of different claim sets to different verifiers and using unique presentation mechanisms, it becomes significantly harder for unrelated parties to correlate that the presentations came from the same individual or credential.

06

Revocation & Status Management

Addresses how credentials can be invalidated. Common patterns include:

  • Status Lists: Using a separate, compact status list (like a bitstring) where each bit represents the revocation status of a credential.
  • Timestamp-Based: Credentials with a short validity period to limit the impact window. The design prioritizes privacy, avoiding the need for the verifier to query a centralized service about a specific user.
SD-JWT-VC

Common Misconceptions

Selective Disclosure JSON Web Tokens for Verifiable Credentials (SD-JWT-VC) is a powerful standard for privacy-preserving digital credentials. However, its technical nature and novel concepts lead to several widespread misunderstandings. This section clarifies the most frequent points of confusion.

No, an SD-JWT-VC is a specialized, structured format built on top of the JWT standard, but with crucial privacy enhancements. A traditional JWT is a single, opaque token where all claims are revealed to every verifier. An SD-JWT-VC is a disclosable credential that consists of a JWT containing the issuer's signature and cryptographic digests (hashes) of the credential's claims, bundled with a separate Disclosure Array. This structure allows the holder to selectively reveal only specific claims from the original credential, a capability absent in standard JWTs.

SD-JWT-VC

Frequently Asked Questions (FAQ)

SD-JWT-VC (Selective Disclosure for JSON Web Token Verifiable Credentials) is a W3C standard for privacy-preserving digital credentials. These FAQs address its core mechanisms, use cases, and how it differs from other credential formats.

SD-JWT-VC is a W3C standard for issuing, holding, and verifying verifiable credentials that enable selective disclosure, allowing a holder to reveal only specific claims from a credential without exposing the entire document. It works by combining a digitally signed JSON Web Token (JWT) containing the disclosed claims with a set of cryptographic hashes representing the undisclosed claims. The holder can selectively present the JWT along with the disclosure objects (containing the actual claim values and salts) for the claims they wish to reveal, while the verifier uses the hashes in the JWT to cryptographically verify the integrity and authenticity of the presented disclosures without learning the hidden data.

further-reading
SD-JWT-VC

Further Reading & Specifications

Explore the core specifications, foundational RFCs, and key resources that define the SD-JWT-VC ecosystem for verifiable credentials with selective disclosure.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team