-
Notifications
You must be signed in to change notification settings - Fork 17
Add design considerations section to privacy considerations (fixes #275) #278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
e415f50
246b559
2318428
3a81e0b
5be3222
d8597b6
e8c86fe
7589285
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,6 +62,18 @@ | |
date: "2025-05-28", | ||
publisher: "W3C" | ||
}, | ||
"custom-schemes": { | ||
title: "Concerns with custom schemes for identity presentment", | ||
href: "https://github.com/w3c-fedid/digital-credentials/blob/main/custom-schemes.md", | ||
authors: ["Rick Byers"], | ||
date: "2024-05-01", | ||
publisher: "W3C" | ||
}, | ||
"presenting-credentials-on-the-web": { | ||
title: "Presenting Credentials on the Web", | ||
href: "https://docs.google.com/document/d/1Ppaz_EnhzHqPOz5UusRJvbSunh-RXPWgJ3Np_TM2EE0/", | ||
authors: ["Simone Onofri"] | ||
}, | ||
}, | ||
xref: { | ||
profile: "web-platform", | ||
|
@@ -919,6 +931,45 @@ <h2> | |
evolving privacy landscape and participate in the corresponding | ||
evolution of the API. | ||
</p> | ||
<section> | ||
<h3> | ||
Design Considerations and Alternatives | ||
</h3> | ||
<p> | ||
When reviewing the privacy characteristics of the Digital Credentials | ||
API it is important to understand the goals of its design, which is | ||
to offer a more secure and private user experience than the existing | ||
alternatives. | ||
</p> | ||
<p> | ||
As more [=verifiers=] and [=issuers=] join the rapidly emerging | ||
digital credentials space, an important choice for implementation is | ||
the connection between [=verifiers=] and [=holders=], i.e. the means | ||
by which a [=digital credential/exchange protocol|credential exchange | ||
protocol=] is initiated and the user navigates from the website | ||
they're browsing to their [=holder=] application. | ||
Comment on lines
+945
to
+950
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This "rapidly emerging" framing is fixed to a point in time and not the sort of thing that we need to talk about. Also, isn't this "the process of presentation"? Maybe with "on the Web", though that is implied from context, so it might not be necessary. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah... I didn't like writing it like that either, but there's an undeniable reality that we have an opportunity window where new technologies get adopted more quickly than at other times, especially when browsers have little power in restricting these technologies because of regulatory mandates. This is context that I believe (and I think @npdoty who requested this kind of introduction, agrees) may be important to consider for wider review of the API. I will say it sounds a bit awkward when combined with the "important choice" thing - the fact that the connection is important is not temporary. I can try to reword. |
||
</p> | ||
<p> | ||
As documented in [[[presenting-credentials-on-the-web]]] and | ||
[[[custom-schemes]]], QR codes and custom URL schemes solutions have | ||
security, privacy, and accessibility concerns, and offer the user | ||
agent very little ability to intermediate on behalf of the user (e.g. | ||
in the form of a [=credential chooser=]). | ||
</p> | ||
<p> | ||
With adoption of digital credential technology being driven by | ||
consumer demand and regulatory mandates, it is essential for user | ||
agents to offer an alternative to these harmful technologies that is | ||
easy to use for developers, is compatible with existing credential | ||
exchange protocols and, most importantly, significantly increases | ||
user privacy, security, and accessibility. | ||
</p> | ||
<p> | ||
This API does not inhibit the development of other APIs that further | ||
enhance user privacy. For example, an API that more strictly enforces | ||
unlinkability of age verification. | ||
</p> | ||
</section> | ||
<section data-cite="vc-data-model#spectrum-of-privacy"> | ||
<h3> | ||
Spectrum of Privacy | ||
|
@@ -1005,16 +1056,16 @@ <h5> | |
</p> | ||
<p> | ||
Note that unlinkability is exclusively a consideration for attributes | ||
that can not be linked to a specific user identity. Inherently linkable | ||
attributes such as names, driver's license numbers or phone numbers do | ||
not benefit from unlinkability. | ||
that can not be linked to a specific user identity. Inherently | ||
linkable attributes such as names, driver's license numbers or phone | ||
numbers do not benefit from unlinkability. | ||
</p> | ||
<p> | ||
Through the Digital Credentials API, the user agent can help verifiers | ||
and wallets exchange unlinkable attributes, but it can not guarantee | ||
that no linkable information is passed between verifiers and wallets. | ||
It is recommended that user agents account for this fact in their | ||
user permission experience. | ||
Through the Digital Credentials API, the user agent can help | ||
verifiers and wallets exchange unlinkable attributes, but it can not | ||
guarantee that no linkable information is passed between verifiers | ||
and wallets. It is recommended that user agents account for this fact | ||
in their user permission experience. | ||
</p> | ||
<p class="issue" data-number="279"> | ||
Which level of unlinkability is the goal for this API? Can we | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not/cannot tell people what is important to them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can rephrase this, it's actually meant as "the privacy characteristics of the API are a result of the design choices made for the reasons described in this section".