<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.7 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-restatement-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="The Restatement Anti-Pattern">The Restatement Anti-Pattern</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-restatement-01"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2024" month="March" day="02"/>
    <abstract>
      <?line 113?>

<t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern, and
how it can be mitigated.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-restatement/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/restatement"/>.</t>
    </note>
  </front>
  <middle>
    <?line 129?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern
<xref target="KOENIG"/><xref target="ANTIPATTERN"/>, and how it can be mitigated.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="BCP14"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -21?>

</section>
    </section>
    <section anchor="the-restatement-anti-pattern">
      <name>The Restatement Anti-Pattern</name>
      <t>A <em>Restatement</em> is the attempted expression of information that is
already expressed elsewhere.</t>
      <t>In this document, we are mostly concerned with <em>Normative
Restatements</em>, i.e., statements that are intended (or look like they
are intended!) to be normative.</t>
      <t>Restatements are rarely verbatim copies of the original statement and
the context needed to interpret that, so they tend to introduce
uncertainty about the interpretation of the restatement.</t>
      <t>Authors often presume a reader is well-versed enough to infer that
such an uncertainty (or outright contradiction) is not intended and
how it is to be resolved.
There is little reason to believe this is actually the case.</t>
      <t>An <em>internal restatement</em> is a restatement of information that has
been provided previously in the document under discussion.
Note that an unambiguous internal reference is not a restatement, as
it points to the original text and its context.
(There may still be uncertainties how to interpret the internal
restatement in the additional context.)</t>
      <t>A reference is <em>unambiguous</em> if the previous passage is clearly
identified and delimited.</t>
      <t>An <em>external restatement</em> is a restatement of information that has
been provided in (one or more) external documents.
Here there is increased danger of an unclear scope of the reference,
often by pointing to an entire document where only a specific passage
is actually intended to be referenced.</t>
      <t>Restatements can be entirely <em>hidden</em>, i.e., there is no indication
that information given is a restatement.  Restatements can also be
<em>explicit</em> by clearly being
identified as such, typically no longer using normative language.</t>
      <t>Restatements can be an Anti-Pattern because they can be "a common
response to a recurring problem that is usually ineffective and risks
being highly counterproductive" <xref target="WP-ANTIPATTERN"/>.  <xref target="reasons"/> discusses
the recurring problems as perceived by document authors, <xref target="perils"/>
explains why restatements can be ineffective and counterproductive,
and <xref target="defuse"/> discusses how to use restatements in a way that is not.</t>
    </section>
    <section anchor="reasons">
      <name>Reasons for making restatements</name>
      <t>There are many reasons that cause document authors to include
restatements in their work, many of which are actually good reasons
once the perils of restatements are properly managed.</t>
      <section anchor="integrating-a-complicated-base-standard-ecosystem">
        <name>Integrating a Complicated Base Standard Ecosystem</name>
        <t>Sometimes the source of the actual normative statement is complex and
would require considerable time to digest.
A <em>simplifying</em> restatement tries to shield the reader by rephrasing
or summarizing information from that source.</t>
        <t>Such a restatement can be of good intention, or it can try to hide
complexity that the referencing document actually does make required to incur.</t>
      </section>
      <section anchor="trying-to-be-a-textbook-for-the-implementer">
        <name>Trying to be a Textbook for the Implementer</name>
        <t>More generally, a restatement can attempt to be a directly useful
source for an implementer or user of a standard, e.g., by giving a
mere checklist of items (not necessarily complete!) that must be
implemented instead of actually identifying where the requirement and
possibly its finer points come from.</t>
      </section>
      <section anchor="increasing-availability-from-a-source-with-restricted-access">
        <name>Increasing Availability from a Source with Restricted Access</name>
        <t>In some cases, normative information from a cited document is not
openly available, but only under specific conditions that cannot be
expected to be satisfied by all users of the referencing document,
such as membership in an organization or payment of a non-trivial fee.
It may be appropriate to restate information from such a source so the
referencing document becomes useful.</t>
      </section>
      <section anchor="trying-to-raise-attention-to-a-detail-deemed-surprising">
        <name>Trying to Raise Attention to a Detail Deemed Surprising</name>
        <t>The author of the referencing document may see a need to alert the
