Skip to content

Selective disclosure via SD-JWT for OB 3.0 / CLR 2.0 wallet interoperability #641

Description

@t3-atharva

Brief Description

As an OB 3.0 Issuer and CLR 2.0 certified implementer, we need selective disclosure in JWT-native deployments that interoperate with the broader wallet ecosystem (e.g., OID4VCI / OID4VP flows and eIDAS-aligned wallets). SD-JWT / SD-JWT VC is widely adopted there, but is not currently a certification-supported proof mechanism for OB 3.0. The desired outcome is for SD-JWT to be recognized as an allowed (not required) selective-disclosure proof for OB 3.0 / CLR 2.0, giving issuers a JWT-native option without maintaining a parallel Linked Data proof path.

Use Case Actors

  • Issuer — issues OB 3.0 / CLR 2.0 credentials as SD-JWT
  • Holder / Wallet — stores the SD-JWT and produces selective disclosures
  • Verifier / Relying Party — verifies the SD-JWT presentation
  • 1EdTech conformance/certification system — validates the proof mechanism

Pre-conditions

  • The credential content maps to the OB 3.0 / CLR 2.0 data model.
  • The issuer can produce an SD-JWT (or SD-JWT VC) with selectively disclosable claims.
  • The holder uses a wallet capable of SD-JWT presentation (e.g., via OID4VP).

Basic Flow

  1. Issuer creates the credential and secures it as an SD-JWT with selectively disclosable claims.
  2. Issuer delivers the SD-JWT to the holder's wallet (e.g., via OID4VCI).
  3. Holder selects which claims to disclose for a given verifier.
  4. Wallet produces an SD-JWT presentation revealing only the selected claims.
  5. Holder presents it to the verifier (e.g., via OID4VP).
  6. Verifier validates the issuer signature and the disclosed claims.

Post-conditions

  • The verifier confirms authenticity and integrity from the disclosed claims alone.
  • Undisclosed claims are not revealed.
  • The implementation is recognized as conformant for OB 3.0 / CLR 2.0 when using the allowed SD-JWT proof.

Additional considerations

Requested by

TruScholar, a 1EdTech Member
Contact: Atharva (atharva@truscholar.io)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions