Privacy

What is Salted hash disclosure?

Salted hash disclosure is the mechanism behind SD-JWT selective disclosure. The issuer signs hashes of salted claim values rather than the values, and the holder reveals a claim by sending the salt and value so the verifier can recompute the hash.

Technical standardReviewed 7 October 2026

Where it fits

Its place in the EUDI flow

Between the wallet and the relying party, when the user shares data.

Issuer

Signs credentials: a member state, university, bank or employer

Issuance

EUDI Wallet

Belongs to the user, who decides what to share

Presentation

Relying party

The service that requests and checks the data

Trust layer: who is allowed to sign, and is it still valid?

Rules: the law and technical framework behind it all

See every term on the map

In detail

How it actually works

Each claim gets combined with a random salt before hashing. The salt is what stops a verifier guessing withheld values. Without it, an undisclosed age_over_18 claim would have two possible hashes and fall over immediately.

The issuer signs the set of hashes once, at issuance. The holder picks which disclosures to send at presentation, and the verifier confirms each disclosed value hashes to something the issuer signed. Everything undisclosed stays an opaque hash.

mdoc does the same thing with different plumbing. Each data element carries its own random value, the Mobile Security Object holds the digests, and the ARF calls the two mechanisms conceptually identical.

Defined in

IETF RFC 9901 section 9.3; SD-JWT VC (draft-ietf-oauth-sd-jwt-vc); ARF v3.0.0 Annex 2 Topic 10

Why it matters

What this changes for you

This is why "we only received the claims we asked for" is a cryptographic statement rather than a trust assumption. Worth understanding before you write a data protection impact assessment.