reader to a detail of the cited document that might seem unintuitive
(i.e., not familiar) to the author.  By restating the detail in terms
more familiar to readers of the referencing document, this alert can
be more useful.</t>
      </section>
      <section anchor="limitations-in-formal-description-techniques">
        <name>Limitations in Formal Description Techniques</name>
        <t>Formal description techniques (<em>FDT</em>, such as ABNF) are usually designed to
document a single specific artifact, not its evolution or its
embedding into another artifact.  This can lead to wholesale imports
of FDT material, without indication whether just the FDT was imported
or whether the importing document is intended to evolve with the donor
document.
See <xref target="example-8288"/> and <xref target="example-6991"/> for additional illustration of
this reason.</t>
      </section>
    </section>
    <section anchor="perils">
      <name>Perils of restatements</name>
      <t>The danger of restatements is that they might not be exactly
expressing the same normative statement that the cited document makes.</t>
      <t>One form of this is the <em>incomplete</em> restatement.</t>
      <t>Abridged copies of a normative statement from the cited document often
leave open whether the abridgment is intentional: Is the referencing
document only importing some of the requirements of the cited
document?
In the worst case, the restatement may appear to be <em>forking an
ecosystem</em>, i.e., an implementation of the cited document cannot be
used because it makes additional constraints that are not meant to be
included in the referencing document.
(This peril of course is also present with <em>intentional</em> changes to
the normative statements in a cited document, but is likely to receive
much more attention during review.)</t>
      <t><xref target="example-eat"/> presents an example for the situation where a reader
might infer behavior based on the common law statute interpretation
rule:</t>
      <ul empty="true">
        <li>
          <t><em>"Expressio unius est exclusio alterius"</em></t>
        </li>
      </ul>
      <t>which states that the reader is to presume that expressly referencing
one matter implies that other similar matters are intentionally not
mentioned and therefore are excluded.
This is particularly problematic with abridged statements, where this
rule may be invoked by the reader without an author being aware of it.</t>
      <t>Restatements may be slightly <em>semantically different</em> from the cited
document, in particular if the latter is based on a relatively
inaccessible (possibly poorly documented or poorly developed)
terminology.
Both authors and readers may not be aware that they need to use tools
that are commonplace in the ecosystem of the cited document.</t>
      <t>A large danger originates from restatements that are unclear whether a
<em>new</em> normative requirement is intended or a just a restatement of
known normative requirements of the cited document.  This is, of
course, particularly dangerous for <em>hidden</em> restatements.</t>
      <t>A restatement can cause <em>maintainability hazards</em>, as illustrated in
<xref target="example-8288"/>; it also can cause a referencing document to
<em>decouple</em> from the ecosystem of a cited document once that is
repaired (<xref target="example-6991"/>).</t>
      <t>Finally, to readers familiar with the cited document, the restatement
can be surprising; if there really is no information in the
restatement, the reader automatically searches for a specific reason
this restatement is made and starts to reinterpret it until it means
something specific that would justify its presence.
If the restatement is not clearly identified as such, this is likely
to cause misinterpretations, as if the usage envisioned attempts to
fork the cited ecosystem.
(Often, the people who need to interpret the document in question are
actually more familiar with the cited document and the surrounding
ecosystem than the authors of the referencing document, who may just
be pulling in the ecosystem to solve one of their problems.)</t>
    </section>
    <section anchor="defuse">
      <name>Defusing restatements</name>
      <t>A general recommendation for readers of a referencing document is that
they should try to detect restatements and read them in full knowledge
of their perils (<xref target="perils"/>).
If a resolution is required, the RFC errata process may provide a
(poor) mechanism to obtain the resolution and ensure it is documented
in the context of the referencing document.
Mailing list discussions are also a good way to obtain a resolution,
but for additional readers they can be hard to find, and, when found,
it can be hard to extract any consensus that was formed.</t>
      <t>The rest of this section provides a summary of the recommendations
