Skip to content

Privacy Considerations: ecosystem note and per-protocol privacy review - #543

Open
marcoscaceres wants to merge 1 commit into
mainfrom
dc-privacy-review
Open

Privacy Considerations: ecosystem note and per-protocol privacy review#543
marcoscaceres wants to merge 1 commit into
mainfrom
dc-privacy-review

Conversation

@marcoscaceres

@marcoscaceres marcoscaceres commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Closes #226

This adds two non-normative additions to the Privacy Considerations.

First, an "Ecosystem privacy" subsection clarifies that the privacy implications of a complete deployment that combines this API with particular presentation protocols, credential formats, issuance systems, and governance rules are out of scope for this specification, and that each deployment is encouraged to evaluate privacy across all of the specifications it uses and to consult their privacy considerations in addition to the considerations described here. This reflects the ecosystem-scope clarification discussed on the 2026-02-23 FedID call, based on text proposed by @gffletch in #226.

Second, a "Privacy review of the supported protocols" subsection reviews how each presentation and issuance protocol listed in the Protocols table addresses the considerations the section already sets out, and notes where a property depends on deployment choices or on the credential format rather than on the protocol itself. OpenID for Verifiable Presentations is reviewed across its unsigned, signed, and multi-signed request variants, which differ in verifier authentication strength rather than in presentation unlinkability. The mdoc review (ISO/IEC TS 18013-7 Annex C, building on ISO/IEC 18013-5) covers selective disclosure, the conditional nature of unlinkability, the origin binding the Digital Credentials API path adds, and the encrypted response. OpenID for Verifiable Credential Issuance is covered as an issuance protocol, with a note that its binding to the Digital Credentials API has not yet been published and that the review will be revisited once it is defined.

The review is descriptive: it records the current state of the referenced protocol specifications, not new conformance requirements. Concrete normative requirements are tracked separately in #255.

The following tasks have been completed:

  • Modified Web platform tests (link) — N/A: non-normative prose, no testable behaviour.

Implementation commitment:

  • WebKit (link to issue) — N/A: no normative or IDL change.
  • Chromium (link to issue) — N/A
  • Gecko (link to issue) — N/A

Documentation and checks

  • Affects privacy
  • Affects security
  • Pinged MDN — N/A: no API-surface change.
  • Updated Explainer — N/A
  • Updated digitalcredentials.dev — N/A

Preview | Diff

Adds two non-normative subsections to the Privacy Considerations: an
"Ecosystem privacy" note stating that whole-deployment privacy is out of
scope, and a "Privacy review of the supported protocols" reviewing
OpenID4VP, mdoc, and OpenID4VCI against the existing considerations.
Descriptive only; normative requirements are tracked in #255.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@marcoscaceres
marcoscaceres requested a review from a team as a code owner June 17, 2026 14:07
@marcoscaceres

Copy link
Copy Markdown
Collaborator Author

+@gffletch

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds two informative clarifications to the spec’s Privacy Considerations section: (1) a note that ecosystem-wide privacy properties of deployments are out of scope for this API spec, and (2) a descriptive, per-protocol privacy review for the currently listed supported protocols.

Changes:

  • Add an “Ecosystem privacy” subsection to scope the section to the API interaction and user agent duties.
  • Add a “Privacy review of the supported protocols” subsection describing privacy-relevant properties of each currently listed protocol (OpenID4VP variants, ISO mdoc path, OpenID4VCI).

