You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.html
+114-6
Original file line number
Diff line number
Diff line change
@@ -425,8 +425,11 @@ <h2>
425
425
</p>
426
426
</section>
427
427
<h2id="protocol-registry">
428
-
Registry of protocols for requesting digital credential
428
+
Registry of protocols
429
429
</h2>
430
+
<p>
431
+
Initiating the registration a protocol is done by <ahref="https://github.com/w3c-fedid/digital-credentials/issues">filing an issue</a> in our GitHub repository.
432
+
</p>
430
433
<p>
431
434
The following is the registry of [=digital credential/exchange
432
435
protocols=] that are supported by this specification.
The below criteria are a work in progress and are likely to change as
446
+
this document evolves.
447
+
</aside>
441
448
<p>
442
-
To be included in the registry...
449
+
To be included in the registry, the [=digital credential/exchange
450
+
protocol=]:
443
451
</p>
452
+
<ol>
453
+
<li>MUST be standardized at a <ahref=
454
+
"https://www.w3.org/liaisons/">consortium the W3C liaises with</a>
455
+
</li>
456
+
<li>MUST be defined in a specification which is freely and publicly
457
+
available at the stable URL listed in the registry.
458
+
</li>
459
+
<li>MUST define a representation, as either a [[WebIDL]] [=dictionary=]
460
+
or a JSON object, of the [=digital credential/exchange protocol=] request
461
+
structure (i.e., the [=dictionary=] which defines the semantics and
462
+
validation of the {{DigitalCredentialsProvider}}'s
463
+
{{DigitalCredentialsProvider/request}} member.
464
+
</li>
465
+
<li>MUST define a representation, as either a [[WebIDL]] [=dictionary=]
466
+
or a JSON object, of the [=digital credential/exchange protocol=]
467
+
response structure (i.e., the [=dictionary=] which defines the
468
+
semantics and validation of the {{DigitalCredential}}'s
469
+
{{DigitalCredential/data}} member.
470
+
</li>
471
+
<li>MUST define validation rules for members of the request and response
472
+
structures.
473
+
</li>
474
+
<li>MUST have undergone privacy review by the W3C's <ahref="https://www.w3.org/Privacy/IG/">Privacy Interest
475
+
Group</a> and <ahref="https://www.w3.org/groups/wg/fedid/">Federated Identity Working Group</a>.
476
+
<asideclass="note" title="Organizing reviews">
477
+
Once an expression of registration is received via GitHub, the registry maintainers will organize the privacy review with the <ahref="https://www.w3.org/Privacy/IG/">Privacy Interest Group</a> . Please see the [[[[security-privacy-questionnaire]]] for the kind of questions that will be asked of the protocol you are registering.
478
+
</aside>
479
+
</li>
480
+
<li>MUST have undergone security review by the <ahref="https://www.w3.org/groups/wg/fedid/">Federated Identity Working Group</a>.
481
+
</li>
482
+
<li>MUST have implementation commitment from at least one browser engine,
483
+
one credential provider/wallet, and one issuer or verifier (depending on
484
+
the protocol type). Each component MUST be from independent organizations.
485
+
</li>
486
+
<li>MUST have formally recorded consensus by the Federated Identity Working Group to be
487
+
included in the registry.
488
+
</li>
489
+
</ol>
490
+
<h4>
491
+
Presentation-specific inclusion criteria
492
+
</h4>
493
+
<p>
494
+
To be included as a presentation protocol in the registry (used with
495
+
`navigator.credentials.get`), the [=digital credential/exchange
496
+
protocol=]:
497
+
</p>
498
+
<ol>
499
+
<li>MUST support response encryption.
500
+
</li>
501
+
<li>MUST encrypt any response containing personally identifiable
502
+
information (PII).
503
+
</li>
504
+
</ol>
505
+
<h3>
506
+
Change process
507
+
</h3>
508
+
<p>
509
+
To add a new [=digital credential/exchange protocol=] to the registry, or
510
+
to update an existing one:
511
+
</p>
512
+
<dl>
513
+
<dt>
514
+
Define a protocol identifier
515
+
</dt>
516
+
<dd>
517
+
The protocol identifier MUST be a unique string that is not already in
518
+
use in the registry. Use only lowercase ASCII letters, digits, and
519
+
hyphens (e.g., "protocol", "the-protocol"). The protocol identifier
520
+
MUST uniquely define the set of required parameters and/or behavior
521
+
that a digital credential provider implementation needs to support
522
+
to successfully handle the request. If the set of required parameters
523
+
or behaviors is updated in a way which would require a digital credential
524
+
provider to also require an update to remain functional, a new protocol
525
+
identifier MUST be assigned and be added to the registry.
526
+
</dd>
527
+
<dt>
528
+
Specify a protocol type
529
+
</dt>
530
+
<dd>
531
+
The protocol type is either "Presentation" for presentation protocols
532
+
used with `navigator.credentials.get` or "Issuance" for issuance
533
+
protocols used with `navigator.credentials.create`.
534
+
</dd>
535
+
<dt>
536
+
Describe the protocol
537
+
</dt>
538
+
<dd>
539
+
The description MUST be a brief summary of the protocol's purpose and
540
+
use case.
541
+
</dd>
542
+
<dt>
543
+
Provide a link to the specification
544
+
</dt>
545
+
<dd>
546
+
The specification MUST be a stable URL that points to the authoritative
547
+
source for the protocol, including validation rules.
548
+
</dd>
549
+
</dl>
444
550
<asideclass="issue" data-number="58"></aside>
445
551
<p>
446
552
[=User agents=] MUST support the following [=digital credential/exchange
0 commit comments