made by this document, employing <xref target="RFC2119"/> keywords as an instruction
to the potential implementers of this document, i.e., document authors
and reviewers.</t>
      <t>Much of the danger of restatements can be averted if they are
sufficiently identified by the authors as such.</t>
      <ul spacing="normal">
        <li>
          <t>For identification of internal restatements, use phrases such as:
In other words, hence, in particular, as discussed in Section NN.</t>
        </li>
        <li>
          <t>For identification of external restatements: As described/defined in
…, as per …</t>
        </li>
        <li>
          <t>In both cases, make sure that any local reference is clear and any
non-local reference is resolvable and well-scoped.</t>
        </li>
        <li>
          <t>Rephrasing the statement as a Note can make clear that there is no
normative intention.</t>
        </li>
        <li>
          <t>Examples <bcp14>MUST</bcp14> be identified clearly as such, including identifying
any explanatory notes as such so that these are not misunderstood as
new normative statements.</t>
        </li>
      </ul>
      <t>If a larger copy from a cited document is made, it <bcp14>SHOULD</bcp14> be made
verbatim and differences introduced deliberately should be explicitly
identified, possibly in a second step.
Note that the FDT mechanisms and their evolution can make verbatim
copies less useful, in which case a systematic approach of first
copying and fixing and then, if necessary, modifying can help the
reader.
For instance, <xref target="RFC2397"/> uses a variant form of ABNF that can be
parsed only once the variant "<tt>:=</tt>" syntax is replaced by "<tt>=</tt>".
(This is an active specification and was cited as recently as in
<xref section="4.3" sectionFormat="of" target="RFC9399"/>, which provides a clearly identified
restatement in modern ABNF, with errata applied and rules referenced
from elsewhere added [we ignore the innocuous redefinition of "hex"
from "HEXDIG"].)</t>
      <t>By making the copy informative, repairs from the base document (in the
<xref target="RFC2397"/> example e.g. <xref target="errata2397"/>) can be imported, even future
ones.</t>
      <t>Where the copy is made because the cited document is not openly
available, this also often requires more processing than a verbatim
copy, increasing the probability of introducing errors and
misunderstandings.
This can be somewhat mitigated by clearly stating the purpose of a
restatement, and the intended result when the restatement and the
original diverge.</t>
      <section anchor="summary-of-recommendations">
        <name>Summary of Recommendations</name>
        <t>(...Add nice checklist text for authors and reviewers based on <xref target="defuse"/> later...)</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="example-8288">
        <name>Example: Web linking <xref target="RFC8288"/></name>
        <t>This example is about an internal, FDT-induced restatement in
<xref target="RFC5988"/>, which turned into an external restatement in <xref target="RFC6690"/>,
which was not healed by the update to <xref target="RFC5988"/> in <xref target="RFC8288"/>.</t>
        <t><xref section="5" sectionFormat="of" target="RFC5988"/> defines a serialization of web links in a Link Header Field.
A link can have zero of more <tt>link-param</tt> parameters, each of which
has the form (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-extension = parmname [ "=" ( ptoken / quoted-string ) ]
]]></sourcecode>
        <t>So link-extensions can always be written as a <tt>quoted-string</tt>, or,
alternatively, without quotes as a <tt>ptoken</tt> if the more limited character
repertoire of <tt>ptoken</tt>s suffices.</t>
        <t>However, <xref target="RFC5988"/> also defines the specifics of a few link parameters.
When simply inserting this into the overall ABNF, the ABNF given for
these link parameters needs to <em>restate</em> the ABNF
for link parameters in their common syntax (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param  = ( "rel" "=" relation-types )
            / ( "anchor" "=" <"> URI-Reference <"> )
            / ( "rev" "=" relation-types )
            / ( "hreflang" "=" Language-Tag )
            / ( "media" "=" ( MediaDesc / ( <"> MediaDesc <"> ) ) )
            / ( "title" "=" quoted-string )
            / ( "type" "=" ( media-type / quoted-mt ) )
]]></sourcecode>
        <t>This restatement loses the intended choice between <tt>ptoken</tt> and <tt>quoted-string</tt> for
