<?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-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <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-01"/>
    <author fullname="Maxime Guerreiro">
      <organization>Cloudflare</organization>
      <address>
        <email>maxime.guerreiro@gmail.com</email>
      </address>
    </author>
    <author fullname="Ulas Kirazci">
      <organization>Amazon</organization>
      <address>
        <email>ulaskira@amazon.com</email>
      </address>
    </author>
    <author fullname="Thibault Meunier">
      <organization>Cloudflare</organization>
      <address>
        <email>ot-ietf@thibault.uk</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>Web and Internet Transport</area>
    <workgroup>Web Bot Auth</workgroup>
    <keyword>not-yet</keyword>
    <abstract>
      <?line 62?>

<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 72?>

<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[
{
  "client_name": "Example Bot",
  "client_uri": "https://example.com/bot/about.html",
  "logo_uri": "https://example.com/",
  "contacts": ["mailto:bot-support@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>.
There <bcp14>MUST</bcp14> be at least one parameter set.</t>
      <t>Parameters for which the value is unknown <bcp14>MUST</bcp14> be ignored.
All string values are UTF-8.</t>
      <section anchor="signature-agent-parameter-name">
        <name>Client Name</name>
        <t>The <tt>client_name</tt> parameter provides a friendly identifier for the Signature Agent.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>ExampleBot</tt></t>
          </li>
          <li>
            <t><tt>My remote browser company</tt></t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-about">
        <name>Client URI</name>
        <t>The <tt>client_uri</tt> parameter provides inline content or a web page describing the bot: e.g. what does it do, how it handles data it fetches.</t>
        <t>Only http, https or data:text/plain are allowed.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>https://example.com/bot/about.html</tt></t>
          </li>
          <li>
            <t><tt>data:text/plain,The Example bot is about providing an example.</tt></t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-contact">
        <name>Contacts</name>
        <t>The <tt>contacts</tt> parameter provides reliable communication channels in URI forms.
Typically, this is an email address.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>["mailto:bot-support@example.com"]</tt></t>
          </li>
          <li>
            <t><tt>["https://example.com/contact"]</tt></t>
          </li>
        </ul>
      </section>
      <section anchor="signature-agent-parameter-logo">
        <name>Logo URI</name>
        <t>The <tt>logo_uri</tt> parameter provides an image reference for visual identification.</t>
        <t>TODO: Recommendation for size and format, if there is a clear consensus or reference we can point to.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>data:image/svg+xml;base64,deadbeef</tt></t>
          </li>
          <li>
            <t><tt>https://example.com/logo.png</tt></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><tt>Mozilla/5.0 ExampleBot</tt></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><tt>ExampleBot</tt></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><tt>fetcher</tt> - request initiated by the user</t>
          </li>
          <li>
            <t><tt>crawler</tt> - 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><tt>search</tt></t>
          </li>
          <li>
            <t><tt>tdm</tt></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.
Its format is arbitrary UTF-8 encoded string.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>SEO analysis</tt></t>
          </li>
          <li>
            <t><tt>Vulnerability scanning</tt></t>
          </li>
          <li>
            <t><tt>Ads verification</tt></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>These URLs may be absolute URLs like <tt>https://example.com/index.html</tt>.
They could be relative path like <tt>/ads.txt</tt>.
Or they can use <tt>*</tt> as wildcard such as <tt>*.png</tt>.</t>
        <t>Example</t>
        <ul spacing="normal">
          <li>
            <t><tt>["/"]</tt></t>
          </li>
          <li>
            <t><tt>["/ads.txt"]</tt></t>
          </li>
          <li>
            <t><tt>["/favicon.ico"]</tt></t>
          </li>
          <li>
            <t><tt>["/index.html"]</tt></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>A registry is a list of URLs, each refering to a signature agent card.</t>
      <t>The URI scheme <bcp14>MUST</bcp14> be one of:</t>
      <ul spacing="normal">
        <li>
          <t>https (<bcp14>RECOMMENDED</bcp14>): Points to an HTTPS resource serving a signature agent card</t>
        </li>
        <li>
          <t>http: Points to an HTTP resource serving a signature agent card</t>
        </li>
        <li>
          <t>data: Contains an inline signature agent card</t>
        </li>
      </ul>
      <t>Example</t>
      <sourcecode type="txt"><![CDATA[
# An example list of bots
https://bot1.example.com/.well-known/signature-agent-card
https://crawler2.example.com/.well-known/signature-agent-card

# Now the list of platforms
https://zerotrust-gateway.example.com/.well-known/signature-agent-card

# Below is an inlined card with the data URL scheme
data:application/json;,... # Invalid, not defined
]]></sourcecode>
      <section anchor="formal-syntax">
        <name>Formal Syntax</name>
        <t>Below is an Augmented Backus-Naur Form (ABNF) description, as described in <xref target="ABNF"/>.</t>
        <t>The below definition imports <tt>http-URI</tt> and <tt>https-URI</tt> from <xref target="HTTP"/>, and
<tt>dataurl</tt> from <xref target="DATAURL"/>.</t>
        <artwork><![CDATA[
registry = *(cardendpointline / emptyline)
cardendpointline = (
    http-URI /       ; As defined in Section 4.2.1 of RFC 9110
    https-URI /      ; As defined in Section 4.2.2 of RFC 9110
    dataurl          ; As defined in Section 3 of RFC 2397
) EOL


comment = "#" *(UTF8-char-noctl / WS / "#")
emptyline = EOL
EOL = *WS [comment] NL ; end-of-line may have
                       ; optional trailing comment
NL = %x0D / %x0A / %x0D.0A
WS = %x20 / %x09

; UTF8 derived from RFC 3629, but excluding control characters

UTF8-char-noctl = UTF8-1-noctl / UTF8-2 / UTF8-3 / UTF8-4
UTF8-1-noctl = %x21 / %x22 / %x24-7F ; excluding control, space, "#"
UTF8-2 = %xC2-DF UTF8-tail
UTF8-3 = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2UTF8-tail /
         %xED %x80-9F UTF8-tail / %xEE-EF 2UTF8-tail
UTF8-4 = %xF0 %x90-BF 2UTF8-tail / %xF1-F3 3UTF8-tail /
         %xF4 %x80-8F 2UTF8-tail

UTF8-tail = %x80-BF
]]></artwork>
      </section>
      <section anchor="out-of-band-communication-between-client-and-origin">
        <name>Out-of-band communication between client and origin</name>
        <t>A signature agent <bcp14>MAY</bcp14> submit their signature agent card to an origin, or the
origin <bcp14>MAY</bcp14> manually add them to their local registry.</t>
      </section>
      <section anchor="public-list">
        <name>Public list</name>
        <t>A registry <bcp14>MAY</bcp14> be provided via a GitHub repository, a public file server, or a
dedicated endpoint.</t>
        <t>The registry <bcp14>SHOULD</bcp14> be served over HTTPS.</t>
        <t>A client application <bcp14>SHOULD</bcp14> validate the directory format and reject malformed
entries.</t>
      </section>
      <section anchor="signature-agent-header">
        <name>Signature-Agent header</name>
        <t>Signature Agent Card format defined in <xref target="signature-agent-card"/> extends the
format of <tt>Signature-Agent</tt> header as defined in <xref section="4.1" sectionFormat="of" target="DIRECTORY"/>.</t>
        <t>When used for HTTP Message Signatures, and hosted on a well-known URL, Signature
Agent Card <bcp14>MAY</bcp14> be discovered via a <tt>Signature-Agent</tt> header.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Malicious actors may put properties which are not theirs in the registry. If signatures are present, clients <bcp14>MUST</bcp14> verify them.
Clients <bcp14>SHOULD</bcp14> reject cards with invalid signatures.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <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 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="client-name-parameter">
            <name>Client Name Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>client_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="client-uri-parameter">
            <name>Client URI Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>client_uri</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>Describes what the bot does inline with data URI or with an HTTP link to an external resource</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-about"/></t>
              </dd>
              <dt><strong>Notes:</strong></dt>
              <dd>
                <t>N/A</t>
              </dd>
            </dl>
          </section>
          <section anchor="logo-uri-parameter">
            <name>Logo URI Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>logo_uri</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="contacts-parameter">
            <name>Contacts Parameter</name>
            <dl>
              <dt><strong>Parameter Name:</strong></dt>
              <dd>
                <t>contacts</t>
              </dd>
              <dt><strong>Parameter Description:</strong></dt>
              <dd>
                <t>An array of URI with a reliable communication channel; typically email addresses</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="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="ABNF">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <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="20" month="October" 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-04"/>
        </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="DATAURL">
          <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="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="27" month="September" 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-10"/>
        </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>
        <reference anchor="UTF8">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
      </references>
    </references>
    <?line 679?>

<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
<!--
Ulas Kirazci.
-->
      </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>v01</t>
      <ul spacing="normal">
        <li>
          <t>Add contributors</t>
        </li>
        <li>
          <t>Aligning registry draft with oauth dynamic client registration iana registry</t>
        </li>
        <li>
          <t>Add an about-url field</t>
        </li>
        <li>
          <t>Add ABNF for discovery of signature-agent card (registry)</t>
        </li>
        <li>
          <t>Add precisions about known URLs</t>
        </li>
        <li>
          <t>Add placeholder for image size</t>
        </li>
      </ul>
      <t>v00</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vb63LbRpb+j6foYWqrbA9BibrYljyeCSVStsaWqNElzmwq
FTWBJokIBLi4SKZdSu1r7L99ln2UfZL9zjndIEhRYrLlcSU20ejLuV8bvu97
RVTEZl81zs0oyotspnQSqotolOiizIzqjExSqEBnoRqmmfpkBmqQFkqXxbjh
6cEgM7f/z8WBLswozWb7KkqGqeeFaZDoCUAJMz0s/Ikpk8hk/p0ZYA0t8TN7
ir/Z9vJyMInyPEqTYjbFouPe5ZGXlJOByfa9EFvve0Ga5CbJy3xfFVlpPAC6
7enMaABMoBCsx0lhssQU6jLTST5Ns6Lh3aXZzShLy6mddwCQOwzyjZnhZbjv
KV8laeHPTOHdmqTEYUqtXqKUwNf4hF2jZKTe0TQan+goxjjw84GgTxh+H5li
2EqzEb3XWTDG+3FRTPP9jQ2aTkPRrWm5aRs0sDHI0rvcbNQ32qANRlExLgfY
ohhHA5Bzg7YCXfNcj4yfOy7lfhhlJijACloVg3Z5UTvYrm7Jdq0oXb/PxloW
tsbFJG54Hg2mGREURys1LONYhOBEf44mRr0rTZaZKEv5NVDWSfRFF2D7vjqM
0zIcgiiGXxoh6IQXtkZu4fcjGm8F6eThIVexztWHKNNfgmjFAZ2J/pIm9c1L
LLjB/O81v1q96yUIpsu4UCeC/+8GHcwjzn5f2A1a5Y3nJWk2wapblrHOwenR
vjo/Otzd2t6h5+Oz896R/0P/sHMAHfC7LaE8bePraJqZoX+bBnqAud3j897h
Zf/8n/WJjkVrWYoN3l9envknvYuLzruef3H87rRzeXXeu2B49na22naKPLfb
m27JYefwfc+NtquN+ufY5RJ7XPiH/a5MeLn7ehcT/v7pAz++2m2/kke//0E2
fr257YYu31+dHJydH59eyuSX2689zyNjUqNYt3PZuTr/yDO2tvdobb9zdfne
P+h1znvncuqrXQK2f9Y7Pe4CmNNTEMrvHl8c9n/ogV7MI2sn+1OTHHfVYZok
IIzqRnmQ3hpYvnZrU+bpbGSgP059UiyIwhZszEY+NUFuB/xAdgCF7Q5++5dN
Vgtsc9657H08Pjm+9N/3Ol0Cc4m3tLueRn4GbY2jSVT4Y6NDk+W0GFTa2XlJ
YJ/3D/qXF5c/CoX2tjf3MHh1efSan7dfbu15nu/7Sg+glDooPA/CmyuY4nJC
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
0EIAAA==

-->

</rfc>
