<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-meunier-webbotauth-registry-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="Registry and Signature Agent card for Web bot auth">Registry and Signature Agent card for Web bot auth</title>
    <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-registry-00"/>
    <author fullname="Maxime Guerreiro">
      <organization>Cloudflare</organization>
      <address>
        <email>maxime.guerreiro@gmail.com</email>
      </address>
    </author>
    <author fullname="Thibault Meunier">
      <organization>Cloudflare</organization>
      <address>
        <email>ot-ietf@thibault.uk</email>
      </address>
    </author>
    <date year="2025" month="September" day="05"/>
    <area>Web and Internet Transport</area>
    <workgroup>Web Bot Auth</workgroup>
    <keyword>not-yet</keyword>
    <abstract>
      <?line 55?>

<t>This document describes a JSON based format for clients using <xref target="DIRECTORY"/>
to advertise information about themselves.</t>
      <t>This document describes a JSON-based "Signature Agent Card" format for signature agent using <xref target="DIRECTORY"/> to advertise metadata about themselve. This includes identity, purpose, rate expectations,
and cryptographic keys. It also establishes an IANA registry for Signature Agent
Card parameters, enabling extensible and interoperable discovery of agent
information.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://thibmeu.github.io/http-message-signatures-directory/draft-meunier-webbotauth-registry.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Bot Auth Working Group mailing list (<eref target="mailto:web-bot-auth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/web-bot-auth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/web-bot-auth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/thibmeu/http-message-signatures-directory"/>.</t>
    </note>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Signature Agents are entities that originate or forward signed HTTP requests on behalf
of users or services. They include bots developers, platforms providers,
and other intermediaries using <xref target="DIRECTORY"/>. These agents often
need to identify themselves, and establish
trust with origin servers.</t>
      <t>Today, the mechanisms for doing so are inconsistent: some rely on User-Agent
strings (e.g. <tt>MyCompanyBot/1.0</tt>), others on IP address lists hosted on file servers (e.g. <tt>badbots.com</tt>), and still others on out-of-band
definitions (e.g. documentation on docs.example.com/mybot). This diversity makes it difficult for operators and origin servers
to reliably discover and share a Signature Agent’s purpose, contact information, or rate
expectations.
Existing discovery mechanisms, such as <xref target="OPENID-CONNECT-DISCOVERY"/>, do not have the necessary
granularity, and pursue different goals.</t>
      <t>This document introduces a JSON-based "Signature Agent Card" format for Signature
Agents, to be published in registries and discovered by servers. It also
creates a new IANA registry of "Signature Agent Card Parameters" to ensure
extensibility and consistency of future attributes.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="signature-agent-card">
      <name>Signature Agent Card</name>
      <t>Signature-Agent header is defined in <xref section="4.1" sectionFormat="of" target="DIRECTORY"/>.
This section describes Signature Agent Card, a JSON object containing parameters describing the Signature Agent.</t>
      <artwork><![CDATA[
{
  "name": "Example Bot",
  "contact": "bot-support@example.com",
  "logo": "https://example.com/",
  "expected-user-agent": "Mozilla/5.0 ExampleBot",
  "rfc9309-product-token": "ExampleBot",
  "rfc9309-compliance": ["User-Agent", "Allow", "Disallow", "Content-Usage"],
  "trigger": "fetcher",
  "purpose": "tdm",
  "targeted-content": "Cat pictures",
  "rate-control": "429",
  "rate-expectation": "avg=10rps;max=100rps",
  "known-urls": ["/", "/robots.txt", "*.png"],
  "keys": {
    "kty": "OKP",
    "crv": "Ed25519",
    "kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
    "x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
    "use": "sig",
    "nbf": 1712793600,
    "exp": 1715385600
  }
}
]]></artwork>
      <t>Unless otherwise specified, all parameters in this document are <bcp14>OPTIONAL</bcp14>.
Unknown parameters <bcp14>MUST</bcp14> be ignored. All string values are UTF-8.</t>
      <section anchor="signature-agent-parameter-name">
        <name>Name</name>
        <t>The <tt>name</tt> parameter provides a friendly identifier for the Signature Agent.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>ExampleBot</t>
          </li>
          <li>
            <t>My remote browser company</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-contact">
        <name>Contact</name>
        <t>The <tt>contact</tt> parameter provides an email address or reliable communication
channel.</t>
        <t>Example