many predefined link parameters, only keeping it for <tt>"media"</tt> and
<tt>"type"</tt> (and <tt>"rel"</tt> in the definition of <tt>relation-types</tt>, which is
arguably faulty by allowing non-ptoken characters in an unquoted URI).</t>
        <t>One could say that this restatement was caused by a limitation of ABNF:
ABNF
cannot separately express both the overall syntax of link-params (which yields
the link-param value)) and the specific syntax for the predefined
link-params, contaminating the former with the latter.
The specific syntax would really need to be in terms of the value
yielded as opposed to <em>restating</em> the link-param syntax that yields the value.</t>
        <t><xref section="3" sectionFormat="of" target="RFC8288"/> finally repairs this:</t>
        <blockquote>
          <artwork><![CDATA[
link-param = token BWS [ "=" BWS ( token / quoted-string ) ]
]]></artwork>
          <t>Note that any link-param can be generated with values using either
  the token or the quoted-string syntax; therefore, recipients <bcp14>MUST</bcp14> be
  able to parse both forms.  In other words, the following parameters
  are equivalent:</t>
          <artwork><![CDATA[
x=y
x="y"
]]></artwork>
          <t>Previous definitions of the Link header did not equate the token and
  quoted-string forms explicitly; the title parameter was always
  quoted, and the hreflang parameter was always a token.  Senders
  wishing to maximize interoperability will send them in those forms.</t>
          <t>Individual link-params specify their syntax in terms of the value
  after any necessary unquoting (as per <xref section="3.2.6" sectionFormat="comma" target="RFC7230"/>).</t>
        </blockquote>
        <t>Unfortunately, <xref target="RFC6690"/> adds an external restatement copying from
<xref target="RFC5988"/> in defining a few more link-params (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param     = ( "rel" "=" relation-types )  ; ...
               / ( "type" "=" ( media-type / quoted-mt ) )
               / ( "rt" "=" relation-types )
               / ( "if" "=" relation-types )
               / ( "sz" "=" cardinal )
cardinal       = "0" / ( %x31-39 *DIGIT )
]]></sourcecode>
        <t>The letter of this specification for instance prohibits <tt>sz="47"</tt>
(requiring this to be represented as <tt>sz=47</tt>).   The repair in
<xref target="RFC8288"/> cannot quite fix this as:</t>
        <ul spacing="normal">
          <li>
            <t>it is not clear that the repair actually applies to <xref target="RFC6690"/> (a
general problem with updated ["obsoleted"] references)</t>
          </li>
          <li>
            <t>the ABNF in <xref target="RFC6690"/> would need to be rewritten to apply the rule
<tt>cardinal</tt> to the extracted value of the link-param.</t>
          </li>
        </ul>
      </section>
      <section anchor="example-restatement-of-iso8601-in-rfc3339">
        <name>Example: Restatement of <xref target="ISO8601"/> in <xref target="RFC3339"/></name>
        <t><xref target="RFC3339"/> was largely intended as a freely available restatement of
the paywalled <xref target="ISO8601"/>, with focus added on formally defining the
parts that might be useful in the Internet.
However, when <xref target="ISO8601-2000"/> introduced additional text that seemed to
disallow the syntax used for one extension that <xref section="4.3" sectionFormat="of" target="RFC3339"/> had made to the semantics of <xref target="ISO8601"/>, the precedence
remained unclear.
Implementers of Internet-related standards largely ignored the
additional semantics of that extension anyway, while implementers of
<xref target="ISO8601"/> in general often performed input validation that made sure
the extension made by <xref target="RFC3339"/> wouldn't work.
(This is only now being addressed by <xref section="2" sectionFormat="of" target="I-D.ietf-sedate-datetime-extended"/>.)</t>
      </section>
      <section anchor="example-6991">
        <name>Example: Date-Time in YANG (RFC6991)</name>
        <t><xref target="RFC6991"/> defines a YANG type <tt>date-and-time</tt> on page 11, restating
