<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.7) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-kavian-aep-service-documents-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="AEP Service Documents">AEP Service Documents</title>

    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization>Jarwin, Inc. (InFlow)</organization>
      <address>
        <email>nas@inflowpay.ai</email>
      </address>
    </author>

    <date year="2026" month="October" day="31"/>

    
    
    

    <abstract>


<?line 38?>

<t>This document defines an optional Agent Enrollment Protocol (AEP)
extension for discovering and reading Service documents and acknowledging
required documents during enrollment. Documents have Service-scoped
identifiers, web representations, and optional portable structured content.
Acknowledgements identify documents, not immutable content versions.
Services determine when an existing enrollment needs further acknowledgement.</t>



    </abstract>



  </front>

  <middle>


<?line 47?>

<section anchor="introduction"><name>Introduction</name>

<t>Services can present terms of service, privacy notices, data processing
agreements, and other documents before an Agent enrolls. This extension
adds discovery metadata and identifier-only acknowledgements to AEP core
<xref target="AEP-CORE"/>. It does not add an AEP command, authentication scheme, or
separate document-approval endpoint. Retrieval uses HTTP <xref target="RFC9110"/>;
structured content uses JSON <xref target="RFC8259"/>.</t>

<t>The Service chooses which documents require acknowledgement and how
changes affect existing enrollments. This document does not determine
legal enforceability, prescribe change notifications, or require a
content-version archive. It does not authorize an Agent to provide legal
advice or accept documents without its Owner's authorization.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</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="terminology"><name>Terminology</name>

<t>This document uses Agent, Owner, Platform, Service, Inspect, Enroll,
Grant, and Status as defined by AEP core.</t>

<dl>
  <dt>Document Identifier:</dt>
  <dd>
    <t>A case-sensitive, Service-scoped identifier for one document. It is
not a document type, URL, content digest, or version identifier.</t>
  </dd>
  <dt>Representation:</dt>
  <dd>
    <t>An advertised URL and media type providing a document's content.</t>
  </dd>
  <dt>Acknowledgement:</dt>
  <dd>
    <t>An Agent's declaration, authorized by its Owner, that the documents
named by a supplied identifier list were accepted for enrollment.
It is not evidence of reading or independent identity verification.</t>
  </dd>
</dl>

</section>
<section anchor="inspect-advertisement"><name>Inspect Advertisement</name>

<t>A Service implementing this extension <bcp14>MUST</bcp14> advertise
<spanx style="verb">urn:aep:ext:aep-foundation:service-documents#v=1.0.0</spanx> in
<spanx style="verb">extensions.supported</spanx>. It <bcp14>MAY</bcp14> publish a top-level <spanx style="verb">service_documents</spanx>
array in Inspect. An absent array means no advertised documents. Empty
arrays <bcp14>MUST</bcp14> be omitted. There <bcp14>MUST</bcp14> be no more than seven descriptors and
each descriptor <bcp14>MUST</bcp14> have a distinct <spanx style="verb">id</spanx>.</t>

<section anchor="document-descriptors"><name>Document Descriptors</name>

<t>Each descriptor contains:</t>

<t><list style="symbols">
  <t><spanx style="verb">id</spanx>: 1 to 32 ASCII characters matching
<spanx style="verb">[A-Za-z0-9][A-Za-z0-9._-]*</spanx>.</t>
  <t><spanx style="verb">type</spanx>: 1 to 64 characters matching <spanx style="verb">[a-z][a-z0-9_]*</spanx>. Types are open
strings; implementations <bcp14>MUST NOT</bcp14> reject a document merely because
its type is unregistered or unknown.</t>
  <t><spanx style="verb">title</spanx>: a non-empty plain-text string of at most 256 Unicode scalar
values.</t>
  <t><spanx style="verb">enrollment</spanx>: either <spanx style="verb">required</spanx> or <spanx style="verb">not-required</spanx>. Consumers <bcp14>MUST
NOT</bcp14> treat an unknown value as not-required or silently omit it
from an approval decision.</t>
  <t><spanx style="verb">representations</spanx>: 1 to 8 objects, each containing <spanx style="verb">media_type</spanx> and
<spanx style="verb">url</spanx>. A URL <bcp14>MUST</bcp14> be absolute HTTPS (or HTTP on the literal hosts
<spanx style="verb">localhost</spanx>, <spanx style="verb">127.0.0.1</spanx>, or <spanx style="verb">[::1]</spanx> for local development), contain no user information,
and be at most 2048 ASCII characters in its URI serialization.</t>
</list></t>

<t>An ID <bcp14>MUST NOT</bcp14> be reassigned to an unrelated document. The same type
<bcp14>MAY</bcp14> occur under several IDs; for example, separate general and
product-specific terms of service. Updating content does not require
changing its ID. Consumers <bcp14>MUST NOT</bcp14> lowercase, truncate, or otherwise
rewrite IDs when acknowledging them.</t>

<t>Clients <bcp14>MUST</bcp14> distinguish required from not-required documents. A
not-required document <bcp14>MUST NOT</bcp14> require an acceptance action under this
extension. A discovery or reading interface <bcp14>SHOULD</bcp14> show each document's
ID, title, type, enrollment requirement, and web link. A document type
does not itself determine whether acceptance is required.</t>

</section>
<section anchor="representations"><name>Representations</name>

<t>Every descriptor <bcp14>MUST</bcp14> contain exactly one <spanx style="verb">text/html</spanx> representation.
This is its baseline human-readable web link. It <bcp14>MAY</bcp14> additionally
contain one portable <spanx style="verb">application/json</spanx> representation and one
<spanx style="verb">text/markdown</spanx> representation. Other media types are permitted;
consumers ignore unsupported representations, not the document.
<spanx style="verb">media_type</spanx> contains a lowercase media type without parameters.
There <bcp14>MUST NOT</bcp14> be duplicate media types within a descriptor.</t>

</section>
<section anchor="advertisement-example"><name>Advertisement Example</name>

<t>Example Inspect members:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "extensions": {
    "supported": [
      "urn:aep:ext:aep-foundation:service-documents#v=1.0.0"
    ]
  },
  "service_documents": [
    {
      "id": "general-terms",
      "type": "terms_of_service",
      "title": "General terms of service",
      "enrollment": "required",
      "representations": [
        {"media_type": "text/html",
         "url": "https://example.com/legal/terms"},
        {"media_type": "application/json",
         "url": "https://example.com/legal/terms.json"}
      ]
    },
    {
      "id": "privacy",
      "type": "privacy_policy",
      "title": "Privacy policy",
      "enrollment": "not-required",
      "representations": [
        {"media_type": "text/html",
         "url": "https://example.com/legal/privacy"}
      ]
    }
  ]
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="reading-documents"><name>Reading Documents</name>

<section anchor="retrieval-and-credential-isolation"><name>Retrieval and Credential Isolation</name>