* bot-support@example.com
* https://example.com/contact</t>
      </section>
      <section anchor="signature-agent-parameter-logo">
        <name>Logo</name>
        <t>The <tt>logo</tt> parameter provides an image reference for visual identification.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>data:image/svg+xml;base64,deadbeef</t>
          </li>
          <li>
            <t>https://example.com/logo.png</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-user-agent">
        <name>Expected user agent</name>
        <t>The <tt>expected-user-agent</tt> parameter specifies one or more <tt>User-Agent</tt> strings as defined in <xref section="10.1.5" sectionFormat="of" target="HTTP"/>
or prefix matches. Prefixes <bcp14>MAY</bcp14> use <tt>*</tt> as a wildcard.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>Mozilla/5.0 ExampleBot</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-robotstxt-token">
        <name>robots.txt product token</name>
        <t>The <tt>rfc9309-product-token</tt> parameter specifies the product token used for
<tt>robots.txt</tt> directives per <xref section="2.2.1" sectionFormat="of" target="ROBOTSTXT"/>.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>ExampleBot</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-robotstxt-compliance">
        <name>robots.txt compliance</name>
        <t>The <tt>rfc9309-compliance</tt> parameter lists directives from <tt>robots.txt</tt> that the
agent implements.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>["User-Agent", "Disallow"]</tt></t>
          </li>
          <li>
            <t><tt>["User-Agent", "Disallow", "CrawlDelay"]</tt></t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-trigger">
        <name>Trigger</name>
        <t>The <tt>trigger</tt> parameter indicates the operational mode of the agent.</t>
        <t>Valid values:</t>
        <ol spacing="normal" type="1"><li>
            <t>"fetcher" - request initiated by the user</t>
          </li>
          <li>
            <t>"crawler" - autonomous scanning</t>
          </li>
        </ol>
      </section>
      <section anchor="signature-agent-parameter-purpose">
        <name>Purpose</name>
        <t>The <tt>purpose</tt> parameter describes the intended use of collected data. Values
<bcp14>SHOULD</bcp14> be drawn from a controlled vocabulary, such as <xref target="AIPREF-VOCAB"/>.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>search</t>
          </li>
          <li>
            <t>tdm</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-targeted-content">
        <name>Targeted content</name>
        <t>The <tt>targeted-content</tt> parameter specifies the type of data the agent seeks.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>SEO analysis</t>
          </li>
          <li>
            <t>Vulnerability scanning</t>
          </li>
          <li>
            <t>Ads verification</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-rate-control">
        <name>Rate control</name>
        <t>The <tt>rate-control</tt> parameter indicates how origins can influence the agent’s
request rate.</t>
        <t>TODO: specify a format</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>CrawlDelay in robots.txt (non-standard)</t>
          </li>
          <li>
            <t>Custom tool</t>
          </li>
          <li>
            <t>429 + <xref target="RATELIMIT-HEADER"/></t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-rate-expectation">
        <name>Rate expectation</name>
        <t>The <tt>rate-expectation</tt> parameter specifies anticipated request volume or
burstiness.</t>
        <t>TODO: consider a format such as <tt>avg=10rps;max=100rps</tt></t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>500 rps</t>
          </li>
          <li>
            <t>Spikes during reindexing</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-known-urls">
        <name>Known URLs</name>
        <t>The <tt>known-urls</tt> parameter lists predictable endpoints accessed by the agent.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>/</t>
          </li>
          <li>
            <t>/ads.txt</t>
          </li>
          <li>
            <t>/favicon.ico</t>
          </li>
          <li>
            <t>/index.html</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-keys">
        <name>Keys</name>
        <t>The <tt>keys</tt> parameter contains a JWKS as defined in <xref section="5" sectionFormat="of" target="JWK"/>.</t>
        <t>If <tt>keys</tt> is present, it is <bcp14>RECOMMENDED</bcp14> that the card is signed using <xref target="HTTP-MESSAGE-SIGNATURES"/>.
<tt>Content-Digest</tt> header <bcp14>MUST</bcp14> be included in the covered components.</t>
        <t>TODO: describe signature, CWS keys.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t>https://example.com/.well-known/http-message-signatures-directory</t>
          </li>
          <li>
            <t>JWKS-directory</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="discovery">
      <name>Discovery</name>
      <t>Discovery is done via a registry.