parts of <xref target="RFC3339"/> (the restatement is also faulty in its item (b), with an
attempted cleanup in <xref target="I-D.ietf-netmod-rfc6991-bis"/>).
Now that <xref target="RFC3339"/> is being bug-fixed via <xref section="2" sectionFormat="of" target="I-D.ietf-sedate-datetime-extended"/>, it is not clear whether the change
applies to the YANG type as well.
This is more of a problem for YANG than it might be otherwise, as it might trigger
the YANG concept of a "non-backwards-compatible" change to that
datatype — a problem that is not entirely <em>caused</em> by restatements but gets
much harder to discuss.</t>
      </section>
      <section anchor="example-9444">
        <name>Example: ACME for Subdomains (RFC9444-to-be)</name>
        <t>A late draft of what became <xref target="RFC9444"/> defines a new feature added to <xref target="RFC8555"/>, referencing
the base standard in a number of places.</t>
        <t>Reviewing the draft <xref target="I-D.draft-ietf-acme-subdomains-04"/>, <xref target="acme-comment"/> states:</t>
        <ul empty="true">
          <li>
            <t>## restatement vs. new normative content</t>
            <t>Providing a specification of a new feature added to ACME, the text
explains a number basic ACME mechanisms that are relevant to this
specification.</t>
            <t>One pervasive problem is that these restatements of RFC 8555 content
are not always easy to distinguish from new, normative statements made
by this document.
E.g., 4.2 contains a statement about "is defined" that is part of a
paragraph restating RFC 8555 -- this one, however, appears to be new
normative content.
(Languagetool diagnoses overuse of passive voice, which exacerbates
this problem.)</t>
            <t>(The first paragraph of section 4 repeats the last paragraph of
section 3.  But that is not a problem; redundancy can be good if it
improves the flow, and this is clearly labeled as a restatement.)
The introduction of section 4 is a summary/restatement of RFC 8555;
section 4.1 introduces new normative content without warning (and
leads the reader astray by actually referencing RFC 8555).</t>
          </li>
        </ul>
        <t>(These problems were ultimately addressed in <xref target="RFC9444"/>.)</t>
      </section>
      <section anchor="example-eat">
        <name>Example: Base64 Encoding variants in draft-ietf-rats-eat-20</name>
        <t>Base64 encoding is defined in <xref target="RFC4648"/>, but comes in a number of
variants.  These often have default settings that are to be used
"unless the specification referring to this document explicitly states
otherwise" (e.g., <xref section="3.2" sectionFormat="of" target="RFC4648"/>).</t>
        <t>Documents that reference <xref target="RFC4648"/> normatively are
surprisingly often sloppy in doing so.
Not <xref target="I-D.draft-ietf-rats-eat-20"/>: Its Section 2 (terminology) defines
the term "Base64url Encoding”, referencing <xref target="RFC4648"/> as well as
<xref target="RFC7515"/> to fill in the open questions from <xref target="RFC4648"/> (i.e., Section
5 and not Section 4, no '=' padding that would be default, no extra
characters).</t>
        <t>While this was a good start, incomplete restatements in the following
text cause a problem <xref target="rats-comment"/>:</t>
        <blockquote>
          <t>A term "base64url encoded” [...] is used in multiple places.  One of the
places restates its own reference to RFC 4648, but doesn’t restate
the reference to RFC 7515 and the text required with that.  This
restatement is very misleading as it strongly implies RFC 7515 is
<em>not</em> used here; the reference needs to be removed.  In the other
places I find the term is simply used, which assumes the reader
will think to look up the term in the terminology [...]</t>
        </blockquote>
        <t>(The problem in the draft was quickly addressed in the next revision.)</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Restatements about security requirements and properties can create the
