Issuance integrity
When a credential is issued:- The issuer signs the credential data with issuer-controlled keys, bound to their DID. SD-JWT issuers (
SD_JWT_VC) publish the verifying keys in adid:webdocument on their own domain. When the holder provides a key, the issuer writes it to the credential’scnfclaim, binding the credential to the holder. - The signed credential payload is encrypted to the holder’s public key.
- The encrypted envelope is stored in DStorage. AIR stores and routes opaque ciphertext and metadata as a blind facilitator — it never sees the plaintext.
Verification
Verification is program-driven:- The verifier asks a question: “Does this user hold a valid credential matching schema X?”
- The holder decrypts the matching credential and approves the requested disclosure.
- For SD-JWT credentials, the holder signs a key-binding JWT over the verifier’s nonce and
programId, so the presentation cannot be replayed or altered. - The verifier receives a compliance result and a Verifiable Presentation containing the disclosed claims — nothing else.
Selective disclosure
Holders can disclose individual attributes without revealing the full credential. How this works depends on the credential format:- SD-JWT VC. Each disclosable claim is replaced in the signed credential by a salted digest. The holder sends only the disclosures for the requested claims, and the verifier checks each against its digest. The verifier sees the exact value of each disclosed claim.
- Iden3. A zero-knowledge proof can establish a condition, such as
kycLevel >= 2, without revealing the value. An attribute Merkle root binds the proven fields to the signed credential.
Credential revocation
Issuers revoke credentials from their own issuer service. Verification programs that enable issuer revocation checks reject a revoked credential once the revoked status is published. SD-JWT issuers can also publish an IETF Token Status List, which verifiers cache; revocation then reaches them after the issuer’s publish interval. See Revoke credentials.Credential storage
Further reading
- Privacy & Compliance for encryption, ZK proofs, and consent
- zkTLS for the zero-knowledge transport layer
- Schema Design for defining verifiable attributes