Comment thread index.html
Comment on lines +2282 to +2285
This section reviews how each [=digital credential/presentation
protocol=] listed in [[[#protocols]]] addresses the considerations
above, and notes where a property depends on deployment choices or is
left to the credential format. It is descriptive: it records the
Comment thread index.html
OpenID for Verifiable Presentations
</h5>
<p>
[[OPENID4VP]] facilitates selective disclosure through its query

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marcoscaceres — Copilot is mistaken about how ReSpec works.

The double-square-bracket ([[ ]]) is seen in the final document as the cited shortname, with an href of that document's listing in the CITATIONS section within the final document.

The triple-square-bracket ([[[ ]]]) is seen in the final document as the title of the referenced spec, with an href of the referenced spec external to the final document.

Normative citations are [[!...]] or [[...]] (! or nothing preceding the shortname within the double-square-bracket). Informative citations are [[?...]] (? preceding the shortname within the double-square-bracket).

All that said, I would recommend some change, to wit, assuming non-normative reference was intended and remains desired, as seems likely given that this is a non-normative section —

Suggested change
[[OPENID4VP]] facilitates selective disclosure through its query
[[[?OPENID4VP]]] [[?OPENID4VP]] facilitates selective disclosure through its query

If normative reference is desired, then change the ? immediately following each set of opening square-brackets to !.

Comment thread index.html
unlinkability as an inherent property: it addresses
verifier-to-verifier linkability only, and treats unlinkability as
achievable by presenting a single-use credential instance, with
batch issuance of such instances defined in [[OPENID4VCI]] rather

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marcoscaceres — As above, Copilot is mistaken about how ReSpec works.

The double-square-bracket ([[ ]]) is seen in the final document as the cited shortname, with an href of that document's listing in the CITATIONS section within the final document.

The triple-square-bracket ([[[ ]]]) is seen in the final document as the title of the referenced spec, with an href of the referenced spec external to the final document.

Normative citations are [[!...]] or [[...]] (! or nothing preceding the shortname within the double-square-bracket). Informative citations are [[?...]] (? preceding the shortname within the double-square-bracket).

All that said, I would recommend some change, to wit, assuming non-normative reference was intended and remains desired, as seems likely given that this is a non-normative section —

Suggested change
batch issuance of such instances defined in [[OPENID4VCI]] rather
batch issuance of such instances defined in [[[?OPENID4VCI]]] [[?OPENID4VCI]] rather

If normative reference is desired, then change the ? immediately following each set of opening square-brackets to !.

Comment thread index.html
[=verifier=] requests individual data elements, and an mdoc need not
release an element merely because it is present, which supports data
minimization (for example, an age-over attestation can confirm a
threshold without revealing date of birth). As with [[OPENID4VP]],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above.

Suggested change
threshold without revealing date of birth). As with [[OPENID4VP]],
threshold without revealing date of birth). As with [[[?OPENID4VP]]] [[?OPENID4VP]],

Comment thread index.html
Comment on lines +2335 to +2339
Digital Credentials API path defined in [[ISO18013-7]] Annex C, the
presentation is a direct exchange between the wallet and the
verifier with no issuer contact, and the response is encrypted to
the verifier, so a [=user agent=] cannot inspect it. Revocation is
out of scope for [[ISO18013-7]]; freshness relies on the validity

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above —

Suggested change
Digital Credentials API path defined in [[ISO18013-7]] Annex C, the
presentation is a direct exchange between the wallet and the
verifier with no issuer contact, and the response is encrypted to
the verifier, so a [=user agent=] cannot inspect it. Revocation is
out of scope for [[ISO18013-7]]; freshness relies on the validity
Digital Credentials API path defined in [[[?ISO18013-7]]] [[?ISO18013-7]] Annex C, the
presentation is a direct exchange between the wallet and the
verifier with no issuer contact, and the response is encrypted to
the verifier, so a [=user agent=] cannot inspect it. Revocation is
out of scope for [[[?ISO18013-7]]] [[?ISO18013-7]]; freshness relies on the validity

Comment thread index.html
ISO/IEC mdoc ({{DigitalCredentialPresentationProtocol/"org-iso-mdoc"}})
</h5>
<p>
The mdoc data model ([[ISO18013-5]]) is element-granular: a

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above —

Suggested change
The mdoc data model ([[ISO18013-5]]) is element-granular: a
The [[[?ISO18013-5]]] ([[?ISO18013-5]]) is element-granular: a

Comment thread index.html
verifier with no issuer contact, and the response is encrypted to
the verifier, so a [=user agent=] cannot inspect it. Revocation is
out of scope for [[ISO18013-7]]; freshness relies on the validity
window of the signed object, and [[ISO18013-5]] cautions that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
window of the signed object, and [[ISO18013-5]] cautions that
window of the signed object, and [[[?ISO18013-5]]] [[?ISO18013-5]] cautions that

Comment thread index.html
OpenID for Verifiable Credential Issuance ({{DigitalCredentialIssuanceProtocol/"openid4vci-v1"}})
</h5>
<p>
[[OPENID4VCI]] is an [=digital credential/issuance protocol=], so

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[[OPENID4VCI]] is an [=digital credential/issuance protocol=], so
[[[?OPENID4VCI]]] [[?OPENID4VCI]] is an [=digital credential/issuance protocol=], so

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Privacy review of the supported presentation protocols

3 participants