<t>Documents <bcp14>MUST</bcp14> be readable before Enroll without AEP credentials.
Reading a document <bcp14>MUST NOT</bcp14> enroll the Agent or acknowledge the document.
Clients retrieve advertised URLs using GET and verify a successful HTTP
response and the expected media type before interpreting the content.
HTTP Content-Type parameters do not change the advertised base media type.
JSON and Markdown representations <bcp14>MUST</bcp14> be UTF-8 encoded.</t>

<t>Clients <bcp14>MUST NOT</bcp14> attach AEP assertions, session credentials, Platform
credentials, payment credentials, or identifying application headers to
these fetches. Automatic fetches <bcp14>MUST NOT</bcp14> send cookies. A web link <bcp14>MAY</bcp14>
point to a different HTTPS origin, such as a Service's document host;
that does not authorize credential forwarding or expand the Service's
authentication scope.</t>

<t>If a portable representation is unavailable or unsupported, clients
<bcp14>MUST</bcp14> offer the advertised HTML link rather than invent content or a
summary. A link-only client need not download and parse HTML. Failure to
retrieve a portable form does not by itself make the web form unusable.</t>

</section>
<section anchor="destination-redirect-and-resource-limits"><name>Destination, Redirect, and Resource Limits</name>

<t>The calling application is responsible for deciding which document
origins it trusts before requesting a fetch. Deployment-specific network
restrictions, including restrictions on private or local destinations,
are application responsibilities; this extension does not require SDKs
to inspect DNS answers or the connected address. SDKs <bcp14>MAY</bcp14> impose stricter
destination restrictions and <bcp14>MUST</bcp14> document those restrictions.
Applications <bcp14>MAY</bcp14> adopt an SDK's documented destination and redirect
policy or impose stricter rules through their retrieval implementation.</t>

<t>Automatic fetches <bcp14>MUST</bcp14> use HTTPS with certificate and hostname
verification, except that HTTP is permitted on the literal hosts
<spanx style="verb">localhost</spanx>, <spanx style="verb">127.0.0.1</spanx>, and <spanx style="verb">[::1]</spanx> for local development. The exception
is based on the URL hostname, not its resolved address. Fetches <bcp14>MUST</bcp14>
reject user information in URLs. Redirects <bcp14>MUST NOT</bcp14> downgrade an HTTPS
request to HTTP, including loopback HTTP. Redirects <bcp14>MUST
NOT</bcp14> be followed unless permitted by the calling application's destination
policy; approval of an initial origin does not approve a different
redirect origin. Clients <bcp14>MAY</bcp14> refuse all redirects and offer the HTML
link instead. Every followed redirect <bcp14>MUST</bcp14> meet the same HTTPS,
credential isolation, and destination-policy requirements.
Clients <bcp14>MUST</bcp14> enforce finite timeouts, at most five redirects, and a
maximum decoded response size of 1 MiB. They <bcp14>MUST NOT</bcp14> render a partial
response as a complete document. These rules apply to document fetching,
not to redirects in existing AEP command flows.</t>

</section>
</section>
<section anchor="portable-content"><name>Portable Content</name>

<section anchor="document-structure"><name>Document Structure</name>

<t>A portable representation is an <spanx style="verb">application/json</spanx> object with:</t>

<t><list style="symbols">
  <t><spanx style="verb">format</spanx>: the literal <spanx style="verb">aep-service-document</spanx>.</t>
  <t><spanx style="verb">version</spanx>: the string <spanx style="verb">1.0</spanx>.</t>
  <t><spanx style="verb">id</spanx>: the descriptor's document ID.</t>
  <t><spanx style="verb">summary</spanx>: an optional non-empty array of blocks.</t>
  <t><spanx style="verb">content</spanx>: a required non-empty array of blocks.</t>
</list></t>

<t>The ID <bcp14>MUST</bcp14> match the selected descriptor exactly. A Service <bcp14>MUST</bcp14> supply
the full substantive text of its HTML document in <spanx style="verb">content</spanx>, including
qualifications and limitations; a synopsis is not a full representation.
<spanx style="verb">summary</spanx>, when supplied, is Service-authored and may contain several
sections. It <bcp14>MUST NOT</bcp14> be assumed to be a one-line description. Clients
<bcp14>MUST</bcp14> label a summary as such and provide the full document's web link.
The full-content view <bcp14>MUST</bcp14> remain available regardless of summary support.</t>

</section>
<section anchor="content-blocks-and-limits"><name>Content Blocks and Limits</name>

<t>The following block objects define the portable structure:</t>

<t><list style="symbols">
  <t>Paragraph: <spanx style="verb">{"type":"paragraph","text":"..."}</spanx>.</t>
  <t>Section: <spanx style="verb">{"type":"section","title":"...","blocks":[...]}</spanx>.</t>
  <t>Bulleted list: <spanx style="verb">{"type":"bulleted_list","items":["...","..."]}</spanx>.</t>
  <t>Numbered list: <spanx style="verb">{"type":"numbered_list","items":["...","..."]}</spanx>.</t>
</list></t>

<t>Text, titles, and list items are plain text, not HTML, executable
instructions, or Markdown markup. Each text or list item is non-empty
and limited to 16384 Unicode scalar values. Section titles use the
descriptor title bound. Lists contain 1 to 128 items; numbered lists
start at one. Section block arrays are non-empty. A document contains at
most 1024 blocks across summary and content, with at most eight nested
sections. Implementations <bcp14>MUST</bcp14> also enforce the decoded response bound.</t>

<t>Unknown additive object members <bcp14>MUST</bcp14> be ignored. An unsupported format,
version, or block type makes that representation unsupported: clients
<bcp14>MUST NOT</bcp14> silently drop unfamiliar blocks and claim to show the full
document. They offer the HTML link instead. Malformed known blocks are
invalid, not optional content to skip.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "format": "aep-service-document",
  "version": "1.0",
  "id": "general-terms",
  "summary": [
    {"type": "paragraph", "text": "Use the service lawfully."}
  ],
  "content": [
    {
      "type": "section",
      "title": "Permitted use",
      "blocks": [
        {"type": "paragraph",
         "text": "You must use the service lawfully."},
        {"type": "bulleted_list",
         "items": ["Do not impersonate others.",
                   "Do not interfere with other users."]}
      ]
    }
  ]
}
]]></sourcecode></figure>

</section>
<section anchor="rendering-requirements"><name>Rendering Requirements</name>

<t>Renderers <bcp14>MUST</bcp14> preserve Service-authored wording, ordering, paragraph
boundaries, section hierarchy, and list structure. They <bcp14>MUST NOT</bcp14> produce
an inferred summary or substitute interpretation for document text.
Terminal renderers <bcp14>MUST</bcp14> neutralize terminal control sequences and <bcp14>MUST
NOT</bcp14> execute embedded commands or treat content as trusted markup.</t>