A registry is a list of URLs, each one pointing to a signature card.</t>
      <t>URLS can be:</t>
      <ul spacing="normal">
        <li>
          <t>https</t>
        </li>
        <li>
          <t>http</t>
        </li>
        <li>
          <t>data</t>
        </li>
      </ul>
      <t>Example</t>
      <sourcecode type="txt"><![CDATA[
https://bot1.example.com/.well-known/signature-agent-card
https://crawler2.example.com/.well-known/signature-agent-card
https://zerotrust-gateway.example.com/.well-known/signature-agent-card
data:application/json;,...
]]></sourcecode>
      <section anchor="out-of-band-communication-between-client-and-origin">
        <name>Out-of-band communication between client and origin</name>
        <t>A service submitting their key to an origin, or the origin manually adding a service to their trusted list.</t>
        <section anchor="public-list">
          <name>Public list</name>
          <t>Could be a GitHub repository like the public suffix list. The issue is the gating of such repositories, and therefore its governance.</t>
        </section>
        <section anchor="signature-agent-card-header">
          <name>Signature-Agent-Card header</name>
          <t>This allows for backward compatibility with existing header agent filtering, and an upgrade to a cryptographically secured protocol.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Malicious actors may put properties which are not theirs in the registry. Client <bcp14>SHOULD</bcp14> verify signature if they are present.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="signature-agent-card-registry">
        <name>Signature Agent Card Parameters Registry</name>
        <t>IANA is requested to create a new "Signature Agent Card Parameters" registry in a new
"Signature Agent Card" page to list metadata for signature agent protocols.</t>
        <section anchor="registration-template">
          <name>Registration template</name>
          <t>New registrations need to list the following attributes:</t>
          <dl spacing="compact">
            <dt><strong>Parameter Name:</strong></dt>
            <dd>
              <t>The name requested (e.g. "useragent"). This name is
case sensitive.  Names may not match other registered names in a
case-insensitive manner unless the Designated Experts state that
there is a compelling reason to allow an exception</t>
            </dd>
            <dt><strong>Parameter Description:</strong></dt>
            <dd>
              <t>Brief description of the Header Parameter</t>
            </dd>
            <dt><strong>Change Controller:</strong></dt>
            <dd>
              <t>For Standards Track RFCs, list the "IESG".  For others, give the
name of the responsible party.  Other details (e.g., postal
address, email address, home page URI) may also be included.</t>
            </dd>
            <dt><strong>Reference:</strong></dt>
            <dd>
              <t>Where this parameter is defined</t>
            </dd>
            <dt><strong>Notes:</strong></dt>
            <dd>
              <t>Any notes associated with the entry</t>
            </dd>
          </dl>
          <t>New entries in this registry are subject to the Specification Required
registration policy (<xref section="4.6" sectionFormat="comma" target="RFC8126"/>). Designated experts need to
ensure that the token type is defined to be used for both token issuance and
redemption. Additionally, the experts can reject registrations on the basis
that they do not meet the security and privacy requirements defined in TODO.</t>
        </section>
        <section anchor="initial-registry-content">
          <name>Initial Registry content</name>
          <t>This section registers the Signature Agent Card Parameter names defined
