<?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.39 (Ruby 3.2.3) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-somoza-atn-agent-trust-negotiation-00" category="exp" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="agent-trust-negotiation">Agent Trust Negotiation: Capability, Delegation, and Provenance Binding for AI Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-somoza-atn-agent-trust-negotiation-00"/>
    <author initials="E." surname="Somoza" fullname="Enrique Somoza">
      <organization>Independent</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>enrique@somoza.co</email>
      </address>
    </author>
    <date year="2026" month="May" day="17"/>
    <keyword>AI agents</keyword>
    <keyword>trust</keyword>
    <keyword>capability</keyword>
    <keyword>delegation</keyword>
    <keyword>provenance</keyword>
    <keyword>handshake</keyword>
    <keyword>DNS</keyword>
    <keyword>DNSSEC</keyword>
    <keyword>SCITT</keyword>
    <keyword>RATS</keyword>
    <abstract>
      <?line 102?>

<t>This document defines the Agent Trust Negotiation (ATN) protocol. ATN sits above existing DNS-based agent discovery mechanisms and answers questions that discovery alone cannot: what is the agent permitted to do, under whose authority, with what provenance, and how do two agents reach a verifiable working agreement.</t>
      <t>ATN binds four artifacts to a DNS-discovered agent identity:</t>
      <ol spacing="normal" type="1"><li>
          <t>A Capability Manifest expressing what the agent is willing to do, under what conditions, and with what constraints.</t>
        </li>
        <li>
          <t>A Delegation Chain proving authorized principal scope and revocation paths.</t>
        </li>
        <li>
          <t>A Provenance Attestation proving build-time and runtime integrity.</t>
        </li>
        <li>
          <t>A Session Receipt produced at handshake completion, recording the negotiated scope.</t>
        </li>
      </ol>
      <t>ATN defines the handshake state machine that consumes these artifacts to produce a mutually verified, scope-bounded agent session, and a session receipt suitable for transparency log inclusion.</t>
      <t>ATN is transport-independent above the DNS layer and compatible with existing discovery proposals including AID <xref target="AID"/>, DNS-AID <xref target="DNS-AID"/>, and ANS v2 <xref target="ANSv2"/>.</t>
    </abstract>
  </front>
  <middle>
    <?line 117?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Recent IETF work has converged on DNS-based discovery for AI agents. Multiple drafts now define how to locate an agent's endpoint and verify its cryptographic identity given a domain name. These efforts answer two questions: <em>where is the agent</em> and <em>who is the agent</em>.</t>
      <t>They do not answer the questions that arise immediately after:</t>
      <ul spacing="normal">
        <li>
          <t>What is the agent permitted to do, and under what constraints?</t>
        </li>
        <li>
          <t>Under whose authority is the agent operating?</t>
        </li>
        <li>
          <t>What is the provenance of the agent's software, model, and configuration?</t>
        </li>
        <li>
          <t>How do two agents reach a mutually verifiable working agreement before any task begins?</t>
        </li>
        <li>
          <t>What evidence remains after the session ends, and how is it audited?</t>
        </li>
      </ul>
      <t>This document defines the Agent Trust Negotiation (ATN) protocol to address these gaps. ATN is the layer above discovery. It assumes the discovery layer has located an endpoint and authenticated an identity through one of the existing mechanisms. ATN then negotiates the trust relationship.</t>
      <t>The design has four parts:</t>
      <ol spacing="normal" type="1"><li>
          <t>Four structured artifacts (Capability Manifest, Delegation Chain, Provenance Attestation, Session Receipt) that can be pointed to from any DNS-based discovery record.</t>
        </li>
        <li>
          <t>A handshake protocol over HTTPS that exchanges and verifies the artifacts between two agents.</t>
        </li>
        <li>
          <t>A capability intersection algorithm that yields the negotiated session scope.</t>
        </li>
        <li>
          <t>A receipt format suitable for SCITT-style transparency log inclusion.</t>
        </li>
      </ol>
      <t>ATN deliberately does not introduce a new discovery mechanism. It builds on existing work and adds the negotiation layer that the agent ecosystem currently lacks.</t>
      <section anchor="scope">
        <name>Scope</name>
        <t>In scope:</t>
        <ul spacing="normal">
          <li>
            <t>Format and semantics of the four ATN artifacts.</t>
          </li>
          <li>
            <t>The Agent Trust Handshake (ATH) state machine.</t>
          </li>
          <li>
            <t>Capability intersection algebra.</t>
          </li>
          <li>
            <t>DNS bindings to point from a discovery record to ATN artifacts.</t>
          </li>
          <li>
            <t>IANA registrations for ATN-specific identifiers.</t>
          </li>
        </ul>
        <t>Out of scope:</t>
        <ul spacing="normal">
          <li>
            <t>Discovery of the agent itself (use <xref target="AID"/>, <xref target="DNS-AID"/>, <xref target="ANSv2"/>, or equivalent).</t>
          </li>
          <li>
            <t>Endpoint authentication (delegated to the discovery layer).</t>
          </li>
          <li>
            <t>Application protocol (delegated to MCP, A2A, OpenAPI, or equivalent).</t>
          </li>
          <li>
            <t>In-organization service-to-service identity (see <xref target="SPIFFE"/>).</t>
          </li>
          <li>
            <t>Reputation distribution.</t>
          </li>
          <li>
            <t>Behavioral attestation.</t>
          </li>
        </ul>
      </section>
      <section anchor="non-goals">
        <name>Non-Goals</name>
        <ul spacing="normal">
          <li>
            <t>ATN does NOT define a new DNS record type.</t>
          </li>
          <li>
            <t>ATN does NOT replace any existing discovery proposal.</t>
          </li>
          <li>
            <t>ATN does NOT introduce a centralized trust authority.</t>
          </li>
          <li>
            <t>ATN does NOT enforce policy. It produces verifiable evidence of declared and negotiated policy that downstream systems can audit.</t>
          </li>
        </ul>
      </section>
      <section anchor="choice-of-venue">
        <name>Choice of Venue</name>
        <t>ATN's choice of IETF as the venue follows from its dependencies. The discovery substrate is DNS <xref target="RFC4033"/> and SVCB <xref target="RFC9460"/>, both IETF standards. The attestation architecture is RATS <xref target="RFC9334"/>. The transparency log is SCITT. The signature format is JWS <xref target="RFC7515"/>. The mutual authentication transport is TLS <xref target="RFC8446"/>. The authorization frameworks ATN composes with are OAuth <xref target="RFC6749"/> and GNAP <xref target="RFC9635"/>.</t>
        <t>ATN is the composition of IETF primitives into a peer-to-peer agent trust handshake. Standardizing the composition in any other venue would fork the primitive stack and create alignment problems. The natural home for the composition is the same venue that standardized the primitives.</t>
      </section>
    </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 anchor="terminology">
        <name>Terminology</name>
        <dl>
          <dt>Agent</dt>
          <dd>
            <t>An automated software entity that initiates network interactions on behalf of, or with delegated authority from, a principal, without per-interaction human authorization.</t>
          </dd>
          <dt>Initiator</dt>
          <dd>
            <t>The agent that opens the trust handshake.</t>
          </dd>
          <dt>Responder</dt>
          <dd>
            <t>The agent that answers the trust handshake.</t>
          </dd>
          <dt>Capability Manifest</dt>
          <dd>
            <t>A signed JSON <xref target="RFC8259"/> document declaring what an agent is willing to do, under what conditions, and with what constraints.</t>
          </dd>
          <dt>Delegation Chain</dt>
          <dd>
            <t>A signed sequence of authorization statements binding the agent to a principal, with explicit scope, time bounds, and revocation pointers.</t>
          </dd>
          <dt>Provenance Attestation</dt>
          <dd>
            <t>A signed document proving build-time and runtime characteristics of the agent.</t>
          </dd>
          <dt>Session Receipt</dt>
          <dd>
            <t>A signed record produced at handshake completion, summarizing the negotiated scope and identities, suitable for transparency log inclusion.</t>
          </dd>
          <dt>Negotiated Scope</dt>
          <dd>
            <t>The intersection of two agents' capability sets, time windows, authorization scopes, and operational constraints, as determined by the handshake.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="architecture-overview">
      <name>Architecture Overview</name>
      <t>ATN defines four roles:</t>
      <ol spacing="normal" type="1"><li>
          <t>Agent Operator: publishes the DNS discovery record and the ATN artifacts.</t>
        </li>
        <li>
          <t>Agent: the runtime entity, in either Initiator or Responder mode at any moment.</t>
        </li>
        <li>
          <t>Principal: the human, organization, or other agent that authorized the agent through the Delegation Chain.</t>
        </li>
        <li>
          <t>Witness: an optional third party that can pre-verify ATN artifacts and publish endorsements (e.g., via SCITT <xref target="SCITT"/>).</t>
        </li>
      </ol>
      <t>ATN layers above discovery:</t>
      <artwork><![CDATA[
+----------------------------------------------+
|  Application Layer (MCP, A2A, OpenAPI, ...)  |
+----------------------------------------------+
|  Agent Trust Negotiation (this document)     |
+----------------------------------------------+
|  Discovery and Identity                      |
|  (AID, DNS-AID, ANS v2, equivalents)         |
+----------------------------------------------+
|  DNS, DNSSEC, TLS, HTTPS                     |
+----------------------------------------------+
]]></artwork>
      <t>The handshake order is:</t>
      <ol spacing="normal" type="1"><li>
          <t>Discovery: Initiator resolves the Responder's discovery record via DNS.</t>
        </li>
        <li>
          <t>Artifact fetch: Initiator retrieves the four ATN artifacts referenced by the discovery record.</t>
        </li>
        <li>
          <t>Handshake: Initiator opens the ATN handshake. Both parties exchange artifacts and verify signatures.</t>
        </li>
        <li>
          <t>Negotiation: Both parties compute the capability intersection.</t>
        </li>
        <li>
          <t>Receipt: Both parties produce a signed Session Receipt covering the negotiated scope.</t>
        </li>
        <li>
          <t>Session: Application traffic proceeds within the negotiated scope.</t>
        </li>
      </ol>
    </section>
    <section anchor="dns-binding">
      <name>DNS Binding</name>
      <t>ATN does not define its own DNS records. Instead, it specifies how to point to ATN artifacts from existing discovery records.</t>
      <section anchor="binding-tags-for-txt-based-discovery">
        <name>Binding Tags for TXT-Based Discovery</name>
        <t>The following tags <bcp14>MAY</bcp14> be added to TXT-based discovery records (compatible with the <xref target="AID"/> format and the format defined in companion documents):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>atn</tt></td>
              <td align="left">Absolute HTTPS URI of an ATN Index Document.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>atn-digest</tt></td>
              <td align="left">Hex SHA-256 digest of the Index Document.</td>
            </tr>
          </tbody>
        </table>
        <t>The ATN Index Document is a JSON file pointing to the four artifacts. Indirection through an Index Document keeps the DNS record small.</t>
        <section anchor="example-binding-atn-to-an-aid-style-record">
          <name>Example (binding ATN to an AID-style record)</name>
          <artwork><![CDATA[
_agent.example.com.  3600  IN  TXT  ( "v=aid1; "
                                       "u=https://agent.example.com/mcp; "
                                       "p=mcp; "
                                       "k=z7rW8rTq8o4mM6vVf7w1k3m4uQn9p2YxCAbcDeFgHiJ; "
                                       "atn=https://example.com/.well-known/atn/index.json; "
                                       "atn-digest=a3b8c2d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4" )
]]></artwork>
        </section>
      </section>
      <section anchor="binding-paramkeys-for-svcb-based-discovery">
        <name>Binding ParamKeys for SVCB-Based Discovery</name>
        <t>For SVCB-based discovery <xref target="RFC9460"/>, the following ParamKeys are registered (see <xref target="iana-considerations"/>):</t>
        <table>
          <thead>
            <tr>
              <th align="left">ParamKey</th>
              <th align="left">Format</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>atn</tt></td>
              <td align="left">URI</td>
            </tr>
            <tr>
              <td align="left">
                <tt>atn-digest</tt></td>
              <td align="left">hex-string</td>
            </tr>
          </tbody>
        </table>
        <section anchor="example-binding-atn-to-a-dns-aid-style-svcb-record">
          <name>Example (binding ATN to a DNS-AID-style SVCB record)</name>
          <artwork><![CDATA[
_agent.example.com.  3600  IN  HTTPS  1 agent.example.com. (
    alpn="h2,h3"
    atn="https://example.com/.well-known/atn/index.json"
    atn-digest="a3b8c2d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4" )
]]></artwork>
        </section>
      </section>
      <section anchor="atn-index-document">
        <name>ATN Index Document</name>
        <t>The Index Document at the <tt>atn</tt> URI is a JSON object with the following structure:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "atn1",
  "agent_id": "2H4kP9aQ8vR3wXyZ1mNbVcLk-a3b8c2d4e5f6a7b8c9d0e1f2",
  "capability_manifest": {
    "url": "https://example.com/.well-known/atn/capability.jws",
    "digest": "sha256:b4c5d6e7f8a9b0c1..."
  },
  "delegation_chain": {
    "url": "https://example.com/.well-known/atn/delegation.jws",
    "digest": "sha256:c5d6e7f8a9b0c1d2..."
  },
  "provenance_attestation": {
    "url": "https://example.com/.well-known/atn/provenance.jws",
    "digest": "sha256:d6e7f8a9b0c1d2e3..."
  },
  "handshake_endpoint": "https://agent.example.com/.atn/handshake",
  "witness_pointers": [
    "https://scitt.example.org/entries/a1b2c3..."
  ]
}
]]></sourcecode>
        <t>The Index Document itself <bcp14>MUST</bcp14> be signed as a JWS <xref target="RFC7515"/> when the discovery record cannot be DNSSEC-validated <xref target="RFC4033"/>. When DNSSEC is in use, the <tt>atn-digest</tt> tag covers integrity at the DNS layer and signature on the Index Document is <bcp14>RECOMMENDED</bcp14> but not <bcp14>REQUIRED</bcp14>.</t>
      </section>
    </section>
    <section anchor="capability-manifest">
      <name>Capability Manifest</name>
      <t>The Capability Manifest declares what the agent is willing to do under what conditions. It is a JSON object signed as a JWS.</t>
      <section anchor="capability-object-structure">
        <name>Capability Object Structure</name>
        <t>Each capability is a structured object with explicit dimensions covering identification, semantics, scope, and operational bounds. The design borrows from the action-resource-condition pattern of established authorization frameworks, the schema-binding pattern of W3C Verifiable Credentials, and the attenuation principle of capability-based security research.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Required</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>id</tt></td>
              <td align="left">Yes</td>
              <td align="left">Capability identifier from the IANA registry, or a vendor-specific identifier.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>schema</tt></td>
              <td align="left">Yes</td>
              <td align="left">URI plus SHA-256 digest of the formal capability definition.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>actions</tt></td>
              <td align="left">Yes</td>
              <td align="left">List of action verbs scoped to the capability's schema vocabulary.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resources</tt></td>
              <td align="left">Yes</td>
              <td align="left">List of resource patterns the capability applies to.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>conditions</tt></td>
              <td align="left">No</td>
              <td align="left">Runtime constraints: rate limits, data residency, time windows, size limits.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>effects</tt></td>
              <td align="left">Yes</td>
              <td align="left">One of: <tt>none</tt>, <tt>read_only</tt>, <tt>idempotent</tt>, <tt>mutating</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>external_calls</tt></td>
              <td align="left">Yes</td>
              <td align="left">One of: <tt>forbidden</tt>, <tt>listed_only</tt>, <tt>free</tt>. Whether the capability may call out.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sub_invocations</tt></td>
              <td align="left">Yes</td>
              <td align="left">One of: <tt>forbidden</tt>, <tt>same_scope</tt>, <tt>fresh_handshake_required</tt>. Sub-agent rules.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>persistence</tt></td>
              <td align="left">Yes</td>
              <td align="left">One of: <tt>none</tt>, <tt>session_only</tt>, <tt>durable</tt>. Whether state survives the session.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_bounds</tt></td>
              <td align="left">Yes</td>
              <td align="left">Hard ceilings: <tt>max_tokens</tt>, <tt>max_duration_seconds</tt>, <tt>max_cost_usd</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>preconditions</tt></td>
              <td align="left">No</td>
              <td align="left">Counterparty requirements that must hold before the capability is exercised.</td>
            </tr>
          </tbody>
        </table>
        <t>Every dimension uses a controlled vocabulary registered with IANA (see <xref target="iana-considerations"/>). Vendor-specific identifiers under the <tt>x-</tt> prefix are permitted for non-standard capabilities and <bcp14>MUST</bcp14> carry a schema reference.</t>
      </section>
      <section anchor="schema-binding">
        <name>Schema Binding</name>
        <t>The <tt>schema</tt> field binds the capability identifier to a formal definition. Two implementations resolving the same <tt>id</tt> to different <tt>schema.digest</tt> values <bcp14>MUST</bcp14> treat the capabilities as semantically distinct, even if the identifier matches. This eliminates the silent-divergence problem that opaque scope strings created in OAuth deployments.</t>
        <t>The schema document <bcp14>SHOULD</bcp14> define:</t>
        <ol spacing="normal" type="1"><li>
            <t>The semantic meaning of the capability identifier.</t>
          </li>
          <li>
            <t>The permitted values in <tt>actions</tt>.</t>
          </li>
          <li>
            <t>The format and semantics of <tt>resources</tt> patterns.</t>
          </li>
          <li>
            <t>Any capability-specific extensions to <tt>conditions</tt>.</t>
          </li>
        </ol>
        <t>Schema documents are versioned. A capability <bcp14>MAY</bcp14> pin a specific schema version via the digest.</t>
      </section>
      <section anchor="structure">
        <name>Structure</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "atn-capability-1",
  "agent_id": "<stable-identifier>",
  "issued_at": "2026-05-15T10:00:00Z",
  "valid_until": "2026-08-15T10:00:00Z",
  "capabilities": [
    {
      "id": "data-read",
      "schema": {
        "url": "https://schemas.example.com/atn/data-read-v1.json",
        "digest": "sha256:b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5"
      },
      "actions": ["read", "list"],
      "resources": ["dataset:public/*", "dataset:internal/research/*"],
      "conditions": {
        "rate_limit": "1000/min",
        "data_residency": ["US", "EU"],
        "time_window": "09:00-17:00 UTC",
        "max_response_size_bytes": 10485760
      },
      "effects": "read_only",
      "external_calls": "forbidden",
      "sub_invocations": "forbidden",
      "persistence": "none",
      "resource_bounds": {
        "max_tokens": 100000,
        "max_duration_seconds": 1800,
        "max_cost_usd": 0.50
      },
      "preconditions": {
        "counterparty_provenance": "required",
        "counterparty_delegation": "required",
        "transport": "tls1.3"
      }
    },
    {
      "id": "task-execute",
      "schema": {
        "url": "https://schemas.example.com/atn/task-execute-v1.json",
        "digest": "sha256:c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
      },
      "actions": ["execute"],
      "resources": ["task:summarize", "task:translate", "task:classify"],
      "conditions": {
        "max_session_minutes": 30
      },
      "effects": "idempotent",
      "external_calls": "listed_only",
      "sub_invocations": "same_scope",
      "persistence": "session_only",
      "resource_bounds": {
        "max_tokens": 500000,
        "max_duration_seconds": 1800,
        "max_cost_usd": 2.00
      },
      "preconditions": {
        "human_approval": "required",
        "approval_token_issuer": "https://approvals.example.com"
      }
    }
  ],
  "refusals": [
    {
      "category": "financial_transactions",
      "scope": "all"
    },
    {
      "category": "data_write",
      "scope": "external_systems"
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="dimension-semantics">
        <name>Dimension Semantics</name>
        <t><tt>effects</tt> declares the consequence of exercising the capability:</t>
        <ul spacing="normal">
          <li>
            <t><tt>none</tt>: no observable consequence (introspection only).</t>
          </li>
          <li>
            <t><tt>read_only</tt>: data is read; no state changes.</t>
          </li>
          <li>
            <t><tt>idempotent</tt>: state may change but repeated execution is equivalent to single execution.</t>
          </li>
          <li>
            <t><tt>mutating</tt>: state changes, and the change is not idempotent.</t>
          </li>
        </ul>
        <t><tt>external_calls</tt> declares whether the capability may initiate calls outside the agent's own scope:</t>
        <ul spacing="normal">
          <li>
            <t><tt>forbidden</tt>: no external calls.</t>
          </li>
          <li>
            <t><tt>listed_only</tt>: external calls are permitted only to destinations listed in the schema or conditions.</t>
          </li>
          <li>
            <t><tt>free</tt>: any external call is permitted, bounded only by <tt>resource_bounds</tt>.</t>
          </li>
        </ul>
        <t><tt>sub_invocations</tt> declares the rules for invoking other agents:</t>
        <ul spacing="normal">
          <li>
            <t><tt>forbidden</tt>: this capability does not invoke other agents.</t>
          </li>
          <li>
            <t><tt>same_scope</tt>: sub-invocations inherit the present session's negotiated scope.</t>
          </li>
          <li>
            <t><tt>fresh_handshake_required</tt>: every sub-invocation requires a separate ATN handshake with the sub-agent.</t>
          </li>
        </ul>
        <t><tt>persistence</tt> declares state survivability:</t>
        <ul spacing="normal">
          <li>
            <t><tt>none</tt>: no state persists beyond a single request.</t>
          </li>
          <li>
            <t><tt>session_only</tt>: state persists for the session lifetime, then is discarded.</t>
          </li>
          <li>
            <t><tt>durable</tt>: state persists beyond the session; the agent <bcp14>MUST</bcp14> disclose retention policy in its schema.</t>
          </li>
        </ul>
        <t><tt>resource_bounds</tt> declares hard ceilings on the negotiated scope. Conforming implementations <bcp14>MUST</bcp14> terminate the session when any bound is exceeded. The protocol specifies the contract; runtime enforcement is the implementation's responsibility, consistent with the enforcement posture described in the Security Considerations.</t>
      </section>
      <section anchor="key-properties">
        <name>Key Properties</name>
        <ul spacing="normal">
          <li>
            <t>The manifest is a declaration of willingness, not an enforcement primitive. Violations are auditable through the Session Receipt and transparency log.</t>
          </li>
          <li>
            <t>The <tt>valid_until</tt> field forces rotation. Manifests without expiry <bcp14>MUST</bcp14> be rejected.</t>
          </li>
          <li>
            <t><tt>refusals</tt> are first-class. Explicit "will not" claims provide auditable accountability if violated.</t>
          </li>
          <li>
            <t>Capability <tt>id</tt> values from the IANA registry have stable semantics; vendor-specific identifiers under <tt>x-</tt> <bcp14>MUST</bcp14> carry a schema reference.</t>
          </li>
          <li>
            <t>Capabilities are deny-by-default. The negotiated session scope contains only what both parties explicitly offered.</t>
          </li>
        </ul>
      </section>
      <section anchor="refusal-semantics">
        <name>Refusal Semantics</name>
        <t>Refusals are a deliberate inversion of conventional capability advertisement. Most existing proposals describe what an agent CAN do. ATN requires agents to also describe what they explicitly WILL NOT do. This produces auditable behavioral contracts: a recorded refusal that is subsequently violated is direct evidence of misbehavior.</t>
      </section>
    </section>
    <section anchor="delegation-chain">
      <name>Delegation Chain</name>
      <t>The Delegation Chain proves the agent operates under authorized principal scope, with explicit time bounds and revocation paths.</t>
      <section anchor="structure-1">
        <name>Structure</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "atn-delegation-1",
  "agent_id": "<stable-identifier>",
  "chain": [
    {
      "issuer": "did:example:organization-root",
      "subject": "did:example:department-ops",
      "scope": ["agent.deploy", "agent.delegate"],
      "issued_at": "2026-01-01T00:00:00Z",
      "valid_until": "2027-01-01T00:00:00Z",
      "revocation": "https://example.com/.well-known/atn/revocation/department-ops",
      "signature": "<JWS>"
    },
    {
      "issuer": "did:example:department-ops",
      "subject": "agent:<stable-identifier>",
      "scope": ["data-read", "task-execute:summarize", "task-execute:translate"],
      "issued_at": "2026-05-01T00:00:00Z",
      "valid_until": "2026-08-01T00:00:00Z",
      "revocation": "https://example.com/.well-known/atn/revocation/agent",
      "signature": "<JWS>"
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="verification">
        <name>Verification</name>
        <t>A relying party <bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verify each link's signature against the issuer's published key.</t>
          </li>
          <li>
            <t>Verify each link's <tt>scope</tt> is a subset of the parent link's <tt>scope</tt>.</t>
          </li>
          <li>
            <t>Verify all links are within their <tt>valid_until</tt> window.</t>
          </li>
          <li>
            <t>Optionally poll revocation endpoints with rate-limited caching.</t>
          </li>
          <li>
            <t>Verify the leaf <tt>subject</tt> matches the agent's stable identifier from discovery.</t>
          </li>
        </ol>
        <t>If any check fails, the agent <bcp14>MUST NOT</bcp14> be trusted for any capability beyond the verifiable subset.</t>
      </section>
    </section>
    <section anchor="provenance-attestation">
      <name>Provenance Attestation</name>
      <t>The Provenance Attestation proves build-time and runtime characteristics of the agent.</t>
      <section anchor="structure-2">
        <name>Structure</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "atn-provenance-1",
  "agent_id": "<stable-identifier>",
  "build": {
    "predicateType": "https://slsa.dev/provenance/v1",
    "predicate": { "...": "in-toto SLSA provenance" }
  },
  "model": {
    "model_id": "example-vendor/llm-v1.2.3",
    "model_version_sha256": "9f8e7d6c5b4a...",
    "system_prompt_sha256": "1a2b3c4d5e6f..."
  },
  "runtime": {
    "evidence_type": "RATS",
    "evidence": { "...": "RFC 9334 evidence" },
    "verifier": "https://verifier.example.com/rats"
  },
  "issued_at": "2026-05-15T08:00:00Z",
  "valid_until": "2026-05-15T20:00:00Z"
}
]]></sourcecode>
      </section>
      <section anchor="properties">
        <name>Properties</name>
        <ul spacing="normal">
          <li>
            <t>The Provenance Attestation links three independent supply chains: software build (SLSA, in-toto <xref target="IN-TOTO"/>), model identity (cryptographic hash of weights or version anchor), and runtime environment (RATS evidence <xref target="RFC9334"/>).</t>
          </li>
          <li>
            <t>All three are optional. An agent that publishes only build provenance is more trustworthy than one that publishes none and less trustworthy than one that publishes all three.</t>
          </li>
          <li>
            <t>Short <tt>valid_until</tt> windows are encouraged. The Provenance Attestation is the most time-sensitive artifact.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="the-agent-trust-handshake-ath">
      <name>The Agent Trust Handshake (ATH)</name>
      <section anchor="state-machine">
        <name>State Machine</name>
        <artwork><![CDATA[
   Initiator                                      Responder
       |                                              |
       |---- ATH_HELLO ------------------------------>|
       |     (initiator artifacts + requested scope)  |
       |                                              |
       |<--- ATH_OFFER -------------------------------|
       |     (responder artifacts + offered scope)    |
       |                                              |
       |---- ATH_ACCEPT ---------------------------- >|
       |     (intersection scope + receipt request)   |
       |                                              |
       |<--- ATH_RECEIPT -----------------------------|
       |     (signed session receipt)                 |
       |                                              |
       === negotiated session begins ===
]]></artwork>
        <t>All four messages are JSON, signed as JWS, exchanged over HTTPS at the Responder's <tt>handshake_endpoint</tt>.</t>
      </section>
      <section anchor="athhello">
        <name>ATH_HELLO</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "hello",
  "supported_versions": ["ath1"],
  "initiator": {
    "agent_id": "<initiator-id>",
    "artifacts": {
      "capability": { "url": "...", "digest": "..." },
      "delegation": { "url": "...", "digest": "..." },
      "provenance": { "url": "...", "digest": "..." }
    }
  },
  "requested_scope": {
    "capability_ids": ["data-read"],
    "duration_seconds": 1800,
    "purpose": "summarize_research_corpus"
  },
  "nonce": "<random>",
  "timestamp": "..."
}
]]></sourcecode>
        <t>The <tt>requested_scope.capability_ids</tt> field carries only the identifiers of the capabilities the Initiator wishes to negotiate. The Responder consults its own Capability Manifest for the structured definitions and computes the intersection (see <xref target="capability-intersection-algebra"/>).</t>
      </section>
      <section anchor="athoffer">
        <name>ATH_OFFER</name>
        <t>The Responder verifies the Initiator's artifacts, computes the capability intersection, and returns:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "offer",
  "selected_version": "ath1",
  "supported_versions_echo": ["ath1"],
  "responder": {
    "agent_id": "<responder-id>",
    "artifacts": {
      "capability": { "url": "...", "digest": "..." },
      "delegation": { "url": "...", "digest": "..." },
      "provenance": { "url": "...", "digest": "..." }
    }
  },
  "offered_scope": {
    "capabilities": [
      {
        "id": "data-read",
        "schema": { "url": "https://schemas.example.com/atn/data-read-v1.json",
                    "digest": "sha256:b4c5d6..." },
        "actions": ["read", "list"],
        "resources": ["dataset:public/*"],
        "conditions": { "rate_limit": "500/min", "data_residency": ["US"] },
        "effects": "read_only",
        "external_calls": "forbidden",
        "sub_invocations": "forbidden",
        "persistence": "none",
        "resource_bounds": { "max_tokens": 50000, "max_duration_seconds": 1800, "max_cost_usd": 0.50 }
      }
    ],
    "duration_seconds": 1800,
    "purpose": "summarize_research_corpus"
  },
  "nonce": "<random>",
  "in_reply_to_nonce": "<initiator-nonce>",
  "timestamp": "..."
}
]]></sourcecode>
        <t>The <tt>offered_scope.capabilities</tt> field carries the full structured Capability objects after intersection. Each is the per-dimension intersection of the Initiator's requested capability (resolved from its Capability Manifest) and the Responder's offered version.</t>
      </section>
      <section anchor="athaccept">
        <name>ATH_ACCEPT</name>
        <t>If the Initiator agrees with the offered scope:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "accept",
  "agreed_scope": { "...": "matches ATH_OFFER offered_scope" },
  "nonce": "<random>",
  "in_reply_to_nonce": "<responder-nonce>",
  "timestamp": "..."
}
]]></sourcecode>
        <t>If the Initiator disagrees, it <bcp14>MAY</bcp14> send <tt>ATH_COUNTER</tt> with a revised request, up to a limit (see <xref target="handshake-limits"/>).</t>
      </section>
      <section anchor="athreceipt">
        <name>ATH_RECEIPT</name>
        <t>The Responder produces the Session Receipt:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "receipt",
  "session_id": "<uuid>",
  "initiator_id": "<initiator-id>",
  "responder_id": "<responder-id>",
  "agreed_scope": { "...": "the intersection result" },
  "artifact_digests": {
    "initiator_capability": "sha256:...",
    "initiator_delegation": "sha256:...",
    "initiator_provenance": "sha256:...",
    "responder_capability": "sha256:...",
    "responder_delegation": "sha256:...",
    "responder_provenance": "sha256:..."
  },
  "scitt_log_pointer": "https://scitt.example.org/entries/...",
  "issued_at": "...",
  "expires_at": "...",
  "signature": "<JWS by responder>"
}
]]></sourcecode>
        <t>Both parties countersign the receipt and <bcp14>MAY</bcp14> publish it to a SCITT log <xref target="SCITT"/>.</t>
      </section>
      <section anchor="handshake-limits">
        <name>Handshake Limits</name>
        <ul spacing="normal">
          <li>
            <t>Total handshake round trips <bcp14>MUST NOT</bcp14> exceed 4.</t>
          </li>
          <li>
            <t>ATH_COUNTER messages <bcp14>MUST NOT</bcp14> exceed 2 per session.</t>
          </li>
          <li>
            <t>The handshake <bcp14>MUST</bcp14> complete within 30 seconds.</t>
          </li>
          <li>
            <t>Sessions exceeding <tt>agreed_scope.duration_seconds</tt> require a new handshake.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="capability-intersection-algebra">
      <name>Capability Intersection Algebra</name>
      <t>When two agents present capability sets, the negotiated scope is computed by intersection. The algorithm is specified for interoperability so that conforming implementations produce identical results from identical inputs.</t>
      <section anchor="identity-rule">
        <name>Identity Rule</name>
        <t>A capability <tt>c</tt> is in the intersection only if all of the following hold:</t>
        <ol spacing="normal" type="1"><li>
            <t>Both Initiator's requested set and Responder's offered set include a capability with the same <tt>id</tt>.</t>
          </li>
          <li>
            <t>Both capabilities reference the same <tt>schema.url</tt> and <tt>schema.digest</tt>. Identifiers with diverging schemas <bcp14>MUST</bcp14> be treated as distinct capabilities and excluded from the intersection.</t>
          </li>
          <li>
            <t>Neither party has a matching entry in <tt>refusals</tt> covering <tt>c</tt>.</t>
          </li>
        </ol>
      </section>
      <section anchor="per-dimension-rules">
        <name>Per-Dimension Rules</name>
        <t>For each capability <tt>c</tt> that satisfies the identity rule, the intersected capability is computed dimension by dimension.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Dimension</th>
              <th align="left">Combinator</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>actions</tt></td>
              <td align="left">List intersection</td>
              <td align="left">If empty, <tt>c</tt> is dropped.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resources</tt></td>
              <td align="left">Pattern intersection (longest-prefix match)</td>
              <td align="left">If empty, <tt>c</tt> is dropped.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>conditions</tt> numeric (<tt>rate_limit</tt>, <tt>max_response_size_bytes</tt>, <tt>max_session_minutes</tt>)</td>
              <td align="left">Minimum</td>
              <td align="left">Tighter bound wins.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>conditions</tt> list (<tt>data_residency</tt>, <tt>tasks</tt>)</td>
              <td align="left">List intersection</td>
              <td align="left">If empty, <tt>c</tt> is dropped.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>conditions.time_window</tt></td>
              <td align="left">Time-window intersection</td>
              <td align="left">If empty, <tt>c</tt> is dropped.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>effects</tt></td>
              <td align="left">Most restrictive of: <tt>none</tt> &lt; <tt>read_only</tt> &lt; <tt>idempotent</tt> &lt; <tt>mutating</tt></td>
              <td align="left">Take lower in ordering.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>external_calls</tt></td>
              <td align="left">Most restrictive of: <tt>forbidden</tt> &lt; <tt>listed_only</tt> &lt; <tt>free</tt></td>
              <td align="left">Take lower in ordering.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sub_invocations</tt></td>
              <td align="left">Most restrictive of: <tt>forbidden</tt> &lt; <tt>same_scope</tt> &lt; <tt>fresh_handshake_required</tt></td>
              <td align="left">Take lower in ordering.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>persistence</tt></td>
              <td align="left">Most restrictive of: <tt>none</tt> &lt; <tt>session_only</tt> &lt; <tt>durable</tt></td>
              <td align="left">Take lower in ordering.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_bounds.max_tokens</tt></td>
              <td align="left">Minimum</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_bounds.max_duration_seconds</tt></td>
              <td align="left">Minimum</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_bounds.max_cost_usd</tt></td>
              <td align="left">Minimum</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">
                <tt>preconditions</tt></td>
              <td align="left">Union</td>
              <td align="left">Both parties' preconditions apply to the negotiated capability.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="refusal-override">
        <name>Refusal Override</name>
        <t>If either party's <tt>refusals</tt> list contains an entry matching capability <tt>c</tt> by <tt>category</tt> or by direct <tt>id</tt>, <tt>c</tt> is dropped from the intersection regardless of any other dimension. Refusals are absolute.</t>
      </section>
      <section anchor="worked-example">
        <name>Worked Example</name>
        <t>Initiator requests <tt>data-read</tt>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>actions</tt>: <tt>[read, list, search]</tt></t>
          </li>
          <li>
            <t><tt>resources</tt>: <tt>[dataset:public/*, dataset:internal/*]</tt></t>
          </li>
          <li>
            <t><tt>conditions.rate_limit</tt>: 1000/min</t>
          </li>
          <li>
            <t><tt>conditions.data_residency</tt>: <tt>[US, EU, APAC]</tt></t>
          </li>
          <li>
            <t><tt>effects</tt>: <tt>read_only</tt></t>
          </li>
          <li>
            <t><tt>external_calls</tt>: <tt>listed_only</tt></t>
          </li>
          <li>
            <t><tt>resource_bounds.max_cost_usd</tt>: 1.00</t>
          </li>
        </ul>
        <t>Responder offers <tt>data-read</tt>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>actions</tt>: <tt>[read, list]</tt></t>
          </li>
          <li>
            <t><tt>resources</tt>: <tt>[dataset:public/*]</tt></t>
          </li>
          <li>
            <t><tt>conditions.rate_limit</tt>: 500/min</t>
          </li>
          <li>
            <t><tt>conditions.data_residency</tt>: <tt>[US, EU]</tt></t>
          </li>
          <li>
            <t><tt>effects</tt>: <tt>read_only</tt></t>
          </li>
          <li>
            <t><tt>external_calls</tt>: <tt>forbidden</tt></t>
          </li>
          <li>
            <t><tt>resource_bounds.max_cost_usd</tt>: 0.50</t>
          </li>
        </ul>
        <t>Negotiated intersection (assuming matching schemas):</t>
        <ul spacing="normal">
          <li>
            <t><tt>actions</tt>: <tt>[read, list]</tt></t>
          </li>
          <li>
            <t><tt>resources</tt>: <tt>[dataset:public/*]</tt></t>
          </li>
          <li>
            <t><tt>conditions.rate_limit</tt>: 500/min</t>
          </li>
          <li>
            <t><tt>conditions.data_residency</tt>: <tt>[US, EU]</tt></t>
          </li>
          <li>
            <t><tt>effects</tt>: <tt>read_only</tt></t>
          </li>
          <li>
            <t><tt>external_calls</tt>: <tt>forbidden</tt></t>
          </li>
          <li>
            <t><tt>resource_bounds.max_cost_usd</tt>: 0.50</t>
          </li>
        </ul>
        <t>If the schemas had diverged, <tt>data-read</tt> would be dropped entirely with no intersection. If Initiator's refusals included <tt>data-read</tt>, the capability would be dropped regardless of offer compatibility.</t>
      </section>
    </section>
    <section anchor="mutual-trust-mode">
      <name>Mutual Trust Mode</name>
      <t>When both agents are sensitive (for example, two agents acting on behalf of different organizations), the handshake operates in mutual mode:</t>
      <ul spacing="normal">
        <li>
          <t>Both parties <bcp14>MUST</bcp14> present all four artifacts in ATH_HELLO and ATH_OFFER.</t>
        </li>
        <li>
          <t>Both parties <bcp14>MUST</bcp14> verify the counterparty's full chain before proceeding.</t>
        </li>
        <li>
          <t>The Session Receipt <bcp14>MUST</bcp14> be countersigned by both parties.</t>
        </li>
      </ul>
      <t>In single-sided mode (for example, when one party is a public service), only the trusted side must present full artifacts. The other side's identity is still verified at the discovery layer, but the trust posture is asymmetric.</t>
    </section>
    <section anchor="version-negotiation-and-algorithm-agility">
      <name>Version Negotiation and Algorithm Agility</name>
      <t>ATN is designed for long-term evolution. Two mechanisms ensure forward compatibility: explicit version negotiation in the handshake and pluggable cryptographic algorithms in artifacts and messages.</t>
      <section anchor="version-negotiation">
        <name>Version Negotiation</name>
        <t>The Initiator's ATH_HELLO message advertises every ATN version it supports in a <tt>supported_versions</tt> field. The Responder's ATH_OFFER selects the highest mutually supported version and echoes it in a <tt>selected_version</tt> field. All subsequent messages in the session use the selected version.</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "hello",
  "supported_versions": ["ath1", "ath2"],
  "initiator": { "...": "..." },
  "requested_scope": { "...": "..." },
  "nonce": "...",
  "timestamp": "..."
}
]]></sourcecode>
        <t>The Responder <bcp14>MUST</bcp14> include the Initiator's <tt>supported_versions</tt> list in the signed envelope of its ATH_OFFER. This prevents downgrade attacks: an on-path adversary that strips advertised versions from ATH_HELLO would cause the Responder's signature to cover the stripped list, which the Initiator can detect.</t>
        <t>If the Initiator and Responder share no common version, the Responder <bcp14>MUST</bcp14> reply with ATH_REJECT carrying error code <tt>version_mismatch</tt>. The handshake terminates.</t>
      </section>
      <section anchor="algorithm-agility">
        <name>Algorithm Agility</name>
        <t>ATN does not pin cryptographic algorithms beyond a minimum set required for v1 interoperability. Implementations <bcp14>MAY</bcp14> use any algorithm registered for JWS <xref target="RFC7515"/> or COSE.</t>
        <t>Required for ATN v1 conformance:</t>
        <ol spacing="normal" type="1"><li>
            <t>Ed25519 signatures over JWS-encoded artifacts and handshake messages.</t>
          </li>
          <li>
            <t>SHA-256 for digests bound at the DNS layer and in artifact references.</t>
          </li>
        </ol>
        <t>Recommended additional algorithms:</t>
        <ol spacing="normal" type="1"><li>
            <t>ECDSA P-256 with SHA-256 for environments with ECDSA-only hardware tokens.</t>
          </li>
          <li>
            <t>ML-DSA (post-quantum signature) for deployments preparing for post-quantum transition.</t>
          </li>
        </ol>
        <t>The Capability Manifest, Delegation Chain, Provenance Attestation, and Session Receipt <bcp14>MAY</bcp14> each be signed with a different algorithm. The JWS header identifies the algorithm. Relying parties <bcp14>MUST</bcp14> reject artifacts signed with algorithms they do not support.</t>
        <t>Algorithm identifiers are negotiated implicitly via the JWS <tt>alg</tt> header on each artifact. Explicit negotiation in ATH_HELLO is NOT <bcp14>REQUIRED</bcp14> for v1 but <bcp14>MAY</bcp14> be added in future versions.</t>
      </section>
      <section anchor="post-quantum-transition">
        <name>Post-Quantum Transition</name>
        <t>The cryptographic operations in ATN are well-bounded: signature verification of artifacts and handshake messages. There is no key agreement step inside ATN itself; TLS handles channel security. Migration to post-quantum signatures requires only adopting a PQ-capable signature algorithm in JWS, which the IETF JOSE working group is standardizing.</t>
        <t>When PQ algorithms are widely deployed, operators <bcp14>SHOULD</bcp14> rotate to a hybrid scheme (classical + PQ) during the transition window, then to PQ-only. ATN's version negotiation supports introducing a new minor version that prefers PQ signatures without breaking v1 deployments.</t>
      </section>
    </section>
    <section anchor="compatibility-with-existing-discovery-protocols">
      <name>Compatibility with Existing Discovery Protocols</name>
      <t>ATN is designed to coexist with existing DNS-based discovery proposals without modification:</t>
      <section anchor="with-aid-aid">
        <name>With AID <xref target="AID"/></name>
        <t>AID's TXT record is extended with the <tt>atn</tt> and <tt>atn-digest</tt> tags. AID's PKA mechanism continues to authenticate the endpoint. ATN consumes the AID-authenticated identity as the input to the handshake.</t>
      </section>
      <section anchor="with-dns-aid-dns-aid">
        <name>With DNS-AID <xref target="DNS-AID"/></name>
        <t>DNS-AID's SVCB records are extended with the <tt>atn</tt> and <tt>atn-digest</tt> ParamKeys. The leaf-zone naming convention from DNS-AID is preserved.</t>
      </section>
      <section anchor="with-ans-v2-ansv2">
        <name>With ANS v2 <xref target="ANSv2"/></name>
        <t>ANS v2's Trust Card concept maps directly to a subset of ATN's Capability Manifest. An ANS v2 deployment can publish an ATN Index Document where the Capability Manifest cross-references the ANS Trust Card.</t>
      </section>
      <section anchor="multi-discovery-tolerance">
        <name>Multi-Discovery Tolerance</name>
        <t>A single agent zone <bcp14>MAY</bcp14> publish records compatible with multiple discovery proposals simultaneously. ATN binding is independent of which discovery format is used.</t>
      </section>
    </section>
    <section anchor="relationship-to-existing-identity-authorization-and-attestation-frameworks">
      <name>Relationship to Existing Identity, Authorization, and Attestation Frameworks</name>
      <t>A reasonable first question for any new trust protocol is whether existing frameworks suffice. ATN composes several mature primitives and does not reinvent any of them. The contribution is the composition: a peer-to-peer agent handshake with deterministic scope negotiation and an auditable session receipt. This section addresses each adjacent framework and identifies where ATN composes with it.</t>
      <t>The analogy that clarifies the relationship: TLS uses asymmetric crypto, symmetric crypto, key exchange, and X.509. TLS is not accused of reinventing those primitives. TLS is the handshake that composes them into a deployable channel-security protocol. ATN occupies the same compositional role for inter-agent trust.</t>
      <section anchor="oauth-20-and-gnap">
        <name>OAuth 2.0 and GNAP</name>
        <t>OAuth 2.0 <xref target="RFC6749"/> and GNAP <xref target="RFC9635"/> authenticate and authorize a Client to access a Resource Server. ATN negotiates a mutual agreement between two autonomous peers.</t>
        <t>Structural differences:</t>
        <ol spacing="normal" type="1"><li>
            <t>Asymmetric vs symmetric. OAuth and GNAP define Client and Resource Server roles. ATN defines two peers, each presenting four artifacts. There is no "resource server" in agent-to-agent collaboration.</t>
          </li>
          <li>
            <t>Secret tokens vs publishable artifacts. OAuth bearer tokens are secrets and <bcp14>MUST NOT</bcp14> be logged. ATN artifacts are designed for publication to transparency logs. Opposite security models for the core artifacts.</t>
          </li>
          <li>
            <t>No formal scope intersection. OAuth scopes are evaluated by membership at the Resource Server. ATN specifies a deterministic intersection algorithm.</t>
          </li>
          <li>
            <t>No refusal semantics. OAuth represents grants. ATN represents grants and explicit refusals as first-class signed claims.</t>
          </li>
        </ol>
        <t>Where OAuth and GNAP remain the right tools:</t>
        <ul spacing="normal">
          <li>
            <t>Inside a trust domain with a central authorization server, OAuth and GNAP issue access tokens to passive resources. ATN is unnecessary.</t>
          </li>
          <li>
            <t>Where one party is a passive resource, OAuth-style bearer access fits.</t>
          </li>
          <li>
            <t>Human-to-agent delegation, where a human grants an agent access on the human's behalf, fits GNAP.</t>
          </li>
        </ul>
        <t>ATN composes with OAuth and GNAP. An agent in an ATN session <bcp14>MAY</bcp14> hold OAuth tokens for downstream resource access. ATN governs the inter-agent relationship; OAuth governs subsequent resource calls.</t>
      </section>
      <section anchor="spiffe-workload-identity">
        <name>SPIFFE Workload Identity</name>
        <t>SPIFFE <xref target="SPIFFE"/> issues SVIDs (SPIFFE Verifiable Identity Documents) to workloads within a trust domain. SPIFFE Federation supports cross-domain identity through bilaterally exchanged trust bundles.</t>
        <t>Structural relationship:</t>
        <ol spacing="normal" type="1"><li>
            <t>SPIFFE provides identity, not authorization, willingness, capability, or provenance.</t>
          </li>
          <li>
            <t>SPIFFE is optimized for intra-organizational deployment. Cross-organizational use requires pre-arranged federation. ATN targets cross-organizational interactions where peers may meet for the first time without prior trust setup.</t>
          </li>
          <li>
            <t>ATN can carry a SPIFFE ID as the stable identifier in its artifacts. The SPIFFE SVID becomes the authentication input; the ATN handshake adds capability, delegation, provenance, and receipt on top.</t>
          </li>
        </ol>
        <t>SPIFFE and ATN compose cleanly. SPIFFE within the trust domain, ATN at the boundary.</t>
      </section>
      <section anchor="mutual-tls">
        <name>Mutual TLS</name>
        <t>Mutual TLS <xref target="RFC8446"/> authenticates both endpoints at the transport layer. It establishes that the connection is between two specific certificates.</t>
        <t>mTLS provides:</t>
        <ul spacing="normal">
          <li>
            <t>Endpoint authentication.</t>
          </li>
          <li>
            <t>Channel confidentiality and integrity.</t>
          </li>
        </ul>
        <t>mTLS does not provide:</t>
        <ul spacing="normal">
          <li>
            <t>Capability declaration.</t>
          </li>
          <li>
            <t>Delegation expression.</t>
          </li>
          <li>
            <t>Provenance evidence.</t>
          </li>
          <li>
            <t>Negotiation of scope.</t>
          </li>
          <li>
            <t>Auditable agreement record.</t>
          </li>
        </ul>
        <t>ATN runs on top of an mTLS-secured channel where appropriate. mTLS is necessary infrastructure for many ATN deployments. It is not a substitute for the negotiation.</t>
      </section>
      <section anchor="rats-remote-attestation">
        <name>RATS Remote Attestation</name>
        <t>RATS <xref target="RFC9334"/> defines roles (Attester, Verifier, Relying Party, Endorser) and the structure of attestation evidence and results.</t>
        <t>RATS provides:</t>
        <ul spacing="normal">
          <li>
            <t>The architecture for producing and verifying attestation evidence.</t>
          </li>
        </ul>
        <t>RATS does not provide:</t>
        <ul spacing="normal">
          <li>
            <t>A protocol for combining attestation evidence with authorization or capability negotiation.</t>
          </li>
          <li>
            <t>A specification for what to do with verification results in a peer interaction.</t>
          </li>
        </ul>
        <t>ATN consumes RATS evidence as one axis of its Provenance Attestation. The other two axes (build provenance and model identity) come from supply-chain attestation frameworks. RATS is the input; ATN is one specified consumer.</t>
      </section>
      <section anchor="scitt-transparency">
        <name>SCITT Transparency</name>
        <t>SCITT <xref target="SCITT"/> defines an append-only transparency log for signed statements with inclusion proofs.</t>
        <t>SCITT provides:</t>
        <ul spacing="normal">
          <li>
            <t>The transparency log infrastructure.</t>
          </li>
          <li>
            <t>The signed-statement envelope format.</t>
          </li>
        </ul>
        <t>SCITT does not provide:</t>
        <ul spacing="normal">
          <li>
            <t>The semantics of what to log for a given application.</t>
          </li>
          <li>
            <t>The receipt format that captures an inter-agent agreement.</t>
          </li>
        </ul>
        <t>ATN provides the Session Receipt format that becomes the SCITT statement for an agent interaction. SCITT without ATN is a log waiting for a record format. ATN without SCITT is a receipt waiting for a transparency layer.</t>
      </section>
      <section anchor="composition-summary">
        <name>Composition Summary</name>
        <t>ATN composes the following primitives per layer:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Concern</th>
              <th align="left">Primitive</th>
              <th align="left">ATN's Role</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Endpoint authentication</td>
              <td align="left">mTLS <xref target="RFC8446"/></td>
              <td align="left">Runs above</td>
            </tr>
            <tr>
              <td align="left">Workload identity (intra-org)</td>
              <td align="left">SPIFFE <xref target="SPIFFE"/></td>
              <td align="left">Consumes SVIDs as stable identifiers</td>
            </tr>
            <tr>
              <td align="left">Cross-org identity</td>
              <td align="left">DNS + DNSSEC <xref target="RFC4033"/>, <xref target="AID"/>, <xref target="DNS-AID"/>, <xref target="ANSv2"/></td>
              <td align="left">Discovery substrate for ATN artifacts</td>
            </tr>
            <tr>
              <td align="left">Delegated authorization to passive resources</td>
              <td align="left">OAuth <xref target="RFC6749"/>, GNAP <xref target="RFC9635"/></td>
              <td align="left">Composes with, does not replace</td>
            </tr>
            <tr>
              <td align="left">Attestation evidence</td>
              <td align="left">RATS <xref target="RFC9334"/></td>
              <td align="left">Consumes evidence in Provenance Attestation</td>
            </tr>
            <tr>
              <td align="left">Public auditability</td>
              <td align="left">SCITT <xref target="SCITT"/></td>
              <td align="left">Provides the receipt format for log entries</td>
            </tr>
            <tr>
              <td align="left">Peer-to-peer trust handshake</td>
              <td align="left">(none exists)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>The contribution of ATN is the bottom row. The five rows above are existing work that ATN composes.</t>
      </section>
      <section anchor="when-to-use-what">
        <name>When to Use What</name>
        <ol spacing="normal" type="1"><li>
            <t>Two workloads inside one trust domain coordinating on a task: SPIFFE.</t>
          </li>
          <li>
            <t>A client accessing a resource server with delegated user authorization: OAuth or GNAP.</t>
          </li>
          <li>
            <t>Establishing that you are talking to a specific endpoint: mTLS.</t>
          </li>
          <li>
            <t>Producing tamper-evident proof that some software was built and deployed as claimed: RATS plus supply-chain attestation.</t>
          </li>
          <li>
            <t>Publishing an auditable record of a claim: SCITT.</t>
          </li>
          <li>
            <t>Two autonomous agents from different organizations agreeing to work together with mutually verified capability, authority, provenance, and a signed record of the agreement: ATN.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="threat-model">
        <name>Threat Model</name>
        <t>ATN assumes:</t>
        <ul spacing="normal">
          <li>
            <t>Adversaries may publish well-formed but malicious ATN artifacts.</t>
          </li>
          <li>
            <t>Adversaries may compromise an agent and continue to present valid pre-compromise artifacts.</t>
          </li>
          <li>
            <t>Adversaries may attempt to negotiate scope expansions outside the published Capability Manifest.</t>
          </li>
          <li>
            <t>Adversaries may collude across organizational boundaries to construct false Delegation Chains.</t>
          </li>
        </ul>
      </section>
      <section anchor="artifact-authenticity">
        <name>Artifact Authenticity</name>
        <t>Every ATN artifact is signed. Signatures <bcp14>MUST</bcp14> be verified against keys bound to the agent's stable identifier at the discovery layer. Artifacts whose signatures do not verify, whose <tt>valid_until</tt> has passed, or whose digests do not match the DNS-published values <bcp14>MUST</bcp14> be rejected.</t>
      </section>
      <section anchor="enforcement-posture-evidence-not-prevention">
        <name>Enforcement Posture: Evidence, Not Prevention</name>
        <t>A predictable objection to ATN is that auditability is not enforcement. The objection is correct on its terms and misses the layer at which ATN operates. ATN is technical evidence infrastructure. It is not a behavioral enforcement primitive. No protocol layered on top of an autonomous software agent can be one.</t>
        <t>An agent that signs a Capability Manifest declaring it will not perform financial transactions, then performs a financial transaction, has cryptographically committed to a refusal it then violated. ATN cannot prevent the violation. ATN produces a Session Receipt and a published transparency log entry that, combined with the application-layer evidence of the violation, constitute direct cryptographic evidence usable for revocation, contract enforcement, regulatory complaint, and civil action.</t>
        <t>The complete trust stack for autonomous agents has four layers:</t>
        <ol spacing="normal" type="1"><li>
            <t>Technical evidence layer (ATN, SCITT, RATS). Provides cryptographic proof of what was claimed and what was agreed.</t>
          </li>
          <li>
            <t>Policy layer (contracts, organizational policy, regulations). Specifies what is permitted.</t>
          </li>
          <li>
            <t>Consequence layer (revocation, financial penalty, legal action, reputational impact). Imposes cost on violation.</t>
          </li>
          <li>
            <t>Operational enforcement layer (sandboxing, capability-based execution, hardware-enforced runtime such as TEEs, gating proxies). Prevents violation at runtime.</t>
          </li>
        </ol>
        <t>ATN is the first layer. It enables the other three. It does not substitute for them.</t>
        <t>For high-stakes domains (financial transactions, clinical decision support, control of physical systems), ATN <bcp14>MUST</bcp14> be deployed with operational enforcement (layer 4). Recommended patterns:</t>
        <ol spacing="normal" type="1"><li>
            <t>Run sensitive capabilities inside a TEE that enforces declared bounds at hardware level.</t>
          </li>
          <li>
            <t>Use a gating proxy that enforces the negotiated scope on every outbound call from the agent.</t>
          </li>
          <li>
            <t>Use short session lifetimes with frequent re-attestation.</t>
          </li>
          <li>
            <t>Combine ATN with object-capability execution where the agent runtime denies unauthorized actions by construction, not by policy.</t>
          </li>
        </ol>
        <t>ATN's contribution is to make violations <em>expensive and discoverable</em>, not impossible. The analogy is to TCP checksums: they do not prevent transmission errors, they detect them so the next layer can respond. Trust at Internet scale has always operated this way. SPF does not prevent spoofed email. Certificate transparency does not prevent mis-issuance. They make undetected misbehavior infeasible. ATN does the same for inter-agent agreements.</t>
      </section>
      <section anchor="delegation-forgery">
        <name>Delegation Forgery</name>
        <t>Delegation Chains depend on the cryptographic strength of each issuer's signing key. ATN does not specify the identity verification process that issuers use to vouch for subjects. Operators <bcp14>SHOULD</bcp14> use verifiable credentials <xref target="W3C-DID"/> or organizational identity infrastructure with established assurance levels.</t>
      </section>
      <section anchor="session-receipt-tampering">
        <name>Session Receipt Tampering</name>
        <t>Session Receipts are countersigned and publishable to a SCITT log <xref target="SCITT"/>. Tampering after publication is detectable through log inclusion proofs. Operators handling high-value sessions <bcp14>SHOULD</bcp14> publish receipts.</t>
      </section>
      <section anchor="replay">
        <name>Replay</name>
        <t>Every handshake message includes a nonce and a timestamp. Implementations <bcp14>MUST</bcp14> reject messages with nonces seen within the session and with timestamps outside a configurable skew window (<bcp14>RECOMMENDED</bcp14> 60 seconds).</t>
      </section>
      <section anchor="provenance-attestation-limits">
        <name>Provenance Attestation Limits</name>
        <t>Provenance attestations prove what was built and deployed at attestation time. They do not prove the agent is currently executing the attested code. Operators <bcp14>SHOULD</bcp14> use short <tt>valid_until</tt> windows for provenance attestations and refresh through RATS verification <xref target="RFC9334"/>.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="negotiation-observability">
        <name>Negotiation Observability</name>
        <t>The handshake exchanges artifacts that may reveal the purpose of the session (<tt>purpose</tt> field) and the identity of the principal (<tt>Delegation Chain</tt>). Operators <bcp14>SHOULD</bcp14> treat handshake metadata as sensitive.</t>
      </section>
      <section anchor="witness-aggregation">
        <name>Witness Aggregation</name>
        <t>Witnesses and SCITT log operators see the volume and pattern of agent interactions. Operators <bcp14>SHOULD</bcp14> use multiple witnesses to reduce centralized observability.</t>
      </section>
      <section anchor="minimum-disclosure">
        <name>Minimum Disclosure</name>
        <t>ATN supports minimum-disclosure mode where the Initiator presents only the artifacts required for the requested scope. The Responder <bcp14>MAY</bcp14> request additional artifacts during the handshake, which the Initiator <bcp14>MAY</bcp14> decline (causing the handshake to fail).</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>ATN introduces non-trivial latency on session establishment. This section quantifies that cost, explains its operational shape, and identifies deployments where ATN is appropriate and where it is not.</t>
      <section anchor="session-establishment-vs-per-call-latency">
        <name>Session Establishment vs Per-Call Latency</name>
        <t>ATN is a session establishment protocol, not a per-request protocol. The handshake establishes a negotiated scope. The scope authorizes many subsequent interactions between the two agents. Per-call latency within an established session is zero added by ATN.</t>
        <t>This places ATN in the same operational category as:</t>
        <ol spacing="normal" type="1"><li>
            <t>TLS handshake <xref target="RFC8446"/>, amortized over the requests in a connection.</t>
          </li>
          <li>
            <t>OAuth token acquisition <xref target="RFC6749"/>, amortized over the token lifetime.</t>
          </li>
          <li>
            <t>BGP session establishment, amortized over hours of routing operation.</t>
          </li>
        </ol>
        <t>The relevant performance question is the cost of establishment and the session lifetime over which it is amortized, not the cost per call.</t>
      </section>
      <section anchor="latency-budget">
        <name>Latency Budget</name>
        <t>The following budget is informative. Implementations and deployments will vary based on geography, caching, and network conditions.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Component</th>
              <th align="left">Cold (no cache)</th>
              <th align="left">Warm (cached, pooled)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">DNS lookup for <tt>_agent.&lt;domain&gt;</tt> with DNSSEC</td>
              <td align="left">50-150 ms</td>
              <td align="left">&lt;1 ms</td>
            </tr>
            <tr>
              <td align="left">TLS 1.3 connection to Index Document origin</td>
              <td align="left">100-200 ms</td>
              <td align="left">0 (pooled)</td>
            </tr>
            <tr>
              <td align="left">Index Document HTTPS GET</td>
              <td align="left">20-50 ms</td>
              <td align="left">0 (cached by digest)</td>
            </tr>
            <tr>
              <td align="left">Three artifact fetches (HTTP/2 multiplexed)</td>
              <td align="left">50-100 ms</td>
              <td align="left">0 (cached by digest)</td>
            </tr>
            <tr>
              <td align="left">Signature verifications (4-8 Ed25519)</td>
              <td align="left">1-2 ms</td>
              <td align="left">1-2 ms</td>
            </tr>
            <tr>
              <td align="left">Provenance validation</td>
              <td align="left">1-5 ms</td>
              <td align="left">1 ms</td>
            </tr>
            <tr>
              <td align="left">Two-RTT handshake (HELLO/OFFER then ACCEPT/RECEIPT)</td>
              <td align="left">150-300 ms</td>
              <td align="left">150-300 ms</td>
            </tr>
            <tr>
              <td align="left">Receipt signing (Ed25519)</td>
              <td align="left">&lt;1 ms</td>
              <td align="left">&lt;1 ms</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Total session establishment</strong></td>
              <td align="left">
                <strong>500-1500 ms</strong></td>
              <td align="left">
                <strong>150-300 ms</strong></td>
            </tr>
            <tr>
              <td align="left">Per-call within established session</td>
              <td align="left">
                <strong>0 ms added</strong></td>
              <td align="left">
                <strong>0 ms added</strong></td>
            </tr>
            <tr>
              <td align="left">SCITT log submission</td>
              <td align="left">Async, out of path</td>
              <td align="left">Async, out of path</td>
            </tr>
          </tbody>
        </table>
        <t>Recommended performance targets for conforming implementations:</t>
        <ul spacing="normal">
          <li>
            <t>p50 cold session establishment: &lt;800 ms</t>
          </li>
          <li>
            <t>p99 cold session establishment: &lt;2000 ms</t>
          </li>
          <li>
            <t>p50 warm session establishment: &lt;250 ms</t>
          </li>
          <li>
            <t>p99 warm session establishment: &lt;500 ms</t>
          </li>
        </ul>
      </section>
      <section anchor="optimization-techniques">
        <name>Optimization Techniques</name>
        <t>Implementations <bcp14>SHOULD</bcp14> apply the following optimizations to bring warm-case latency to the recommended targets:</t>
        <ol spacing="normal" type="1"><li>
            <t>Digest-keyed artifact caching. Artifacts are refetched only when the DNS-published digest changes. Steady-state cache hit rate is typically above 95 percent.</t>
          </li>
          <li>
            <t>HTTP/2 or HTTP/3 multiplexing for parallel artifact fetches.</t>
          </li>
          <li>
            <t>TLS 1.3 session resumption for repeat handshakes with known peers.</t>
          </li>
          <li>
            <t>Connection pooling between sessions to the same peer.</t>
          </li>
          <li>
            <t>Abbreviated re-handshake. A repeat ATH_HELLO <bcp14>MAY</bcp14> reference a prior session's receipt to extend or renew the same scope in a single round trip rather than three.</t>
          </li>
          <li>
            <t>Pre-warming. Agents <bcp14>MAY</bcp14> establish sessions with frequent counterparties before application traffic arrives.</t>
          </li>
          <li>
            <t>Asynchronous SCITT submission. Receipt publication to a transparency log happens after the session begins and <bcp14>MUST NOT</bcp14> block session establishment.</t>
          </li>
          <li>
            <t>RATS attestation result caching for the duration of the result's validity window.</t>
          </li>
        </ol>
      </section>
      <section anchor="session-lifetime">
        <name>Session Lifetime</name>
        <t>The Session Receipt's <tt>expires_at</tt> field bounds the session. Within that window, no additional handshake is required for interactions covered by the agreed scope. Implementations <bcp14>SHOULD</bcp14> select session lifetimes that amortize establishment cost while bounding exposure to revocation events.</t>
        <t>Typical session lifetimes:</t>
        <ul spacing="normal">
          <li>
            <t>Short-lived workflows: 5 to 30 minutes</t>
          </li>
          <li>
            <t>Sustained collaboration sessions: 1 to 24 hours</t>
          </li>
          <li>
            <t>Long-running infrastructure peering: up to 7 days</t>
          </li>
        </ul>
        <t>Session lifetimes longer than 7 days are <bcp14>NOT RECOMMENDED</bcp14> for cross-organizational sessions. The trade-off is between revocation responsiveness and handshake amortization.</t>
      </section>
      <section anchor="deployments-where-atn-is-appropriate">
        <name>Deployments Where ATN Is Appropriate</name>
        <ol spacing="normal" type="1"><li>
            <t>Multi-step agent collaboration where many calls share a session context.</t>
          </li>
          <li>
            <t>Cross-organizational agent interactions where trust establishment must be verifiable and auditable.</t>
          </li>
          <li>
            <t>Workflows where the cost of trust failure exceeds the cost of establishment latency.</t>
          </li>
          <li>
            <t>Agent ecosystems with workflows already operating in the 100 ms to multi-second range per step.</t>
          </li>
        </ol>
      </section>
      <section anchor="deployments-where-atn-is-not-appropriate">
        <name>Deployments Where ATN Is Not Appropriate</name>
        <ol spacing="normal" type="1"><li>
            <t>Microsecond-scale latency budgets (high-frequency trading, real-time control loops, hardware-in-the-loop systems).</t>
          </li>
          <li>
            <t>Stateless per-message protocols where session continuity is not meaningful.</t>
          </li>
          <li>
            <t>Workflows whose total duration is shorter than the handshake establishment cost.</t>
          </li>
        </ol>
        <t>For these deployments, simpler primitives (mTLS alone, OAuth bearer tokens, or no trust layer at all) may be more appropriate. Operators are encouraged to select the trust layer that matches their latency budget.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="svcb-paramkey-registrations">
        <name>SVCB ParamKey Registrations</name>
        <t>Early allocation requested in the Service Parameter Keys (SvcParamKeys) registry <xref target="RFC9460"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Format</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>atn</tt></td>
              <td align="left">URI</td>
            </tr>
            <tr>
              <td align="left">
                <tt>atn-digest</tt></td>
              <td align="left">hex-string</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="atn-capability-registry">
        <name>ATN Capability Registry</name>
        <t>Creation of a new registry, "ATN Capabilities," is requested with initial entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
              <th align="left">Reference Schema</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>data-read</tt></td>
              <td align="left">Read access to a data resource</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>data-write</tt></td>
              <td align="left">Write access to a data resource</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>task-execute</tt></td>
              <td align="left">Execute a named task</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>model-invoke</tt></td>
              <td align="left">Invoke a generative model</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>agent-delegate</tt></td>
              <td align="left">Delegate work to another agent</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>payment-init</tt></td>
              <td align="left">Initiate a payment flow</td>
              <td align="left">TBD</td>
            </tr>
            <tr>
              <td align="left">
                <tt>human-relay</tt></td>
              <td align="left">Surface a request to a human approver</td>
              <td align="left">TBD</td>
            </tr>
          </tbody>
        </table>
        <t>Registration policy: Specification Required. Each registered identifier <bcp14>MUST</bcp14> include a reference to a published capability schema that defines the semantics of <tt>actions</tt>, <tt>resources</tt> patterns, and any capability-specific extensions to <tt>conditions</tt>.</t>
        <t>Vendor-specific identifiers prefixed with <tt>x-</tt> are permitted without IANA registration but <bcp14>MUST</bcp14> carry a schema reference in the capability object.</t>
      </section>
      <section anchor="atn-capability-dimension-registries">
        <name>ATN Capability Dimension Registries</name>
        <t>Four new registries are requested to govern the controlled vocabularies used in capability dimensions:</t>
        <t>"ATN Capability Effects":</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>none</tt></td>
              <td align="left">No observable consequence (introspection only).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>read_only</tt></td>
              <td align="left">Data is read; no state changes.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>idempotent</tt></td>
              <td align="left">State may change; repeated execution equivalent to single.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>mutating</tt></td>
              <td align="left">State changes; not idempotent.</td>
            </tr>
          </tbody>
        </table>
        <t>"ATN External Call Modes":</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>forbidden</tt></td>
              <td align="left">No external calls permitted.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>listed_only</tt></td>
              <td align="left">External calls permitted only to listed destinations.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>free</tt></td>
              <td align="left">Any external call permitted within <tt>resource_bounds</tt>.</td>
            </tr>
          </tbody>
        </table>
        <t>"ATN Sub-Invocation Modes":</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>forbidden</tt></td>
              <td align="left">No sub-agent invocations.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>same_scope</tt></td>
              <td align="left">Sub-invocations inherit the present negotiated scope.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>fresh_handshake_required</tt></td>
              <td align="left">Every sub-invocation requires a separate ATN handshake.</td>
            </tr>
          </tbody>
        </table>
        <t>"ATN Persistence Modes":</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>none</tt></td>
              <td align="left">No state persists beyond a single request.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>session_only</tt></td>
              <td align="left">State persists for the session lifetime, then discarded.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>durable</tt></td>
              <td align="left">State persists beyond the session; retention policy required.</td>
            </tr>
          </tbody>
        </table>
        <t>Registration policy for all four registries: Standards Action or IESG Approval. The controlled vocabularies are deliberately small and stable; expansion requires consensus to avoid the semantic-drift problem that affected OAuth scopes.</t>
      </section>
      <section anchor="atn-refusal-category-registry">
        <name>ATN Refusal Category Registry</name>
        <t>Creation of a new registry, "ATN Refusal Categories," is requested with initial entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>financial_transactions</tt></td>
              <td align="left">Any movement of funds</td>
            </tr>
            <tr>
              <td align="left">
                <tt>personal_data</tt></td>
              <td align="left">Processing of personal identifiers</td>
            </tr>
            <tr>
              <td align="left">
                <tt>weaponization</tt></td>
              <td align="left">Use in weapons systems</td>
            </tr>
            <tr>
              <td align="left">
                <tt>mass_persuasion</tt></td>
              <td align="left">Generation of mass-distributed content</td>
            </tr>
            <tr>
              <td align="left">
                <tt>child_safety</tt></td>
              <td align="left">Content involving minors</td>
            </tr>
            <tr>
              <td align="left">
                <tt>medical_advice</tt></td>
              <td align="left">Clinical recommendations</td>
            </tr>
            <tr>
              <td align="left">
                <tt>legal_advice</tt></td>
              <td align="left">Legal recommendations binding on parties</td>
            </tr>
          </tbody>
        </table>
        <t>Registration policy: Specification Required.</t>
      </section>
      <section anchor="well-known-uri-registration">
        <name>Well-Known URI Registration</name>
        <t>The path <tt>/.well-known/atn/</tt> is reserved per RFC 8615 conventions for ATN artifact publication.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC4033">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="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="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="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="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9635">
          <front>
            <title>Grant Negotiation and Authorization Protocol (GNAP)</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="F. Imbault" initials="F." surname="Imbault"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>The Grant Negotiation and Authorization Protocol (GNAP) defines a mechanism for delegating authorization to a piece of software and conveying the results and artifacts of that delegation to the software. This delegation can include access to a set of APIs as well as subject information passed directly to the software.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9635"/>
          <seriesInfo name="DOI" value="10.17487/RFC9635"/>
        </reference>
        <reference anchor="W3C-DID" target="https://www.w3.org/TR/did-core/">
          <front>
            <title>Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="SPIFFE" target="https://github.com/spiffe/spiffe">
          <front>
            <title>SPIFFE: Secure Production Identity Framework for Everyone</title>
            <author>
              <organization>SPIFFE / CNCF</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="SCITT" target="https://datatracker.ietf.org/wg/scitt/about/">
          <front>
            <title>Supply Chain Integrity, Transparency, and Trust (SCITT) Architecture</title>
            <author>
              <organization>IETF SCITT WG</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="IN-TOTO" target="https://in-toto.io/">
          <front>
            <title>in-toto Attestation Framework</title>
            <author>
              <organization>in-toto / CNCF</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="AID" target="https://datatracker.ietf.org/doc/draft-nemethi-aid-agent-identity-discovery/">
          <front>
            <title>Agent Identity and Discovery (AID)</title>
            <author initials="B." surname="Nemethi">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DNS-AID" target="https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/">
          <front>
            <title>DNS for AI Discovery</title>
            <author initials="J." surname="Mozley">
              <organization/>
            </author>
            <author initials="N." surname="Williams">
              <organization/>
            </author>
            <author initials="B." surname="Sarikaya">
              <organization/>
            </author>
            <author initials="R." surname="Schott">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="ANSv2" target="https://datatracker.ietf.org/doc/draft-narajala-courtney-ansv2/">
          <front>
            <title>Agent Name Service v2</title>
            <author initials="K." surname="Narajala">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1211?>

<section anchor="complete-example-flow">
      <name>Complete Example Flow</name>
      <t>This appendix walks through a full ATN handshake between two agents at <tt>agent.research.org</tt> and <tt>agent.publisher.com</tt>.</t>
      <section anchor="step-1-discovery">
        <name>Step 1: Discovery</name>
        <artwork><![CDATA[
$ dig +short TXT _agent.publisher.com
"v=aid1; u=https://agent.publisher.com/mcp; p=mcp;
 k=z7rW8rTq8o4mM6vVf7w1k3m4uQn9p2YxCAbcDeFgHiJ;
 atn=https://publisher.com/.well-known/atn/index.json;
 atn-digest=a3b8c2d4..."
]]></artwork>
      </section>
      <section anchor="step-2-index-document-fetch">
        <name>Step 2: Index Document Fetch</name>
        <artwork><![CDATA[
GET https://publisher.com/.well-known/atn/index.json
]]></artwork>
        <t>Returns the JSON object listing the four artifact URLs and their digests.</t>
      </section>
      <section anchor="step-3-artifact-fetch-and-verification">
        <name>Step 3: Artifact Fetch and Verification</name>
        <t>The Initiator fetches:</t>
        <ul spacing="normal">
          <li>
            <t><tt>capability.jws</tt></t>
          </li>
          <li>
            <t><tt>delegation.jws</tt></t>
          </li>
          <li>
            <t><tt>provenance.jws</tt></t>
          </li>
        </ul>
        <t>Verifies each digest matches the Index Document, verifies each signature, and confirms <tt>valid_until</tt> is in the future.</t>
      </section>
      <section anchor="step-4-athhello">
        <name>Step 4: ATH_HELLO</name>
        <t>The Initiator (<tt>research.org</tt> agent) sends <tt>ATH_HELLO</tt> to the Responder's <tt>handshake_endpoint</tt>:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "hello",
  "supported_versions": ["ath1"],
  "initiator": {
    "agent_id": "INIT-XYZ123...",
    "artifacts": { "...": "capability/delegation/provenance refs" }
  },
  "requested_scope": {
    "capability_ids": ["data-read"],
    "duration_seconds": 600,
    "purpose": "academic_research_summarization"
  },
  "nonce": "n-init-001",
  "timestamp": "2026-05-15T14:00:00Z"
}
]]></sourcecode>
      </section>
      <section anchor="step-5-athoffer">
        <name>Step 5: ATH_OFFER</name>
        <t>The Responder verifies the Initiator's artifacts, computes the intersection, and returns:</t>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "offer",
  "selected_version": "ath1",
  "supported_versions_echo": ["ath1"],
  "responder": { "...": "responder agent_id and artifact refs" },
  "offered_scope": {
    "capabilities": [
      {
        "id": "data-read",
        "schema": { "url": "https://schemas.example.com/atn/data-read-v1.json",
                    "digest": "sha256:b4c5d6..." },
        "actions": ["read", "list"],
        "resources": ["dataset:public/*"],
        "conditions": { "rate_limit": "300/min", "data_residency": ["US", "EU"] },
        "effects": "read_only",
        "external_calls": "forbidden",
        "sub_invocations": "forbidden",
        "persistence": "none",
        "resource_bounds": { "max_tokens": 50000, "max_duration_seconds": 600, "max_cost_usd": 0.30 }
      }
    ],
    "duration_seconds": 600,
    "purpose": "academic_research_summarization"
  },
  "nonce": "n-resp-001",
  "in_reply_to_nonce": "n-init-001",
  "timestamp": "2026-05-15T14:00:01Z"
}
]]></sourcecode>
      </section>
      <section anchor="step-6-athaccept">
        <name>Step 6: ATH_ACCEPT</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "accept",
  "agreed_scope": { "...": "matches ATH_OFFER" },
  "nonce": "n-init-002",
  "in_reply_to_nonce": "n-resp-001",
  "timestamp": "2026-05-15T14:00:02Z"
}
]]></sourcecode>
      </section>
      <section anchor="step-7-athreceipt">
        <name>Step 7: ATH_RECEIPT</name>
        <sourcecode type="json"><![CDATA[
{
  "v": "ath1",
  "type": "receipt",
  "session_id": "5b7c-...",
  "initiator_id": "INIT-XYZ123...",
  "responder_id": "RESP-ABC789...",
  "agreed_scope": { ... },
  "artifact_digests": { ... },
  "scitt_log_pointer": "https://scitt.research.org/entries/789xyz",
  "issued_at": "2026-05-15T14:00:03Z",
  "expires_at": "2026-05-15T14:10:03Z",
  "signature": "<JWS by responder>"
}
]]></sourcecode>
        <t>The Initiator countersigns. The session begins.</t>
      </section>
      <section anchor="step-8-session-and-audit">
        <name>Step 8: Session and Audit</name>
        <t>The agents transact within the agreed scope. The Session Receipt is published to SCITT. Any downstream audit can:</t>
        <ol spacing="normal" type="1"><li>
            <t>Retrieve the receipt.</t>
          </li>
          <li>
            <t>Verify all artifact digests against the agents' original publications.</t>
          </li>
          <li>
            <t>Compare actual session traffic (where logged) against the agreed scope.</t>
          </li>
          <li>
            <t>Flag any deviation.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="design-rationale">
      <name>Design Rationale</name>
      <section anchor="why-a-negotiation-layer">
        <name>Why a Negotiation Layer</name>
        <t>DNS-based discovery answers "where" and "who." Application protocols (MCP, A2A) answer "how." Nothing in the current stack answers "what may we do together, and what evidence will remain." ATN fills that gap with a two-round-trip handshake.</t>
      </section>
      <section anchor="why-four-artifacts">
        <name>Why Four Artifacts</name>
        <t>Each artifact answers a distinct question:</t>
        <ul spacing="normal">
          <li>
            <t>Capability Manifest: what is this agent willing to do?</t>
          </li>
          <li>
            <t>Delegation Chain: who authorized it?</t>
          </li>
          <li>
            <t>Provenance Attestation: what is it actually running?</t>
          </li>
          <li>
            <t>Session Receipt: what did we agree?</t>
          </li>
        </ul>
        <t>Collapsing them into one document obscures the separation of concerns. Splitting further fragments the trust evaluation. Four is the minimum.</t>
      </section>
      <section anchor="why-refusals-are-first-class">
        <name>Why Refusals Are First-Class</name>
        <t>Capability advertisement alone creates a moral hazard: agents have an incentive to advertise broadly. Mandatory refusals create symmetric accountability: an agent that explicitly refused a category and then violated the refusal has produced cryptographic evidence against itself.</t>
      </section>
      <section anchor="why-intersection-algebra-is-specified">
        <name>Why Intersection Algebra Is Specified</name>
        <t>If two implementations compute intersections differently, interoperability fails. The algebra is small, specified, and testable. The cost is one paragraph of spec; the benefit is deterministic handshake outcomes.</t>
      </section>
      <section anchor="why-scitt-for-receipts">
        <name>Why SCITT for Receipts</name>
        <t>Session Receipts gain value through public auditability. SCITT <xref target="SCITT"/> provides the transparency infrastructure. Receipts published to SCITT cannot be tampered with after the fact without detection.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, per the guidelines of RFC 7942. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Note to RFC Editor: this section may be removed prior to final publication.</t>
      <section anchor="atn-reference-prototype">
        <name>ATN Reference Prototype</name>
        <ul spacing="normal">
          <li>
            <t>Organization: Independent (E. Somoza).</t>
          </li>
          <li>
            <t>Implementation Name: atn-prototype.</t>
          </li>
          <li>
            <t>Description: A TypeScript prototype that demonstrates the four-message handshake, the capability intersection algebra, Ed25519 signing and verification of artifacts and messages, and the digest-bound artifact reference model.</t>
          </li>
          <li>
            <t>License: CC0 1.0 Universal (public domain).</t>
          </li>
          <li>
            <t>Maturity: prototype. Not production-ready. Not security-audited.</t>
          </li>
          <li>
            <t>Coverage: Capability Manifest types, Delegation Chain types, Provenance Attestation types, Session Receipt, ATH state machine (HELLO, OFFER, ACCEPT, RECEIPT), capability intersection algebra per Section 9, version negotiation with downgrade protection. DNS resolution, HTTPS artifact fetch, and SCITT submission are stubbed.</t>
          </li>
          <li>
            <t>Verified behavior: end-to-end handshake between two synthetic agents with mismatched capability constraints produces a signed Session Receipt with negotiated scope exactly matching the algorithm in Section 9. Numeric constraints take minimums, list constraints take intersections, refusals override.</t>
          </li>
          <li>
            <t>Repository: https://github.com/e-somoza/atn-prototype</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document builds on the substantial work of the DNS-based agent discovery community, including the authors of AID, DNS-AID, ANS v2, DN-ANR, and BANDAID. ATN is intended to complement, not compete with, that work.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+W9+XLbWLIn/D+fAqOeiJKqCWr3wlp6VLLcpWpbVktyubtv
dEggCUpogQQbACWzyr7PMs8yTzb5y8yzgaAsu+reiO8bx71dIgmcJU+e3Jc4
jjt1VudpP1o7uE6ndXRRzqs6OkmvizpL6qyY9qPDZJYMsjyrF93oRZqn1/x9
N0qmo+i0LO7SaTIdptEP2XSUTa+jcVFGB8cRD1etdZLBoEzvaPwEX8Q1xo+n
bvy1zqgYTpMJLWFUJuM6ropJ8UsSJ/U0XvFKvLXVGSY1fVEu+lH6ftbJZmU/
4ud2traeb+10btPFfVGO+p0oirEaHqniT/wY/zW0G+OPI7s3/jizW+OPN7Td
6ia5lU8vTs7Nf8+PDvnP88Pjiwv+6+zg4rzTqWp64zLJiyltbZFWnVmG5ZTj
YTqq6kWu30ZRXQy9PwmKtFTzRVWUdZmOK/t5MQk+1mU2tA8Pi8kE2zSfs2me
Te00BOZJMpvREck3nWRe3xQlg4j+H4/Tm0e96JwPgL+Sczmaltm/56n/Q1Fe
J9PsF8WQY1rzLOWF86/pJMlyOhl573/JifaGBf84LObTGgf3loA0LcoJDXKX
YhlnLw93tref6597W7u7+ufT/e19/fPZ9tM98+fOvnn22d7eE/3z+d6TrX6n
k03HjaGfPN0zjz/f3TWDPH+yy0O/2z2MXxy/6PMSzZV4kQ5pS2WSZ7+ko+gY
+8vGWVpW0To9W21Ed9u9rTV5JSmvUzqJm7qeVf3Nzfv7+979bo/gtHlxtjnK
RvGwKNNNftYBXkHZx/T8cURo3Y92tnZ26OP56fHLl0fhkvS76DwdzssU9280
H+IUdHn1InpZ0qkR9t/yVTy6S8sF4WD7Mq+z+mY+oKOZbFazbDxO9T+r1inT
R5vR4cnhy3DFe1gx7kBjwfPZLF9EhzdJRmuc0q0tmZJclMm0miVlOh0uhJYI
6VnnMTaig3J4k9XpsKZttq+dZk7ocIa3adnL0nrMwL6/3qyGWV1vJoNiXq+E
9/HRxUtZbfTuz+E+9unj8Ul88ebiTbiTbBrXRV1EB3Wd0uVmoFtYty9RX+ll
xcqVmFFXgfSgiZRCp+1pA3IvsmpY4JyjdXp84zPARURhU8juNJ2k9U0WJ4Sq
QncznSIemeHbNsFU44cesQx+P9zAE/pIJDJe2gR9aRiFXfwXLZsoS060Psvz
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
vjsTX3hOrMBj+/jXAr/wJ1+z2oDKDYZgXBp9SbfuZWJkIxesIHrUP03iwEPO
u7XZvERlHXYdGkXr0gQzXA6Lcjb3hAXiN+Jm/JZUr1ExUZkPRJ+YwWRmtuAH
/F81lt8LV21MfDBmZYYphtFQ1VKIkTG7Or5wr2UCCncfhGe5nH6ueZrXlU1N
bYuvt9ZwF8zugsYqW3B0bmKxApKkEXVeaI//c6w11STFXm8K02sBlFtpUHjP
7vGrypHnbriKFYnEppoG7WNarcoMat5HJvt6HwnZh951DF9Yvq2XKQlQzStr
mcuKK2t////TlVXeufLC+tFWke8JXxVxFURv/C6xVv6/VXFXIUgeFTz16fAp
/9EwIKAZGbVvAqNWBUT9M1jcg/FKj4xYemzM0ieiltpjLtpiLboPh1i0hicp
upmYhv9GSp9NL1Hvb0GbuHSPOK7L3z2KKwQ3pOdfjCZH4PSKOYkwHk32SLfk
Gpnqt0EdhYjzlEw1X6IwLlx6qVpOg9I6Id2jreta1mLkCvq18JANG2vgC0xG
mlZa6TiASMJsagpZGhcCrpwnMJDHH0vNk+EwndXGfkMDejTJWhWMccwpECH9
+hKccGT9UTixtPtRVgkAuFgEonBJqxxFV1jj4Zu3JxdHZ1daDhCWQsTHm0Pr
RvOZhH0zJTFs2UqsYjqsAj6scn6TE1tfT4sX87FHoOK/Yanii1fmN58bpudE
29WyrOOlq5nn6lNeElfoZZKHzOkalnspvMBxXm9lAQc2rMIzibknw8jGh54M
QyaXn3R7/tTs7slPze6eXDm7pYSc5HqZF9cmETZkvKsyYM1soYHNfsvu6rRq
fr3kGkDAjV3t9/a6NErKcEgp50JytI3nZefwdS0AlWk9Nin4hLJituiTXARn
kHnFNyT69Q9Ll4bteUWNSpT26ZJjJWjfs8rZxCVuItqTAq720jodtPnkDki0
zexRs6GbRFzeUmLNuhR2tyJldmzPkndNzAZ8JVf+degtpfgYp7DWug0LmHm0
/di/Nwcix3c6nE/slXc3sUXL5dbaKsBlthgQ1ywKORf27upmw2Os8SYjDaOi
h9mha+YpItPYYVXUi6kdJIoVyUBKAEx5Wvt1NqVFqVfXlrg6m6PhQZAacTW8
0jTqJdLCWlw2ZnOjzZA0xQqQ7iSeK0bjdrYLbxMQuI2H4jfp5MDFg92KXIyV
Sd1h5xZPEyiPNlbCe1pjj0i0vuKZG3k+vaCRltSi5Awcrr8gArgNP6k13Sap
bK7Pcv4TYSm2MHIhImEVqF3UkZIydeLyu+EUbebWmBSkhiOnvAAXm1lNhyMn
eErMwQWN4hgrKUeSNpK4cZxSMpYQprL6pzWkI4ivGy4zFI98hHaS1sDLUuOE
ZrcY+w9pcpMBorEeMvEir642GX2f/a89p/mRmcy/Ld+5Pc3XJNkGF6dt1yQb
pZMZAsT0xo3o6s/8fMAHd92S6RuhQoxksYcGjLxAtGwda0Yfo9rGly1hKdd3
Op8Qag6j9Sun5Zkcy5bMFPNTI+T+Cst5TeLDZD6hvy7gxaELIuF6RF6q3vLM
0FBp2lCHxPgIJ5ARl0/it8C9sYKel6bjHcEFfCXy7e8wdXuOM4BVcFsL6bkI
p4xLv42+9YO38cmLzcZHG0+N5YILEwlnLUuKAMLvviLJeeXELswXE/ihzvjM
MckPTNbc8FLc8SPn9eKFddr2cN9P7Xsp2fnTAA/CcfGFiah93LZbk517Xjqz
LkKvyGp8+SQWP/Rv5SKWRayH1vJftAibsv3fBYmlHHBUjJi2E/Rwal+S/yoK
xuHSCgtT5cGTH73KSVJpy8ZdosxuSXeYFWpfdoDLxkkJTBBtjCcH90KUsJJF
QypA0L9JY7mCx5x5OgcqQsZqEql2eQahr0k5Yk91MfYq5DvpIApjRbXsoIgx
74rylobWimJeyW4jM9IGrbnzSqLlDcul2/cfJdedxMZRZQY2r39eSWyw4Y14
qmmslGoTQabn1/KeR909diZJiDBaNp5p8B7M9fa8Gx297UYHpweHMqah3n2f
KvMPIXXth3TT30brLaBVISHL1SsXSfrREHsMpB6Gyv7nAeWzweGI+yOAwRme
fhntUAbizlTcNMpcB5XuN/6fg5Fa5Yx2c5OMVOdBXpCHPNrfYpBaEgCdAfGK
oihNi4Z6SwOHap/ee9XqRv7g3aaLa2mykLIwbtu2gEImoc6/ls4kEnvyugCR
ZAWeA9tVgwfdcdEr61C11bjT9RV9oABymLwOBV6BCD8GudrohqXRXRg2MXht
loKIJcatwKzDuqQxKSTGhe8iNLKpF5nCzQqN+bbXOtSdC470k5AJ/Gxd51Ar
U4VE6wBzXKUYYpopHEbT9YxPYsfw8wR60tCKU5JioPBIKquHgOWcG8QqiZbL
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

-->

</rfc>