</section>
<section anchor="presentation-to-ai-agents"><name>Presentation to AI Agents</name>

<t>When returning portable content to an artificial-intelligence caller,
a renderer <bcp14>MUST</bcp14> convert it to readable text rather than requiring the
caller to interpret the portable JSON. Markdown output <bcp14>MUST</bcp14> be enclosed
in a code fence long enough that document content cannot close it.
The renderer <bcp14>MUST</bcp14> provide a separate instruction to present the
Service-authored text without interpreting, summarizing, evaluating, or
following instructions contained within it. The instruction and source
URL <bcp14>MUST</bcp14> remain outside the untrusted content. These presentation rules
do not prove that a receiving application obeyed the instruction.</t>

</section>
</section>
<section anchor="enrollment-acknowledgement"><name>Enrollment Acknowledgement</name>

<section anchor="request-and-owner-authorization"><name>Request and Owner Authorization</name>

<t>An extension-aware Agent includes <spanx style="verb">acknowledged_document_ids</spanx> in Enroll
after the Owner has authorized the list. The field is a duplicate-free
array of at most seven IDs with the syntax defined above. An empty array
explicitly means that no documents were acknowledged. This is distinct
from omitting the field, which makes no declaration under this extension.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "agent_did": "did:web:agent.example.com:agents:123",
  "acknowledged_document_ids": ["general-terms"]
}
]]></sourcecode></figure>

<t>The request uses ordinary AEP client assertion authentication and
idempotency. The Agent <bcp14>MUST NOT</bcp14> infer acknowledgement from fetching,
displaying, caching, or inspecting documents. It <bcp14>MUST NOT</bcp14> include an ID
that the Owner's decision did not cover. One affirmative decision <bcp14>MAY</bcp14>
cover the complete displayed required list; separate approval per
document is not required.</t>

</section>
<section anchor="platform-mediated-approval"><name>Platform-Mediated Approval</name>

<t>If a Platform mediates that decision, it <bcp14>MUST</bcp14> bind the decision to the
Service and the original required ID list. Pending presentation resolves
that list, not a newly expanded list. If a stored ID cannot be resolved
to a usable document descriptor and web link, the decision <bcp14>MUST NOT</bcp14>
complete by silently omitting it. An implementation <bcp14>MAY</bcp14> store the IDs
alone and retrieve current metadata for display. This extension does
not require retaining content, titles, dates, revisions, or digests.</t>

</section>
<section anchor="service-processing-and-response"><name>Service Processing and Response</name>

<t>A Service <bcp14>MUST NOT</bcp14> interpret omission of <spanx style="verb">acknowledged_document_ids</spanx> as
acceptance. When its enrollment policy requires acknowledgement for
this operation and the field is absent, it returns <spanx style="verb">requirements_unmet</spanx>.
Previously satisfied requirements need not be acknowledged on every
Enroll. An otherwise valid declaration <bcp14>MUST NOT</bcp14> be rejected solely
because it lacks a document subsequently added
to the current required list. The Service records only the declared IDs
and <bcp14>MAY</bcp14> enforce remaining requirements on a later Grant. With no
document version or issuance token, the Service cannot distinguish an
older approved list from a deliberately incomplete one. It <bcp14>MUST NOT</bcp14>
infer acceptance of missing IDs; access enforcement belongs to the
Service's requirements policy.</t>

<t>An unknown or retired ID in a declaration <bcp14>MUST NOT</bcp14> be treated as
acceptance of another document. A Service <bcp14>MAY</bcp14> retain such an ID as an
opaque declaration but <bcp14>MUST NOT</bcp14> count it towards a different requirement.
Malformed arrays, duplicate IDs, and wrong field types use <spanx style="verb">invalid_request</spanx>.</t>

<t>A successful Enroll echoes the accepted declaration in
<spanx style="verb">acknowledged_document_ids</spanx>, including an empty array when supplied.
The response <bcp14>MUST NOT</bcp14> add IDs the Agent did not declare. This echo is
the current operation's declaration, not a cumulative acceptance history.
When no declaration was supplied, the response omits the field.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "status": "active",
  "acknowledged_document_ids": ["general-terms"]
}
]]></sourcecode></figure>

</section>
<section anchor="repeated-enrollment"><name>Repeated Enrollment</name>

<t>Services <bcp14>MAY</bcp14> retain acknowledged IDs on the enrollment for requirement
enforcement. Repeated Enroll combines accepted declarations without
discarding earlier IDs by omission. It preserves the identity, original
creation time, unrelated lifecycle state, and credential behavior required
by AEP core. Services define their storage concurrency guarantees;
this extension does not guarantee preservation of simultaneous independent
updates. Same-key retries <bcp14>MUST</bcp14> replay the same result;
a later explicit requirements update uses a new key.</t>

</section>
</section>
<section anchor="changes-and-unmet-requirements"><name>Changes And Unmet Requirements</name>

<section anchor="document-changes"><name>Document Changes</name>

<t>Acknowledgement refers to a document identity, not a content version.
Content can change under an existing ID. This extension does not prove
which text was read or accepted. Services choose whether changes warrant
notification, continued-use acceptance, or another explicit decision.
They <bcp14>MAY</bcp14> mark Service-local requirements as needing renewed acceptance,
including for an ID acknowledged before. No universal expiry or
automatic re-enrollment is defined.</t>

</section>
<section anchor="reporting-and-resolving-unmet-requirements"><name>Reporting and Resolving Unmet Requirements</name>

<t>For a recognized enrollment requiring further acknowledgement, Grant
returns <spanx style="verb">requirements_unmet</spanx>, HTTP 422, with <spanx style="verb">service_documents</spanx> in
<spanx style="verb">requirements_pending</spanx> and a non-empty <spanx style="verb">required_document_ids</spanx> list.
An Enroll rejection for an absent required declaration uses these same
requirement fields. <spanx style="verb">required_document_ids</spanx> contains at most seven unique
IDs requiring acceptance;
it does not contain document text or claim values. IDs <bcp14>MUST</bcp14> be discoverable
in the Service's current Inspect advertisement. Claim names can also
appear in <spanx style="verb">requirements_pending</spanx>. A Service <bcp14>MUST NOT</bcp14> issue a credential
as part of this failed Grant.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "type": "urn:aep:error:requirements_unmet",
  "title": "Enrollment requirements unmet",
  "status": 422,
  "code": "requirements_unmet",
  "owner_action_required": "true",
  "requirements_pending": ["contact.email", "service_documents"],
  "required_document_ids": ["product-terms"]
}
]]></sourcecode></figure>

<t>The Agent presents the missing claims or document IDs and directs its
caller to Enroll. An interactive interface supplies an explicit command
or equivalent action. An agent interface returns the structured
requirements and preferred next action. Neither automatically performs
Enroll or retries Grant. After enrollment, the caller may explicitly
request Grant again. This error does not require local persistent state.</t>

