Skip to content

Credential Formats

BaseID supports 6 credential formats, each designed for different privacy, interoperability, and regulatory requirements.

FormatStandardPrivacySelective disclosureBest for
JWT-VCW3C VC 2.0None — all claims visibleNoOrganizational creds, certificates
SD-JWT VCIETF SD-JWT + W3CPer-claimYes — holder choosesGovernment ID, GDPR, eIDAS
Data IntegrityW3C VC 2.0 + DINoneNoLinked Data ecosystems, RDFC-1.0
mDLISO 18013-5Per-namespaceYes — by namespaceDriver licenses, national ID
BBS+W3C VC + BBSUnlinkableYes — ZK proofsMaximum privacy, unlinkable presentations
AnonCredsHyperledgerUnlinkableYes — ZK predicatesAries/Indy ecosystems

The most widely supported format. A W3C Verifiable Credential signed as a JSON Web Token.

Base64url(Header) . Base64url(Payload) . Base64url(Signature)
{
"iss": "did:key:z6MkIssuer...",
"sub": "did:key:z6MkHolder...",
"iat": 1711459200,
"exp": 1743081600,
"vc": {
"@context": ["https://www.w3.org/ns/credentials/v2"],
"type": ["VerifiableCredential", "CanadianDigitalID"],
"credentialSubject": {
"id": "did:key:z6MkHolder...",
"givenName": "Alice",
"familyName": "Martin",
"dateOfBirth": "1990-05-15",
"province": "Ontario"
}
}
}
  • Signing: EdDSA (Ed25519), ES256 (P-256), ES384 (P-384)
  • Verification: Decode JWT, resolve issuer DID, check signature
  • Size: Compact — typically 500-2000 bytes
  • Privacy: None — all claims visible to every verifier
  • Interop: Highest — supported by every VC implementation
  • Employment credentials, professional certificates
  • Organizational membership, academic degrees
  • Any credential where the verifier always needs all fields
  • Maximum compatibility with existing systems

Privacy-preserving credentials where the holder chooses which claims to reveal to each verifier.

IssuerJWT ~ Disclosure1 ~ Disclosure2 ~ ... ~

Each disclosure is: Base64url([salt, claim_name, claim_value])

ISSUANCE PRESENTATION VERIFICATION
───────── ──────────── ────────────
Issuer signs all claims Holder selects claims Verifier checks:
↓ ↓ ↓
JWT with _sd hashes → JWT + chosen disclosures → Signature valid?
+ all disclosures (omit private claims) Disclosures match _sd?
Claim typeVisibilityExamples
Plain (always visible)Every verifier sees theseiss, sub, vct, iat
Selectively disclosableHolder controlsAll custom claims
  • Government-issued ID (reveal only what’s needed)
  • Health credentials (share diagnosis without full medical record)
  • Age verification (prove age without revealing date of birth)
  • GDPR/data minimization compliance
  • eIDAS 2.0 / HAIP (SD-JWT VC is a required format)

W3C Verifiable Credentials with Data Integrity proofs using RDF Dataset Canonicalization. The credential is a JSON-LD document with an embedded proof.

{
"@context": ["https://www.w3.org/ns/credentials/v2", "https://w3id.org/security/data-integrity/v2"],
"type": ["VerifiableCredential"],
"issuer": "did:key:z6Mk...",
"credentialSubject": { ... },
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-rdfc-2022",
"verificationMethod": "did:key:z6Mk...#key-0",
"proofValue": "z..."
}
}
  • Linked Data / semantic web ecosystems
  • When credential structure must be self-describing (JSON-LD contexts)
  • Government systems requiring RDF-based data models

The international standard for mobile driver licenses.

  • Encoding: CBOR (binary, compact)
  • Signing: MSO with COSE signatures
  • Privacy: Namespace-based selective disclosure
  • Interop: Apple Wallet, Google Wallet, 40+ US states

Zero-knowledge credentials with unlinkable selective disclosure.

FeatureSD-JWTBBS+
Selective disclosureYesYes
UnlinkabilityNo — same JWT reusedYes — each presentation is unique
ZK predicatesNoYes — prove “age > 18” without revealing age
PerformanceFastSlower (pairing operations)

Hyperledger AnonCreds using Camenisch-Lysyanskaya signatures. Full ZK proof system with predicate proofs and cryptographic accumulator revocation.


Need selective disclosure?
├─ No → JWT-VC (simplest, widest support)
└─ Yes
├─ Need unlinkability?
│ ├─ No → SD-JWT VC
│ └─ Yes → BBS+
├─ Targeting eIDAS / HAIP? → SD-JWT VC
├─ Mobile driver license? → mDL
└─ Aries / Indy ecosystem? → AnonCreds