Selective disclosure

Selective disclosure means revealing only the details of a signed credential that a verification needs, without breaking the signature.

With SD-JWT, the signed part does not contain the details themselves, only their hash values. The details travel as separate disclosures, and the holder presents only those it wants to show. The verifying party computes the hash of each presented disclosure and compares it with the signed part.

This lets an agent prove that it has an amount limit and on whose behalf it acts without revealing, say, the principal's date of birth or address. The principle supports the data minimization required by the Swiss Data Protection Act and the GDPR.

Example

A mandate contains name, address, amount limit and permitted merchants. Toward a shop, the agent reveals only the amount limit and the list of merchants. The shop verifies that both details belong to the signed mandate and never learns the address.

How it differs

Encryption hides data from everyone without a key; selective disclosure hides individual details from the recipient while it can still verify the rest. Zero-knowledge proofs go further and prove statements without showing the details at all.

In practice

  • As a verifying party, request only the details you really need for the decision.
  • Design mandates so that every detail can be disclosed individually.
  • Always verify that every presented disclosure matches a hash in the signed part.

Role in KYA

With SD-JWT, KYA verifies that every presented disclosure matches a hash in the signed part and reports disclosures that do not belong. The result feeds into the check of cryptographic integrity.

Related check: Cryptographic integrity (cryptographic_integrity). Are signatures, disclosures, hash chains and manifest unchanged?

Verify now: open a matching example

Frequently asked questions

What is selective disclosure for?

To show only the details a verification needs. An agent can prove its authority this way without revealing personal data of its principal.

How does selective disclosure work with SD-JWT?

The signed part contains hash values of the details, while the details travel as disclosures. The verifying party compares the hash of each presented disclosure with the signed part.

Does selective disclosure help with data protection?

It supports the principle of data minimization. Whether an entire process meets the requirements of the Data Protection Act or the GDPR depends on further factors. General information, not legal advice.

Can the verifying party guess hidden details?

Practically not. Every disclosure contains a random value, so the content cannot be computed back from the hash in the signed part.

Sources

  1. SD-JWT (IETF)
  2. SD-JWT VC (IETF)