in <xref target="signature-agent-card"/> in this registry.</t>
          <section anchor="name-parameter">
            <name>Name Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>name</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>A friendly name for your signature agent.</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-name"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="contact-parameter">
            <name>Contact Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>contact</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Email or any other reliable communication channel</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-contact"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="logo-parameter">
            <name>Logo Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>logo</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Image for a quick visual identification</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-logo"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="expected-user-agent-parameter">
            <name>Expected User Agent Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>expected-user-agent</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>String or fragment patterns</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-user-agent"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="rfc9309-product-token-parameter">
            <name>RFC9309 Product Token Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>rfc9309-product-token</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Robots.txt product token your signature-agent satisfies.</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-robotstxt-token"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="rfc9309-compliance-parameter">
            <name>RFC9309 Compliance Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>rfc9309-compliance</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Does your signature-agent respect robots.txt.</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-robotstxt-compliance"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="trigger-parameter">
            <name>Trigger Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>trigger</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Fetcher/Crawler</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-trigger"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="purpose-parameter">
            <name>Purpose Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>purpose</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Intended use for the collected data</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-purpose"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="targeted-content-parameter">
            <name>Targeted Content Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>targeted-content</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Type of data your agent seeks</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-targeted-content"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="rate-control-parameter">
            <name>Rate control Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>rate-control</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>How can an origin control your crawl rate</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-rate-control"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="rate-expectation-parameter">
            <name>Rate expectation Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>rate-expectation</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Expected traffic and intensity</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-rate-expectation"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="known-urls-parameter">
            <name>Known URLs Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>known-urls</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Predictable endpoint accessed</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-known-urls"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="keys-parameter">
            <name>Keys Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>keys</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>JWKS Endpoint</t>
              </dd>
              <dt><strong>Change Controller:</strong></dt>
              <dd>
                <t>IETF</t>
              </dd>
              <dt><strong>Reference:</strong></dt>
              <dd>
                <t><xref target="signature-agent-parameter-keys"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="AIPREF-VOCAB">
          <front>
            <title>A Vocabulary For Expressing AI Usage Preferences</title>
            <author fullname="Paul Keller" initials="P." surname="Keller">
              <organization>Open Future</organization>
            </author>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <date day="4" month="September" year="2025"/>
            <abstract>
              <t>   This document defines a vocabulary for expressing preferences
   regarding how digital assets are used by automated processing
   systems.  This vocabulary allows for the declaration of restrictions
   or permissions for use of digital assets by such systems.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-aipref-vocab-03"/>
        </reference>
        <reference anchor="DIRECTORY">
          <front>
            <title>HTTP Message Signatures Directory</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <date day="5" month="September" year="2025"/>
            <abstract>
              <t>   This document describes a method for clients using
   [HTTP-MESSAGE-SIGNATURES] to advertise their signing keys.

   It defines a key directory format based on JWKS as defined in
   Section 5 of [JWK], as well as new HTTP Method Context to allow for
   in-band key discovery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-meunier-http-message-signatures-directory-03"/>
        </reference>
        <reference anchor="HTTP-MESSAGE-SIGNATURES">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="HTTP-CACHE">
          <front>
            <title>HTTP Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
        <reference anchor="HTTP-MORE-STATUS-CODE">
          <front>
            <title>Additional HTTP Status Codes</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6585"/>
          <seriesInfo name="DOI" value="10.17487/RFC6585"/>
        </reference>
        <reference anchor="JWK">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="JWK-OKP">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="JWK-THUMBPRINT">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="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">
          <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>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="OAUTH-BEARER">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="OPENID-CONNECT-DISCOVERY" target="https://openid.net/specs/openid-connect-discovery-1_0.html">
          <front>
            <title>OpenID Connect Discovery 1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RATELIMIT-HEADER">
          <front>
            <title>RateLimit header fields for HTTP</title>
            <author fullname="Roberto Polli" initials="R." surname="Polli">
              <organization>Team Digitale, Italian Government</organization>
            </author>
            <author fullname="Alex Martínez Ruiz" initials="A. M." surname="Ruiz">
              <organization>Red Hat</organization>
            </author>
            <author fullname="Darrel Miller" initials="D." surname="Miller">
              <organization>Microsoft</organization>
            </author>
            <date day="17" month="March" year="2025"/>
            <abstract>
              <t>   This document defines the RateLimit-Policy and RateLimit HTTP header
   fields for servers to advertise their quota policies and the current
   service limits, thereby allowing clients to avoid being throttled.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpapi-ratelimit-headers-09"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="ROBOTSTXT">
          <front>
            <title>Robots Exclusion Protocol</title>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="G. Illyes" initials="G." surname="Illyes"/>
            <author fullname="H. Zeller" initials="H." surname="Zeller"/>
            <author fullname="L. Sassman" initials="L." surname="Sassman"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document specifies and extends the "Robots Exclusion Protocol" method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers. Specifically, it adds definition language for the protocol, instructions for handling errors, and instructions for caching.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9309"/>
          <seriesInfo name="DOI" value="10.17487/RFC9309"/>
        </reference>
      </references>
    </references>
    <?line 583?>

<section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>TODO</t>
    </section>
    <section anchor="implementations">
      <name>Implementations</name>
      <t>TODO</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
      <t>The editor would also like to thank the following individuals (listed in alphabetical order) for feedback, insight, and implementation of this document -</t>
    </section>
    <section numbered="false" anchor="changelog">
      <name>Changelog</name>
      <t>v00</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
34egyiaO/42E9/9FM5UVYDYAAA==

-->

</rfc>
