Skip to main content

Shepherd writeup
draft-ietf-oauth-selective-disclosure-jwt

# Document Shepherd Write-Up for SD-JWT (version -17)

Date: Feb. 9th, 2025
(Update Feb. 10th)
(Update Feb. 24th)
(Update Feb. 27th)
(Update Mar. 3rd)

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
   few individuals, with others being silent, or did it reach broad agreement?

The majority of the working group members supports this document and voiced
their support.

2. Was there controversy about particular points, or were there decisions where
   the consensus was particularly rough?

There was controversy surrounding the privacy terminology and features provided
by the SD-JWT solution, with Watson Ladd and Denis expressing their concerns.

After extensive discussions, Watson indicated that his comments no longer
prevent the draft from advancing, as noted in this mail:
https://mailarchive.ietf.org/arch/msg/oauth/aVJQa5PCM0uJGZm6KvNCaESyjTs/

The authors and the group were unable to adequately address Denis's feedback.
The chairs believe that Denis was not able to convince the working group to
adopt the changes he proposed.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
   so, please summarize the areas of conflict in separate email messages to the
   responsible Area Director. (It should be in a separate email because this
   questionnaire is publicly available.)

Denis has already appealed to the area director responsible for the working
group, Deb Cooley. Deb carefully reviewed the feedback Denis provided and
engaged in discussions with both him and the group.

4. For protocol documents, are there existing implementations of the contents of
   the document? Have a significant number of potential implementers indicated
   plans to implement? Are any existing implementations reported somewhere,
   either in the document itself (as [RFC 7942][3] recommends) or elsewhere
   (where)?

There are several implementations of the specification available and a list is
maintained at
https://mailarchive.ietf.org/arch/msg/oauth/TVqLHcR92kEyIQlys3z-ECyWlZw/

Additionally, the following implementations are available:
https://github.com/openwallet-foundation-labs/multiformat-vc-ios
https://github.com/keycloak/keycloak/tree/main/core/src/main/java/org/keycloak/sdjwt
https://github.com/adorsys/sd-jwt

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
   IETF working groups or external organizations, and would it therefore benefit
   from their review? Have those reviews occurred? If yes, describe which
   reviews took place.

This document is re-used in a building block in various protocols used by the
OpenID Foundation (OIDF). Several OAuth working group participants are active
in the OIDF and in the work on the relevant protocols. As such, there is no
need for additional reviews by OIDF.

SD-JWT also serves as a design template for the work in the IETF SPICE working
group with SD-CWT (see
https://datatracker.ietf.org/doc/draft-ietf-spice-sd-cwt/). The authors of
SD-CWT are aware of the activities in the IETF OAuth working group.

As such, the document shepherd does not believe that further reviews are
required.

6. Describe how the document meets any required formal expert review criteria,
   such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

The document defines and registers new claims for the JSON Web Token. The OAuth
working group regularly registers new JWT claims.

The document also registers new media types.

7. If the document contains a YANG module, has the final version of the module
   been checked with any of the [recommended validation tools][4] for syntax and
   formatting validation? If there are any resulting errors or warnings, what is
   the justification for not fixing them at this time? Does the YANG module
   comply with the Network Management Datastore Architecture (NMDA) as specified
   in [RFC 8342][5]?

The document does not contain a YANG module.

8. Describe reviews and automated checks performed to validate sections of the
   final version of the document written in a formal language, such as XML code,
   BNF rules, MIB definitions, CBOR's CDDL, etc.

The shepherd verified the ABNF and the JSON examples.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
   document is needed, clearly written, complete, correctly designed, and ready
   to be handed off to the responsible Area Director?

The document is well-written and it can be handed off to the area director.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?

The security and privacy threat model has been described in the relevant
sections. There have also been extensive discussions about security and privacy
on the list, which have subsequently been captured in the document.

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?

The requested RFC type is Standards Track. The document defines new extensions
for the JWT and processing rules.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][7]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.

No IPRs have been filed or are otherwise known.

Daniel: https://mailarchive.ietf.org/arch/msg/oauth/ItYDeYx7iivvmegjkAzI-gJcvH4/
Kristina:
https://mailarchive.ietf.org/arch/msg/oauth/0UaMqW4qO-ABbB9EpElwjmRfRYY/ Brian:
https://mailarchive.ietf.org/arch/msg/oauth/ERKU1svQgrqfH2wxWNETGksvaaY/

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.

Daniel: https://mailarchive.ietf.org/arch/msg/oauth/MA9Kzl9FIcZqPQAQ409x7AIX4QM/
Brian: https://mailarchive.ietf.org/arch/msg/oauth/SwetGB_NIHB7vxmTrCTAzXyDSW0/
Kristina:
https://mailarchive.ietf.org/arch/msg/oauth/9hFclM6AHTTsgKc-uD5M5Emkz6E/

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15]. (Also note that the current idnits tool generates
    some incorrect warnings; a rewrite is underway.)

The document does not have nits (except for too long lines).

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].

The references are correctly split into normative and informative references.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

There are no normative references that are not freely available.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.

There are no downward references.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?

All normative references are published RFCs.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

The publication of this document will not change the status of any existing RFC.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).

The IANA section provides registrations for JWT claims and media types.
These claim names and media types are correct.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

There are no new registries established by this document.

References:
[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://wiki.ietf.org/group/ops/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://wiki.ietf.org/group/iesg/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]:
https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/

Back