<t>If documents 1 and 2 were approved and document 3 is published before
Enroll arrives, the Service accepts the declaration for 1 and 2. If its
policy requires 3 for access, a subsequent Grant reports 3. The same
mechanism applies when requirements change weeks after enrollment.
Document revisions do not expand a pending human decision.</t>

</section>
</section>
<section anchor="error-handling-and-compatibility"><name>Error Handling And Compatibility</name>

<t>The extension does not introduce an authentication error code. Core
recognition, signature, replay, and idempotency rules take precedence.
A <spanx style="verb">not_recognized</spanx> response <bcp14>MUST NOT</bcp14> include <spanx style="verb">required_document_ids</spanx> or
other enrollment-requirement details.</t>

<t>Services without this extension retain core behavior. Agents <bcp14>MUST NOT</bcp14>
send extension acknowledgements to a Service that does not advertise
support. Older Agents can ignore the advertisement, but cannot thereby
satisfy required acknowledgements. A Service requiring them returns
<spanx style="verb">requirements_unmet</spanx> rather than assuming consent.</t>

<t>Unknown additive descriptor and portable object members are ignored.
Unknown document types remain displayable. Unknown enrollment semantics
or portable blocks <bcp14>MUST NOT</bcp14> weaken the approval or hide document text.
Limits and structural failures are reported explicitly; clients <bcp14>MUST
NOT</bcp14> truncate the required list or silently claim successful presentation.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="extension-registration"><name>Extension Registration</name>

<t>This document requests registration of
<spanx style="verb">urn:aep:ext:aep-foundation:service-documents#v=1.0.0</spanx> in the AEP Extension
Registry, with description "Service document discovery and enrollment
acknowledgement" and this document as its reference. It introduces no
new command, well-known URI, or media type.</t>

</section>
<section anchor="service-document-types-registry"><name>Service Document Types Registry</name>

<t>This document requests an AEP Service Document Types registry with
Specification Required policy <xref target="RFC8126"/>. Entries contain a type value,
description, and reference. Registration <bcp14>MUST NOT</bcp14> redefine an existing
type's meaning. Unregistered syntactically valid values are permitted;
registration recommends interoperable labels, not legal interpretations.</t>

<t>Initial entries, all referencing this document, are:</t>

<texttable>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">acceptable_use_policy</spanx></c>
      <c>Permitted and prohibited use.</c>
      <c><spanx style="verb">age_or_parental_consent</spanx></c>
      <c>Age eligibility or parental consent conditions.</c>
      <c><spanx style="verb">ai_data_use_policy</spanx></c>
      <c>Use of data in artificial-intelligence systems.</c>
      <c><spanx style="verb">community_guidelines</spanx></c>
      <c>Rules for community participation.</c>
      <c><spanx style="verb">cookie_policy</spanx></c>
      <c>Cookies and similar storage or tracking.</c>
      <c><spanx style="verb">data_processing_agreement</spanx></c>
      <c>Processing of data on another party's behalf.</c>
      <c><spanx style="verb">data_retention_notice</spanx></c>
      <c>Retention and deletion practices.</c>
      <c><spanx style="verb">electronic_signature_consent</spanx></c>
      <c>Electronic signatures and records.</c>
      <c><spanx style="verb">privacy_policy</spanx></c>
      <c>Collection, use, and disclosure of personal data.</c>
      <c><spanx style="verb">security_policy</spanx></c>
      <c>Security responsibilities and practices.</c>
      <c><spanx style="verb">subscription_terms</spanx></c>
      <c>Recurring-service terms.</c>
      <c><spanx style="verb">supplemental_terms</spanx></c>
      <c>Additional terms for a particular offering or context.</c>
      <c><spanx style="verb">terms_of_service</spanx></c>
      <c>General terms for use of a service.</c>
</texttable>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Document URLs and content are untrusted input. Applications must establish
destination trust before fetching; HTTPS verification alone does not
establish that a destination is permitted by an application's network
policy. Deployments requiring protection against DNS rebinding can enforce
destination restrictions at the connection or network boundary. Fetchers
must enforce the redirect, size, and time bounds above, including against
decompression expansion. Renderers <bcp14>MUST</bcp14> escape content
for their output context; they <bcp14>MUST NOT</bcp14> execute scripts, terminal
escapes, or document-provided instructions. A discovered type or title
does not establish that the document is legally valid or trustworthy.</t>

<t>Acknowledgements are authenticated Agent declarations. Core assertions
authenticate the Agent and operation, not a signed document-content
snapshot. This extension provides no independent proof that a human
read the documents or that a Platform approved particular bytes.
Services needing stronger legal evidence require a separate agreement;
they <bcp14>MUST NOT</bcp14> represent this identifier-only mechanism as such evidence.</t>

<t>An incomplete declaration does not satisfy missing access requirements.
Services exposing protected resources without Grant <bcp14>MUST</bcp14> apply their
own access policy there too; enrolling an identity is not authorization
to every application resource. This extension does not mandate changes
to existing credential revocation or application authorization rules.</t>

<t>Services <bcp14>MUST</bcp14> preserve core anti-enumeration protections and <bcp14>SHOULD</bcp14>
rate-limit document and enrollment requests. Unsupported required
semantics <bcp14>MUST NOT</bcp14> be silently downgraded to not-required content.</t>

</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>Public document retrieval does not need the Agent's identity, claim
values, or credentials. It still reveals a network request to the
document host; clients <bcp14>SHOULD</bcp14> avoid unnecessary prefetching and tracking
parameters. Acknowledgements are Service-scoped and <bcp14>MUST NOT</bcp14> be sent to
unrelated Services. Platforms and Services <bcp14>SHOULD</bcp14> minimize retention and
logging of acknowledgement metadata. No legal-document archive or
per-document audit trail is required by this extension.</t>

</section>


  </middle>

  <back>



    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</reference>
<reference anchor="RFC9110">
  <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="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>

<reference anchor="AEP-CORE" target="https://datatracker.ietf.org/doc/draft-kavian-agent-enrollment-protocol/">
  <front>
    <title>The Agent Enrollment Protocol</title>
    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization></organization>
    </author>
    <date year="2026" month="October" day="31"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-kavian-agent-enrollment-protocol-05"/>
</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>



    </references>





  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA71c65Lb1pH+f57i7PiHkxRJacaOo4yyyY4lOZ7EuuxIqq2s