same uncertainties and interoperability problems as restatements in
other contexts.
Security considerations sections have turned out to be an attractor
for such problems.
They are meant "both to encourage document authors to consider
security in their designs and to inform the reader of relevant
security issues" (<xref section="1" sectionFormat="of" target="RFC3552"/>).
In practice, they tend to be the first point in a document that
security issues are considered at all, so they often both contain
normative statements that are nowhere else in the document and
security-conscious restatements of other normative statements in the
document, the latter with all the perils that this memo is about.
The fact that security considerations sections are often heavily
fleshed out during IESG processing can exacerbate the problem.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="ISO8601" to="ISO8601:1988"/>
    <displayreference target="ISO8601-2000" to="ISO8601:2000"/>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <date month="March" year="1997"/>
              <abstract>
                <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
          </reference>
          <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
            <front>
              <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <date month="May" year="2017"/>
              <abstract>
                <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
          </reference>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="KOENIG">
          <front>
            <title>Patterns and Antipatterns</title>
            <author initials="A." surname="Koenig" fullname="Andrew Koenig">
              <organization/>
            </author>
            <date year="1995"/>
          </front>
          <seriesInfo name="J. Object Oriented Program." value="8(1): pp. 46-48 "/>
        </reference>
        <reference anchor="ANTIPATTERN" target="http://wiki.c2.com/?AntiPattern">
          <front>
            <title>Anti Pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="November" day="21"/>
          </front>
          <refcontent>C2 Wiki (Last edited:)</refcontent>
        </reference>
        <reference anchor="WP-ANTIPATTERN" target="https://en.wikipedia.org/w/index.php?title=Anti-pattern&amp;oldid=1144938932">
          <front>
            <title>Anti-pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="July" day="21"/>
          </front>
          <refcontent>Wikipedia page (at the time of writing:)</refcontent>
        </reference>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC2397">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="errata2397" target="https://www.rfc-editor.org/errata/rfc2397">
          <front>
            <title>RFC Errata Report » RFC Editor</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <refcontent>search result</refcontent>
        </reference>
        <reference anchor="RFC9399">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Logotypes in X.509 Certificates</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Freeman" initials="T." surname="Freeman"/>
            <author fullname="L. Rosenthol" initials="L." surname="Rosenthol"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a certificate extension for including logotypes in public key certificates and attribute certificates. This document obsoletes RFCs 3709 and 6170.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9399"/>
          <seriesInfo name="DOI" value="10.17487/RFC9399"/>
        </reference>
        <reference anchor="RFC5988">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5988"/>
          <seriesInfo name="DOI" value="10.17487/RFC5988"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC9444">
          <front>
            <title>Automated Certificate Management Environment (ACME) for Subdomains</title>
            <author fullname="O. Friel" initials="O." surname="Friel"/>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>This document specifies how Automated Certificate Management Environment (ACME) can be used by a client to obtain a certificate for a subdomain identifier from a certification authority. Additionally, this document specifies how a client can fulfill a challenge against an ancestor domain but may not need to fulfill a challenge against the explicit subdomain if certification authority policy allows issuance of the subdomain certificate without explicit subdomain ownership proof.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9444"/>
          <seriesInfo name="DOI" value="10.17487/RFC9444"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc6991-bis">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="Jürgen Schönwälder" initials="J." surname="Schönwälder">
              <organization>Constructor University</organization>
            </author>
            <date day="23" month="January" year="2023"/>
            <abstract>
              <t>   This document defines a collection of common data types to be used
   with the YANG data modeling language.  This version of the document
   adds several new type definitions and obsoletes RFC 6991.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc6991-bis-15"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="I-D.ietf-sedate-datetime-extended">
          <front>
            <title>Date and Time on the Internet: Timestamps with additional information</title>
            <author fullname="Ujjwal Sharma" initials="U." surname="Sharma">
              <organization>Igalia, S.L.</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document defines an extension to the timestamp format defined in
   RFC3339 for representing additional information including a time
   zone.

   It updates RFC3339 in the specific interpretation of the local offset
   Z, which is no longer understood to "imply that UTC is the preferred
   reference point for the specified time"; see Section 2.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present version (-11) addresses comments received during IESG
   // review.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sedate-datetime-extended-11"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-eat-20">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="13" month="June" year="2023"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-20"/>
        </reference>
        <reference anchor="rats-comment" target="https://mailarchive.ietf.org/arch/msg/rats/H8qXwQywD0W6x4QcC9Iwd5LYl2s">
          <front>
            <title>Re: [Rats] I-D Action: draft-ietf-rats-eat-20.txt</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="I-D.draft-ietf-acme-subdomains-04">
          <front>
            <title>ACME for Subdomains</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Tim Hollebeek" initials="T." surname="Hollebeek">
              <organization>DigiCert</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="29" month="June" year="2022"/>
            <abstract>
              <t>   This document outlines how ACME can be used by a client to obtain a
   certificate for a subdomain identifier from a certification
   authority.  The client has fulfilled a challenge against a parent
   domain but does not need to fulfill a challenge against the explicit
   subdomain as certification authority policy allows issuance of the
   subdomain certificate without explicit subdomain ownership proof.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-subdomains-04"/>
        </reference>
        <reference anchor="acme-comment" target="https://mailarchive.ietf.org/arch/msg/last-call/v0RYQkByhAII9yvaD6gbKWx0WtA">
          <front>
            <title>[Last-Call] Artart last call review of draft-ietf-acme-subdomains-04</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date year="2022" month="November" day="23"/>
          </front>
        </reference>
        <reference anchor="ISO8601" target="https://www.iso.org/standard/15903.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="1988" month="June"/>
          </front>
          <seriesInfo name="ISO" value="8601:1988"/>
          <annotation>Also available from &lt;⁠<eref target="https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf</eref>&gt;.</annotation>
        </reference>
        <reference anchor="ISO8601-2000" target="https://www.iso.org/standard/26780.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="2000" month="December"/>
          </front>
          <seriesInfo name="ISO" value="8601:2000"/>
        </reference>
      </references>
    </references>
    <?line 587?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Julian Reschke opened the author's eyes to the fundamental problem of
