Skip to content

Commit c5ac0ef

Browse files
authored
Add design considerations section to privacy considerations (fixes #275) (#278)
1 parent a17823b commit c5ac0ef

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

index.html

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@
6262
date: "2025-05-28",
6363
publisher: "W3C"
6464
},
65+
"custom-schemes": {
66+
title: "Concerns with custom schemes for identity presentment",
67+
href: "https://github.com/w3c-fedid/digital-credentials/blob/main/custom-schemes.md",
68+
authors: ["Rick Byers"],
69+
date: "2024-05-01",
70+
publisher: "W3C"
71+
},
72+
"presenting-credentials-on-the-web": {
73+
title: "Presenting Credentials on the Web",
74+
href: "https://docs.google.com/document/d/1Ppaz_EnhzHqPOz5UusRJvbSunh-RXPWgJ3Np_TM2EE0/",
75+
authors: ["Simone Onofri"]
76+
},
6577
},
6678
xref: {
6779
profile: "web-platform",
@@ -930,6 +942,60 @@ <h2>
930942
evolving privacy landscape and participate in the corresponding
931943
evolution of the API.
932944
</p>
945+
<section>
946+
<h3>
947+
Design Considerations and Alternatives
948+
</h3>
949+
<p>
950+
The Digital Credentials API is designed to mediate requests for
951+
digital credentials from websites, being agnostic to the credential
952+
format and the information contained in it, as well as the protocol
953+
used to exchange it (within the bounds on the protocol registry
954+
inclusion criteria). This and other key design choices are derived
955+
from the goal of providing a more secure and private credential
956+
exchange experience for users than the existing alternatives (e.g.,
957+
[[custom-schemes]]), that is still compatible with common exchange
958+
protocols for ease of adoption.
959+
</p>
960+
<p>
961+
The API provides the connection interface between [=verifiers=] and
962+
[=holders=], i.e. the means by which a [=digital credential/exchange
963+
protocol|credential exchange protocol=] is initiated and the user
964+
switches to the [=holder=] application to select a credential.
965+
Solutions that have been used for this purpose in the past include QR
966+
codes and custom URL schemes. As documented in
967+
[[[presenting-credentials-on-the-web]]] and [[[custom-schemes]]],
968+
those solutions have security, privacy, and accessibility concerns.
969+
</p>
970+
<p>
971+
With adoption of digital credential technology being driven by
972+
ecosystem demand and regulatory mandates, the Web platform offers an
973+
alternative to the aforementioned less-desirable technologies that is
974+
easy to use for developers, is compatible with existing credential
975+
exchange protocols and, most importantly, has better user privacy,
976+
security, and accessibility properties than these alternatives.
977+
</p>
978+
<p>
979+
The Digital Credentials API offers the user agent the ability to
980+
intermediate on behalf of the user (e.g. in the form of a
981+
[=credential chooser=]) to contextualize requests and <a href=
982+
"#permission-prior-to-wallet-selection">prevent immediate exposure to
983+
holder applications</a>. It also enforces certain minimum
984+
requirements on supported protocols, such as <a href=
985+
"#encrypting-credential-responses">response encryption</a>.
986+
</p>
987+
<aside class="note">
988+
The Digital Credentials API is not intended to inhibit the
989+
development of other standardized solutions that enhance user
990+
privacy. For example, an API could be standardized that more strictly
991+
enforces unlinkability for specific purposes such as age
992+
verification. Higher-level, designed-for-purpose APIs often enable
993+
<a data-cite="privacy-principles#purpose-limitation">purpose
994+
limitation</a>, ease of explanation to the user, and privacy and
995+
security protections from <a data-cite=
996+
"design-principles#high-level-low-level">user agents</a>.
997+
</aside>
998+
</section>
933999
<section data-cite="vc-data-model#spectrum-of-privacy">
9341000
<h3>
9351001
Spectrum of Privacy

0 commit comments

Comments
 (0)