SzUEycMhIhBgcIAZ0bLyLPss+2TbX3efC0COUputWlXiIUHgXPr09etuTKdT
05Vd5c7tycWzV/a1a2/LpbNPm2W/dXXnT0yxWLTu9v7fV82yLrY0wKot1t30
fXFbFvW0cLupl5unq3Dz9OFDsyo6uvfs4dk309OH069OzZIu3DTt/tz6bmXK
XXtuu7b33dnDh799eGZ8v9iW3pdN3e139OTlszffGd8V9eq6qJra8d3O7Mpz
Y23XLM/t3nn66Ju2a93ax+/7bfpa9N2mafHElP5vbVnTDy9m9s+8eL4kexpe
a9qboi5/Kjpazbn9U9HelfXEXtbLmf3FZf1d1dz9ku9z26KszmkI/29lvabL
u2I/K0pj6qbd0tO3DlNffffk0dmvf6sff3t6+jBcPT37Bh+J4NMnL6+enfOg
4ZjebJy9uCFy2md121QVKGtftQ3tvalO5NaivXHdud103c6fP3hANC+6tli+
d+2sdN16Rht5QKfyYHhkGHTq4qDTnQ76gAc9ODhcpCMunadNNrJIS9ToXFu7
bvoUY4+54r4ppg9/zc+ng8G/6bGDOXY4BiuIpJ3NZsZMp1NbLDy23RnzZlN6
G/jQrty6rJ23RW2bHQ6zqO4nqf0FncMvjfvQuRpsaGkmuyr9srmlzdc3NMrK
tq5Y4XOQj8jy/CtRvm7uKre6oXtM6/7Wl61bZTeteh4pEWaWJMxuilsXBp7S
tDtHYrKin8p16Vo/sXduQQvYtc7TRWZOuoh54+Z2JAzFonIkYm2/7HrMviSJ
wkzmIq7OyYQ6+D4tcGLrprPldtvLMPqsJQqAJH5mdH20FUfnvyXy2ruNq0Fi
96H03XB7tnZu5e26b7uNazP68Ar09LblalU5Y74AT7XNihZOc5k01ZIG111b
TOpts7aqdCb0S3lbLPdYOe6egIELutrQF49zKG5a53R7TC1eSzqUhaOTdtiB
8IYs388sM1PkB1OsaCuBIfZ267qCp8KY6ZymTV3txzv1pLEg5kTQ1pmPH4PE
f/o0s5fEpw3tEpSnKXgdfOd2SyNPWFQw+JJP3PrlhoackI4y3u2KlqQ17mVa
7Gjft8QIrl7tmhL8deU6El1c6z3N8v2bN6/sx4+qiD59emwOWUXu/NPrly/k
TmgvWimkKzKoXW6aBrfdbcrlJqOmcv2YAkylTXNnlpuivoFMrtdu2R1jmkD5
JMaBPJHnTOVueJd0cktXLMqq7PYTZpJlWy6wOszCPLFWynnQLC3P6Ganytu2
aJcbUiujA2E9Vf6UsQedJIhMJ255FcQXTJAG/L10uy4jxl1Jj/ckUfT55V3t
2i99HJIXNQPbX8ma5JEfaOE96U+h9nu3t3dNS4x38vzt6zcnE/lrX7zkz1fP
/v3t5dWzp/j8+vuLH36IH4ze8fr7l29/eJo+pSefvHz+/NmLp/IwXbWDS+bk
+cVfTkRgTl6+enP58sXFDyekp203OJuCaEkUIZKXMAh0Ah0xUuHNSo9ihWe+
ffLqv//r9Gtip38hfjo7PSV+0i+PTn/zNX2BElHxhPzIV2L8vSGedkWLUYqq
Il2wK7uigih764mhakvS7IiOv/oRlHl3bn+3WO5Ov/69XsCGBxcDzQYXmWaH
Vw4eFiIeuXRkmkjNwfURpYfrvfjL4Huge3bxd3+ooHOnp4/+8HsD5nnDEtFU
zc1+bP5YjJlpJ8J9E/uqKjpY0EmQY7g1fkeSOFGbODF/bAs8gbN4TWam9yC1
mNKVXeyjHiOaB+NlL6P+Ozfn9oKOyZMNg+KEqZ6MzFqmLtnKknsXV83yV8KT
Y/lLu4FbOLFvr36YRD21KkmTdCzXQYrTyLS8q4Gx5JURF63o3q70tAwajLe5
dauy4AlUtNncx6lJaKMRHVtRHZSp/CXItKygk2m6SVIeTLaoA8DXRQfmTprC
iK/DNxbW97tdVQ7pVJGeJA+ANSu0DP0K0mWuBI3BpGPCOSioGmppHZ2WBlK0
cjsyDqCeDN7tQbuoJWdih5kl7EUgFcanrUflX253FV/EsN3ATFoWukhkM+/b
+pyihHO6A3+n66avV3IgB4HDF7f/ejp7OHs4p4WaeRzTz0AR8m3cas78QYJi
d/2CaLIhcnXNblq5W1fZuY54HUecm6Jtiz3Uh+5qxkyw8KK98NvWFTWolrNG
HGBmn2133V6G8bI70nbNtuxoOTBVOJNwmQbZwpmgEyZTTWuqrSjCXde07CQa
V8BexovyKPt+BbwLIilRfl7STukovoj+oX2axjHm2WgQ8GcBJ5r0ID98bk+h
l786sxevn1xewiDCQyYpseQ+k6Ujx8ja+Y8X0/8spj89nP72Xfo4u56++xVN
TyNBJsJY33x9bBQag55696M8eo0H7Rt6yrNpIGmHN08+Bt3qHyfGEZNsg4Ym
Hv0rOC6T9y3RlSzBwi0LUmQ0CASIZZTYra9bd0PEcnBbaP99DamsZc0IoGjR
BZ1GPXU4PburiDrTjjhK1wK5ICHcNiRVZ7/+xr6ty2VDJt0vCxJgmo08pt55
HjDJGI3qSnYf58G7n2P6OYncNF6Z2Se0N9pFKxuk0bBFClML+EFhsTIFlGv+
NIbzZUWT0ebBZbRvGmDdNls8Gz080jSlZ4H9FRYziArCiT2yzQJkJWvJXKdc
wqfGOu+az5fZkpihbyta+wWrxcDQJChN1ZOPCcfxtf0FrY5dyKZmBUZ+l2tp
NRuiI5TYvGqIgPg2n9j56dlvIM2z0znr6PmP5+en7+ast/g+2gRJbbMDaX85
CcuDENGJQ1lpsEfKlMaGpsaKwqk9/PrRIXPT4+CTt1eXHLMWVXK0SOwvnyaO
o6HoQChEuIFdI2rxyRDPFV0m/yzg1pNuZt4z0DzNctmD5Va0Rsg4CHD5lLib
FfKHAjw+sdE7J9PAt4DKO4lvptBE0LkH8czMvt1BO9IRRSsXnFFlEXGhcQd2
evl0zG68u6ohWwErPAFuUgN84TPg4OcOirl1dy2dHlauIVweveJ0t0S0J2SH
4JbywKKebnqo3civzJkDDs5054U5+ksu9+qP12rXChitgkNAJTHsSwrLwaAp
CGOPXqwb+5/rgp5WjwzeofB9MuTm8ulEEJaJOhRZsNomP1zcHwTc5G695zlz
P8TEM6EjcNV6GA1rrBt3U8aoaCU6feiXQJ3zZsZGIcgDsdSStQENP4cOe7Dp
ttV8hAXMxPvD/xDU0tGzp7jpKYycgkgc0actqRmlkLMU9KDamzAjZopYwryA
NyLuwYO/+qYez6xuO9l6Xty2aN+vSL8dLNC+ZMokb0tsxA6UgzF9jPmVkUkq
YUf7Olr+Q+gD9M+9qJkZaLVgE8kQRGnIXb0QnEFMtzg/DxJGa646YtXL5t1g
3XgWEUl2ZnK0A5fJPhNlQAcsH6JntXXbBU1I5vrvf/+7BVHNR1JxJ8nlOTm3
HxkHO4kUoEs/KjR28s94VQIavqP/foI+PTlwluIEH8M0JSY9UQ02ZWV1Mgk/
ghT4mS9fN+trHTC7A5KGW/6oOnCs7tKtSQ5xf5CX9Pvo9DNa0HJP0rnLglRG
4uNCsgo/BrBUFfVs2WwfcCD/QLb3aXLvuGNB+CeGn/Fzn/S5d/xXZxwRXXGt
Q3LrD9e7hhazP0LsV4qIjW8YkjhXzP+vZA4bGxHB4NMnyINgIqLVIzyqijOA
WVA5T2jliEFgfslLKQQ2TIBq8GGi8lOkTwLdKP8cz8ahSAmEuYsj9kpoyGpH
4KBmAGuO9FGwnq2s242CT/JjgVDaPz57wxviQEwCwCXQy3VfsbdFttrv6DQc
34Up3AeoETcIXXV3EYdRK55iV3bcnijs9Yaj3aj6aNGsTxU4w3PZWhdD1Tkz
DA5iMc9V2Y+1cyT+2zffTR8R2eBdr8YOBShadB1sNE6BvDHMyMrdO04G5SeT
4AszuLor9nxIg4sIdhXf5rNMoms3dL7YctcY2iftbO0olnFwV/qugcO5DJfS
MmlrAEib9yXfGA0pjKhhrJV9SPJN1muyIfRVPOamLW+QPaIj3cDXL0IQ/WWG
1MBhfmwYFjgCPaZ9wcO8K9oQzRMXBIaIg5oDvLjBgZlLineSTR8ZcI6oitui
rPhXDqii2SHHXM7MMDEa7G/MIN+/ef6DkINc3g3/Th5dWd/yuagjC1ExZN/J
QdiDhLhf4HKZgLMFAvQSR1VNsWIWIyb1jmeY2e9oiT1DjibJVNoWeCNRUEAX
uGfb4r3wNE6Nb+rr3uMRDbIdHFuFba6Iz1tGxDD7lfNN35IX90NJXooXWJZi
l2rMVezlsZiWuhSO0fishiC5EZ6AoyYp0JiDgD52gocXwoIzWtuuapjBU9RQ
u+6uad9DLxARlioyZb2sep4vv45QjVVuxwcbAq+4YT8x8MLyrcR9AFcnfn88
xnjGIYl9/fTP3hD/l+rfPH3xmqjn7yBmTRvUUC06i1xOmoGkCE+xE1pud43n
rFWJMM5kyxvuhVUOhyLRHd/gyfymmblIe/Hq5DY7Dr1pxkzuEJFkM0mCTw7f
iPFkNTJcnG37inbfbdqmv9lga2UbFDxRdohwIOw8rlN6H2Jq2CG7hCStxdGU
VInvgAiaHJyjaOUDZxhYU7A6p2OJ/vPxoPz+kBzzfDYml+BX5oRtLSWuiBMB
KAgLnYRwCGfRVLf5OX+Xbdwo0jOO8BG5wyTOovxlyhf64KYlrY0zZKoZFRUo
XVzIub9qmt2CjDL/MB7PqF+/JjNOUcGKNAEdZ05FUhvdcRlngDfyi7LI44TJ
AFPCRkrW1SLlmULn21xuI0xgN72ZQvlgHolrW7cGlyDt0cY9cKwVVTC0omG9
S5LXkV2bWYkl4/biDEzMrXMSMzGiwZScZMaU2En9KOGObLdTFYgsSPazoTXX
dJxdgwKkb8utI/8KqRqFbNblrUtbkSkKsy0+lNt+C20JH8FGZ8fD+BFNT+3z
8lvmxX0OHDA4UMA8YOmZjwQjS+4myWHnhkAONAVLLw51D96JeoSFk857Yjis
bDKSl1luO0vNWlR8eAbMXwUDpN7VELl9HTKsgNA/Y4KJd47E2gLhsZYQdFdE
Zn4+kPX5sUIcwXA1NaIPKPw5p4hQfmawmN3WGMrmrsnlU75LzTZg1ayYIgGs
gqTTYS1Ii7wX3FTtPkOxEQL6zCNsWgNEx/iyrNhVYjcyfEQhEXgRISfBT3Hm
ZA+3zpLzXNH3BWqIkISyjP7SdNBR7K/EPdIBx8VmisT8rS+qlD9mdq3gBcj3
x3DU93Wz8wK7SL6Kpx0jM5F8E4HaQoJngudCbkwcPidOz5ZIE9AYxRiNd2rg
GLvJMArym/utgJj4BixmyuBPoBijL09yL44cPVdxpMEL42wqe6hwuDS9HamY
JcIifsSHhV+nsUikdHeyrBaFUWRPo0PZUuDXrljPIvbXOdXDFBdMJcd+y8zA
68g9LtFn4FzmlgBsa16Sl3pY/MLy8opiHLIdu825nX/UIPpkFy6eTDiMpUuz
2ezkE4vEa6Fzfr+SHndLlM23T06EdU/Of6Sv7+Tpb4kmnARHxi4fY6E/XOMH
epYkd4tHdSj8V4d40QMdOjJErT/8oyHMG9qTAp2qZzl/yPcL6IaECIuEGG4I
BNwLt5TSHwN70vbBtQQkGSI94Hv9jgwNwjYRqjYNL5KgMm6iyAh3nn7z1aOv
R7mWkGkJZNdVs4NEx2oyqedf7AJQ14y4A45zkBHOd5yePZItPrZ1TkKPQsK2
gx0i0UgzCStpZg9UiQsfIL4JSOwM27HTh2dfq9ai4L9tvE9yVMcymol4dsH4
ufJmgxCHzPQqF+VjGTGKYJtoTkU3j2yjEMGYt5pLEhiXtJyaCwUYYxgueOqK
k585qCrGZGLUSPBJC1kYU0Dg5MXdHNmrbJDzYYDI0XLIYK3aZkf3rostxRJF
G6kGMhELbnFsDNQHZWMGBns/8nXs0Nd5XlTYAO1DqBBGb8G/xFflSrg7Gqyg
qzDr+3I3G+OvQg7G+o7YU8a5TpRUuImMqFy7Dyc9Ub5IyGqC8ZIKsqqD7Mlb
YfoAj5KavgNR9jNGy97xkLqHQ7A2jByV1SEyGJ1ckq70e9BiA6zvyDozlC8s
+C9Nb7cUwgZxPbbyyZFRR8owG1l1mv3x5Gmj5Yjkm9MJcQALcMHP8gfSv/gA
Z4IA5LMASr0f4g0P9fgZ1BEAI7xKmJm8KAuVJLgeBYoloc3KNaPtRrEWvEiS
IxloYiMBDQttgUpa4FuigzYlsUy73OwzNR0N2NjplfShMxxl0A4xY9A8yBvD
2yk7pGsjCijSymhEDJnp7Mh+c8KqqNSTjnurXd+1yJs624VbwHJtQ+4Ugq56
6VIgzuGUmA2KFEnnrFZcSMgessT+nPYOgkd+BkMegC7FjjDdX+WqBbWSlwKv
Eun/Aw4TbaRvOXEdrXwmykgeSvhMgcAUW6fQ7YbLXxDFuXZiirjNmFsDeMUQ
TJMQYjZnOYQlfqtCqUZGswx0KH2Hrgdw0VkylRT+7PouKmFaUdV4lPXWHKKs
AD1ilVXDFZAKKBTd0Pbw36JmeBbP06LF/RpuKbhtRUo9Z0Zc6ha1iJa2csC5
vPVYsJiByBNlsfIn/gKUoy86ZXKTHLPcYwg2ExIhqbJS0YR8SWAiQddMrDlQ
3xGBY/BB+zqwTICyNZYbGCQO7IzC2BJpMylx8ktX3o7xumbh9k7A02xNHM5l
1eGjci9VEgI9YPlc0QXcONV0cqVBxMqmxR08C0kWSGhB4jPPcgarmIC7Llce
pU+6AFOsO7V9Ms2m8HlRmcR/Xgm7Ll214jAy5Syn69Y5EwOt4IpIYRIn/qEg
WW3viY4fYplfsWhQCouNpFjNuA8Yt4Rdl5opJnCdomgfKtTS5rSYt/SxuMlw
xQAXUIUUBa99ojCp+BwYNRXTZaUAibQH1pvbDq5XYozpzzlFK+d8cZaloeSK
Pz89+0ps9L1nwVZoaNSjsRD5E0bgQktW/FDEDBEIoB0TGuMqbtSCEHtvdw3t
ZbmXExQeicqeNfxBHTUTL4EVRFRy5fcsjctCLkqhHwOxIHBWjnE5GJ55Ecrz
8qmJJYmhTDnUF9GxCSbPFRcz+5KirWK9LrULI92HPAjfo2hvwF9kgey7KgQA
nn2clFSEz3ZAfmNMPgCYtXAi5H+mz5GLgka40Ic1wRFukGRVF3zXsMgJ9L1o
41ITJ3H9pB8zvRgzbQLMsZnU5V8+Val7ReqXTdJADQn66YWiuHGiyEDt7khw
JGejVKATwap91+jAquY5aSkoquGskiQr8s6WGBTlhSqT4ZbCWZt4Gov9sLis
kzIilvQhcs0IJC+MxyRlYbgPS1Fyzb0s+7aVYj1thtCmGRz5uIGCkVCTZw3g
nkg5WgyZQsiKLiT607pb3oqEoFLv64UXwkG9ip0eIV/DEVJerprxfLDajTab
QS1+ThkXtO1YyTOz7IwAQMrKhobAqD+UWLKSrLgaYvCUaegGOpvrUZk9xdXx
scKQRfe6r4nEFNm/AkWa3tP5eRrLr8skWaKBYxJtMVTEAO0BJO2NWBc+81gO
ZjlaGqjcYaXcXwWDI6Z01d5oVSbWWxUcciXehBfKfiKYrIA/aES2IrcMNIHo
vnBUZKu53YHTgsrMtCKWDs9wAvgyhMbiLEjGKyMBKGxRx9daLmanc4Odq5uk
XkK9OFSl9z3XaXXNe+06SF0uIo954VtRm6Zi6FnwfPXZpUCTlluVCxwzaldJ
xQbBY9whU78maPdYJUaMyDxJm+FiwoJLAMJWedELB0fRj1TVl364e+FHKXgM
paZcJ9cF9aWVS8ePmv116eEYrq6oh51TA/CV0xWCVgqMiHngrhC1dgVxw2C+
RZ8ZoiVFReqII7ftB0n0bGczk8J9wWwmWXUW0UyL9lo40yJZUqwFRp0rHnCt
Nhsg2UVeZ6FFIW65adhqZHX2+cpRl36/usizUMXAdxrivsF9VzAn1UKsmM+z
8pJgfVUMgk6lVaJJIheqqF3GbQhifWiVfSUmOztWGoxUPDELK7aRz3XHoHBA
qrt8xbAdPqmwA0/Mc+MI4yhLzPl/cLSkXlJ4MjnmWXtgxnsDfQdCaqIy09br
1ATG42TyNRtPBC9mIR2kR3ghtnfBCVtqVYYr2grtGph8sY9mhmU/oAZCuNB+
MYkuBhJxGgGXSKimauSqXLvlfsnYNlfyMn6W0nYLtynILMSdrUzep2MjqRJa
XrZs3MkVhu0VHiIjdtMXUJjO+cfmvpx/vCdsSOOpNbkWxGPEWI4MVN5qYvod
23NaSbF1UzS1iQfhQ8wHfyHlJWlYGuexCUo8xB1DPSeDivPN3hW65Th+e6I9
hhdEpbcwnCM0J0/O6b0HjT3IvkqRUG7b0qGpVA0bZGfmSYrXQy2VhC55gyxq
to/4RilyNRIJSUheeMYnUoMhgqrUHMt9mLHsOLRX3kHrEOXzDkipsC/r3q2m
nFiOeoC9q6DfI7VTi4GgUCRnwGwi6CX1AoMzKcT/EItMRwJVnWYxSTuueUI2
ErnMSh3MzL5oiGwlqIo2zw+7kgEu1DZpLUXrsvZyji4lco0F1k3bZS4hudL4
dowZvsNK2O+4qTmsPqgI5/Ueb2GeiINhPue0TaRS4+uzM80IHOlSYrsyeHYn
wcVckuRZ2jR2now8VfalYPNVd4nLFsC/IvY8pWL8PLz2opW8SKDJliIanmT3
vomz9EgOL9D5kaU1UISJjIkZHpsyK3YLaZwBRgmmlCRBSBFhsACmhSYAzVYN
q+CiVQwF10Vel41cKIZF3Yq0lyPhknWaHj+Kg2wzhxTkPQJzS9rYkBCgKAEa
kXXouqCQa6Wu6NhSBkA8FnS3bdOeH7KRWNCI5D872raAMr54b7TB4DxJHKxc
Vlx9MHiD0P9aei+uY2kwCn3bXi34Mbqw8eYDXHYzfiUGMhqHxeXv8hGO2P/Q
G3MEaBFfSONsMZ/BV2YGYaA5K1kQfDrWb5CYJ+Q2i344HBQHJWsfUZfHi8pW
XaiItkHtAW2AGJLxHcEMuaNQAb4wStAIWnOhLfZmqC052e4UyK/B8mHEF9pn
FjUe+jOAkMAB9hrCqVvPhlQDnQuGDJMKm8RaJnReFHubMLxYQsWP0gYKFCCJ
XQITHlb5icJHNgatdwj14I1IcWmCAE95X2cKBYYgiQ8knNBXXLcmDZxR64dN
keWiA/HDQEwUh89CwpTY0AkZTMFZjwPyr0QDsqs/4ZqHEKDq1ls2F3Rj6vYy
WwdTWvqtgMZOm6QG56cG/s45RMAjys9Sd3REMUKVtRbuFlZFSLp0MoMLEJrP
4Hu6j8vQ4Ms8oWiSti2vOxDJOOJBlPoWDWmqGuKOcrBQBOgaa6Ho2e6Je4Be
uAJ8OlGXbBJebhGAylD8iHraHXB1bjIms8MtkNfJis6PRDcBcbzPkJCBVw8k
vTgmN0QrOPko0E++f8hXjHxVDQfg/UbfeKYZpRSCc0l3eujYOztitbYdFWfH
/uZQxGJfMiigc8CmaAvToFJaRBLhryIL2K9b7I2AOftknceryY3PICm1DarG
HHM+BsksrhNSuM0zix7WD4yQxZjZGtUVIKcRagriIIMeOR9SOQoHcrW1Dbdm
ThZRBRVaSw/lGufTVH5knjtHPCdWPtVbthTArtw4syl1Q5JdUs2L0nkpHZel
i8TD2Yvq8HGoYkh5zdA5qbFvBloNunTFR8mwhGHxFxrqL15ccJcmrbYNTX/k
pz6LzHfF7cytJpCG73FQPQ2CppvIu/jne+sFYKD4MC7A6AL26qNmlWP2ZPy2
o6wBE0ROZ2lGXHuiSOfgjSFeq4QZ4VkKLBZ1FsTLIJaL77+5c1U1FaZ5e3XJ
kUreiZJDwVHhSgN62NK99NRX7dzzuFJ7zwQxr7X2Xoh/FZhBbY28J+f07Bu8
0edZLSY5OLXan8NO7MRklJ0omB4pkXNBXuqqcXsWQxoMSX4u8nD0FYKVdcRz
Nm8ZvAaBdsWHHndcDlgK6ntLFFh5cWQYUoIwcrWgdlzKq3eG9QXQyZda9uxk
9xOtW5a9xfdEhEOYYCHnxvzMxD5SzBH+/RxffIAV/i/+/UxjTz/7z/6jG+5/
kMaeayxD9Lmm8Enb8eZp3anYRosqN2S5tfZm9vl1z8mbvG7aawojoEeqa1XY
8zA2mRnrqvJGfQEIRbg3KHf8ldZePxuOXV4jVXNs0Tw2apAodOF0Tnl/ZYXf
e1TqDMcG/1Dg1+2vb/pyxR3Ifp6NfcXuw5p9EL1TCriX5U6bhO+liTRfHVmy
jv1EmrNE75MJQG1hwLi4DoWUE4vKkbGZIOmdYdfxnWFzPcuUZAqk4TSO+CvY
wf5Lz65GtZ4dGxvvRao5sJL3lGV8chV+0pL7yvGXHUcmS+fv4RUem0uj26Yu
l9fReUvM8rN9Fn9Pzp1XrcOJls/Qe9hnOiY46F1VgjBMwNLaMUCWoWo8erSI
UFq4VTHFZtnY3lGADjY5OvjPqNDk3w9akVSW7iGNjE3ufVAY1xxMzgdjX2Fs
eE+hvk+6kj8jkvnYu5AkrY6NfRG76bXVmSMPZfEeHMn1jNq/x+gheSwy9riN
ekiUn+2whxoD9yKpRXp5xNF1my8SPcdOSLR53I6aVa+yoUiVN2W96xFe5p1V
XPdHhrTgOG7QtMWPha62UK3wWBue8pYmK0nl4FibOFwo3slHLUdtOvI+lKw7
J/TFaQos653LQSi8jFKhMQ56vfSrkR9eSjQG713zAp9pRevytjbNJeoCrFb6
7UPvU+uNUCur6W1jnyEaXUR8APzLw15qcAYZJVmsQTHwFj4me44cS0qOYVSl
SHaz2MVCObOWRryyDWVpyn6P+T1rWYuzVvOJECEO1zJAIwNqLj68c1DLzlaD
+q/8LR1O8nA2FHCnl2eMDjvvncZZs6cR/RdW4URDom+32R++iUtcmyzeRXWI
5NCynI2EvVmncd4v67LEm7xX0w2TaPqymLj3QFpfFzu/aboDWF+Jw+VM+bu3
6Dqjg8ziHPwbxvgHLwWTzkm+Jda1RDwlUymLPXIrKSgOCLyH5r/Bu8PkbYnh
lWDxnStZDU6wd0j7DNusUtFg6Q/ec5mhJNpAEmaR/HOWAc9Rm8gBIewNaJ4m
vYdNZnFjxOqNzyRYCuK5gDBBAQLpSBm9dHmB5w0HuTK6+uwcelOQ3zzWCEaz
tvG9aOWwEVtis66RKopxwyyv4v60DmIZEFrzMzxMSAdlibzW3TahPrEdTDFY
hcAwORAyLEteygtNu3LqarxPpVCPIug90fTynhwDBphyk0YWpNUHeRCuvKEw
I38hiyYbYwQ/KCRIPQChe5N7QAYvBErv1UMNsLy2YmyiXgEnXObhW+i1jdTl
mpcou1/6LE/HwbmR4IcVV/6qB4SedAYcqNw6usKJRFHhWYMpt6EMevUjVqDv
GipumxKtpGQKiMNQBci4rr4ijTW7up8me93MuLpUVNjoXYmx5TmQlYWxMSk7
HJhgFtWEnm9gDl0kKXE65Z8Ym04ep6mam5vwRrRRDjSUdXFCjrXINLGIvC8V
qB2pyew6GSv0tRdllb/5SNpqh+Wb/wMH9od+llwAAA==

-->

</rfc>