restatements, possibly not using this word.
Many IETFers over decades have worked on mitigating restatements; the
author apologizes that examples in this memo naturally mainly come
from the author's own recollection.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vc2XIbSXZ9z69IQ2E3KQPgKrVItdRDLd1Nj7YR2aFpt9tk
AZUAaliowlRWEYIYmhj/g1/84Ag/OPwTfhv/SX+J77k3MysLhNQztt/spQXW
kstdz12yBoOBuj7WB0rVWZ2bY30+M/qtsXVSm7kpan1S1NngTVLXpipUMhpV
5voXHkrLcZHMaai0Sib1YFRW86QoBlX7/CCnH7ZWY/pnWlarY50Vk1LZujLJ
HH+kZmHoP0WtVErPHKtxWVhT2MYeqzs6ocfw77KsrqZV2SyO1ZVZ0V/psVLX
pmgM7up5kuXHupeZevIr/GdYVtOe0nqa1bNmRHfGyajciZbVUypp6llZHdNT
A/p/TUuxx/rpUD+RTfA12dzTpLK1KTp3aIJj/X2RXZvKZvV//Xutn1QYWZ//
/Sk/gB2a+li/KW09ScYzfXCwe3i4y/fGWU2EkBfkQpnSPM8G+w8O7h25K01R
g1zfGky64ouLWVnQc397eDQ43N8b7O89GNw/ONrf45tGiICd/qr+kIEESoHY
9H5N68ROf/36+avTb4/5+Xb/7U5PirQyS/3r0hTZlO84UXEMtzopUhaBhbsg
ezVVZizm8sP93VC/Hv3OjGv9mm4VtUn1m6qcVsl8eKwfu4e0frC1t32sF4uh
Prw/OHzA11kK9N7R0T368+TV+embk/Pz529fydB1Uk1B1lldL453dpbZVTYc
7w/H5Xzna6zLS2a0dlzW8fVqTDzd1+/oXb31IrG1NmlGSzzejhawv7u3P9gD
keniuzeDz67E0lJMMcRqFjRWAuLvLHcg3e+Hi9nia17KI9YdR7m/KfM0Sx/t
7R0eHh08ODrYX1+yfzAs+Z0fXS+SqdFbSa1rUs46mxtdTvSyyuqsmK5tYv9g
sPulbOLtN08P7t3bPyZ2jaFkcmn/4OhLbMhUVVIn/q/b21sul8NqMh6AVGXF
G5RXdugqXovX36OB9XO+TcZjUVa1/tN/ar7Ir/fCpqxJKlIOUs0mr2VFRwdH
R9Dq5++T+SI39lgu3zt68MD9vH//aNf9fLAfrn65f+CvHt4/DFfv7d3zrx0d
7bmfR4eHh/h5Ong2hMEYFKael+mA9oKnBqPMT3twcHDUedIa0HaA/4D0A/O+
hgFLsRdcdM+KReQ3iAx2YJJ6sM/r4z9JYGGHNtMamgyykNYOvTnbwYWduZ3u
4P2d7x78/rfL36yWz3bf3X9/+Jvx06PTZXrvxQ/5vo0Z4VXtLf3+8S29+BMW
p0/GdVYW3myvL3JYv68/aSJuG0Nw4d69e8e3N56MiT62GaUl7aiwg12mOV/t
7D8Iq2jcwf+AKDmp8WCc5PnO9e7bH35z9WQ1Ozk9PVpdJ8/uT0e/fvd+9119
sokyP8IADJ7Smz/pk4omrTXG0hiLxPI6I3tI2vXZXf0FxDo9e/3g/u6e23dm
F3lCRt5f3SMZ/6T2ZbbkPZMTK9KkSnf27h3tHgxn9TzftLFnUD6Ts7sTu52R
HSZ6JQVZD3ELVv/8x3/Wp95JlEXnGboXxGdBGkoDyUOgB9w6jwolsLcoMBAP
eYrhCn4ryckXTJMi+yCD0Jz6zG3FXXOzeehBVPmEe6E7x/qLQLIvOo7jwYPB
7n1ZUEEyfpLbUifXkJ5RThuvyrn+6ud/+revPG2L63zRjOywyGw9nJbXO/iB
KzsvzDQZr3a+OX1ztjPJFpYuHg72BuSb9oaLdPL48bDlKOnN7u4aW7/wfMW9
L/58xu7f//LB7v93xrY08+Zhd3ewt6+UGgwGNBQBrGRMqPHHf6Tfe4Of3K/9
8IuuHetXHv5owqqNkKyekeskDEZukxxopYsNz5ST2mGzuw423o2eI/dZAwyT
7cciCN2UTQ3qwSFj5DQMRYQXJs5MVulyWQDLpnbYLlcwtuODnpt5SeOSAJFt
0cvZit7MLJmjQo8M8SVGX33wiUeflUud1f6pOSGBKS05DbNk/5tpeIabGwGP
Hz/e3ERY6ONHXsRnFgBuzbM0zY0ip05yU5Vpw/7nNu8y/LxzRz8tCwL3eEZE
8ZmZZEXGfyt1kpM0NtOZrLilsyUG1Vj66fPzb4IEWn1OLLrSpLt5NmZp7NNK
VZKWC5YF5maYDcLb8jkndWkAtuqSKFdeZyk9TV6I8Dtxm9A1CaHsxeIRDJYB
s2BBphoqUJziFWG57r38/uy815d/9avX/Pvt8998f/r2+TP8Pvvu5MWL8EO5
J86+e/39i2ftr/bNp69fvnz+6pm8TFd155LqvTz5oSfs6b1+c376+tXJix7J
4xrhKMbC4oltbCNIQiC/iVWpseMqGxkYGP3k6Zs//dveIcnBX9HPvcOPH0lq
jIigLot85f4kGqxUslgQrsNr8KLjZJHVSW7pWavtDDpAamdINu7+CFKQaH41
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
WwAA

-->

</rfc>
