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


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

]>


<rfc ipr="trust200902" docName="draft-nassar-agentproto-trail-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="TRAIL">TRAIL: Tamper-evident Records for Agent Interactions and Liveness</title>

    <author fullname="Kareem Nassar">
      <organization>Cisco</organization>
      <address>
        <email>kanassar@cisco.com</email>
      </address>
    </author>
    <author fullname="Suhas Nandakumar">
      <organization>Cisco</organization>
      <address>
        <email>snandaku@cisco.com</email>
      </address>
    </author>
    <author fullname="Cullen Jennings">
      <organization>Cisco</organization>
      <address>
        <email>fluffy@cisco.com</email>
      </address>
    </author>

    <date year="2026" month="November" day="02"/>

    
    <workgroup>Agent Communication Protocols</workgroup>
    <keyword>agent communication</keyword> <keyword>audit</keyword> <keyword>revocation</keyword> <keyword>transparency</keyword> <keyword>MOQT</keyword> <keyword>HTTP</keyword>

    <abstract>


<?line 135?>

<t>AI agents call other agents and tools across organizational boundaries,
but the records of what they did are kept by the operators whose conduct
the records describe, and the parties overseeing them learn of problems
only afterwards. TRAIL makes this communication auditable and revocable
by parties other than the operator. An enforcement point outside the
agent and its sandbox, the edge, signs each call as a COSE Action
Record, which the receiver keeps, and appends it to a tamper-evident
trail that witnesses countersign. Authorities read the trails and
publish rules that the edge enforces on every call: require approval,
refuse an action, stop an agent, or cap how many agents run across
machines. The edge lets traffic through only while it holds current
state from each authority and a recent witness countersignature, so an
authority that goes silent, or a trail that nobody is witnessing, stops
the agent. TRAIL defines bindings to HTTP and to Media over QUIC
Transport (MOQT) that produce the same evidence; over MOQT, holds reach
edges as soon as they are published.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-nassar-agentproto-trail/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Agent Communication Protocols Working Group mailing list (<eref target="mailto:agentproto@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/agentproto/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/agentproto/"/>.
      </t>
    </note>


  </front>

  <middle>


<?line 154?>

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

<t>An agent is a model running in a loop with tools, credentials, and a
goal. It reads untrusted input, acts with real authority, and works
faster than people can watch. Two things are needed outside the agent:</t>

<t><list style="numbers" type="1">
  <t>An enforcement point that the agent cannot see, reach, or turn off.</t>
  <t>A record of what the agent did that the operator cannot quietly
rewrite, that parties outside the operator can check, and that those
parties can act on while the agent is still running.</t>
</list></t>

<t>Single-node sandboxes and gateways provide the first. The second is
missing as soon as one agent's call reaches an agent on another node.</t>

<section anchor="problem"><name>Problem Statement</name>

<t>Agent calls cross operator boundaries, but the controls and the records
for those calls do not. Today:</t>

<t><list style="symbols">
  <t>A receiver cannot verify, per call, which workload sent it, on whose
behalf, under which policy, and whether it was altered in transit by
an intermediary such as a relay or proxy.</t>
  <t>Records of agent actions are written by the same software and
operator whose conduct they describe, so they can be dropped,
reordered, or rewritten without detection.</t>
  <t>Parties with oversight rights learn of problems only afterwards. They
cannot observe activity while it happens, pause or stop it, or require
approval before an action takes effect. Revoking an agent is hardest
when the agent is no longer reachable.</t>
  <t>Limits that apply across many nodes, such as a cap on concurrent
agents in a swarm, cannot be enforced because no node sees the total.</t>
  <t>Sharing records with one party exposes them to every party, because
there is no way to disclose part of a record to only those entitled
to it.</t>
</list></t>

</section>
<section anchor="goals"><name>Goals</name>

<t>TRAIL aims to provide the following properties for agent calls that
cross node boundaries:</t>

<dl>
  <dt>Integrity:</dt>
  <dd>
    <t>Any change to a call, its response, or its record after signing is
detectable.</t>
  </dd>
  <dt>Origin:</dt>
  <dd>
    <t>Every call and record is attributable to an edge and, through it, to
a workload identity and a principal.</t>
  </dd>
  <dt>Completeness:</dt>
  <dd>
    <t>Omitted, reordered, or rewritten records are detectable by parties
other than the operator.</t>
  </dd>
  <dt>Policy binding:</dt>
  <dd>
    <t>Each record names the policy and the delegated authority under which
the action was allowed.</t>
  </dd>
  <dt>Causality:</dt>
  <dd>
    <t>A response, and any action it triggers, can be tied to the call that
caused it, across nodes.</t>
  </dd>
  <dt>Liveness:</dt>
  <dd>
    <t>An edge stops an agent's traffic when it loses contact with the
authorities it answers to, or when its trail is no longer being
witnessed.</t>
  </dd>
  <dt>Live oversight:</dt>
  <dd>
    <t>Authorities, including ones the operator did not list in advance,
can watch activity while it runs, require approval before an action,
refuse actions, and stop agents.</t>
  </dd>
  <dt>Bounded scope:</dt>
  <dd>
    <t>Limits that span many nodes can be counted and enforced.</t>
  </dd>
  <dt>Scoped disclosure:</dt>
  <dd>
    <t>Each party sees only the parts of a record it is entitled to.</t>
  </dd>
  <dt>Media evidence:</dt>
  <dd>
    <t>Media produced or consumed by agents can be bound to the same
records.</t>
  </dd>
</dl>

</section>
<section anchor="principles"><name>Design Principles</name>

<dl>
  <dt>One artifact:</dt>
  <dd>
    <t>A single signed object, the Action Record, serves as per-message
proof of possession for the receiver, as evidence for auditors, and,
when a response cites it, as the counterparty's acknowledgment.</t>
  </dd>
  <dt>The evidence comes from outside the agent:</dt>
  <dd>
    <t>The edge holds the keys and signs. How far a record can be trusted
follows from where the edge sits, which a verifier attests
(<xref target="levels"/>), not from anything the agent asserts.</t>
  </dd>
  <dt>Two bindings, one evidence format:</dt>
  <dd>
    <t>Agent calls travel over MOQT, through the agentproto MOQT binding
<xref target="PACE"/> and MCP over MOQT <xref target="MCP-MOQT"/>, or over HTTP. Records,
trails, state, and the rules that act on them are the same in both.
MOQT is preferred for the evidence plane (<xref target="why-moqt"/>).</t>
  </dd>
  <dt>Three track kinds per party:</dt>
  <dd>
    <t>Every party publishes records, state, and directed records
(<xref target="tracks"/>).</t>
  </dd>
  <dt>Two freshness rules:</dt>
  <dd>
    <t>Fresh authority state and fresh witness cosignatures keep an edge
running (<xref target="freshness"/>).</t>
  </dd>
</dl>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document specifies the Action Record, the rule that no action
leaves a cell without one, the MOQT and HTTP bindings, how TRAIL
attaches to agent protocols, trails and witnesses, state and
directives, and the profiles of existing identity, delegation,
attestation, and authorization work that TRAIL uses.</t>

<t>This document does not specify:</t>

<t><list style="symbols">
  <t>Agent application protocols. A2A <xref target="A2A"/>, MCP <xref target="MCP"/>, and others
keep their message formats.</t>
  <t>Dialog management. TRAIL consumes the agentproto dialog context; it
does not define it.</t>
  <t>Agent behavior, decision-making, policy languages, inspector models,
or the detection of harmful content (<xref target="limits"/>).</t>
  <t>New MOQT messages.</t>
</list></t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" 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>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>This document uses the terms Track, Track Namespace, Full Track Name,
Group, Object, Subgroup, Location, Property, Immutable Properties,
Original Publisher, Relay, and Fetch from <xref target="MoQ-TRANSPORT"/>; Signed
Statement and Transparency Service from <xref target="RFC9943"/>; Workload Identity
Token (WIT) from <xref target="WIMSE-CREDS"/>; and Attestation Result and Verifier
from <xref target="RFC9334"/>.</t>

<dl>
  <dt>Agent:</dt>
  <dd>
    <t>Software that uses an AI model in a loop, with tools and credentials,
to pursue a goal for a principal.</t>
  </dd>
  <dt>Sandbox:</dt>
  <dd>
    <t>The isolated environment an agent runs in, such as a container or a
microVM. TRAIL does not define sandboxes. It requires that every path
out of one pass through an edge.</t>
  </dd>
  <dt>Edge:</dt>
  <dd>
    <t>Where traffic leaves a cell. Every call into or out of the cell
passes through it. It holds the keys, evaluates policy, signs Action
Records, appends them to its trail, and applies holds. The agent
cannot reach it. When an edge is split across components, they act
as one edge.</t>
  </dd>
  <dt>Cell:</dt>
  <dd>
    <t>Everything behind one edge. Depending on where the edge is
(<xref target="levels"/>), a cell is one sandbox, a confidential VM, or a whole
machine. The cell is the unit at which TRAIL enforces.</t>
  </dd>
  <dt>Party:</dt>
  <dd>
    <t>Any entity that publishes TRAIL tracks: an edge, an authority, a
witness, an operator, or an admission issuer. One party can hold
several roles.</t>
  </dd>
  <dt>Operator:</dt>
  <dd>
    <t>The organization that runs cells and agents, and grants authorities
their rights.</t>
  </dd>
  <dt>Principal:</dt>
  <dd>
    <t>The person or organization an agent acts for.</t>
  </dd>
  <dt>Authority:</dt>
  <dd>
    <t>A party with rights over some scope that an operator has granted,
such as a regulator, a counterparty's inspector, or the operator's
own safety team.</t>
  </dd>
  <dt>Witness:</dt>
  <dd>
    <t>A party that checks that it has received every record in a trail and
countersigns the trail's checkpoints. It has no rights over actions
(<xref target="roles"/>).</t>
  </dd>
  <dt>Action Record:</dt>
  <dd>
    <t>A signed record by an edge of one action (<xref target="record"/>). It is a SCITT
Signed Statement.</t>
  </dd>
  <dt>Trail:</dt>
  <dd>
    <t>The append-only sequence of Action Records of one party, organized as
a Merkle tree (<xref target="trails"/>).</t>
  </dd>
  <dt>Checkpoint:</dt>
  <dd>
    <t>An Action Record that signs the size and root of its own trail at the
end of an epoch, covering every record before it.</t>
  </dd>
  <dt>Cosignature:</dt>
  <dd>
    <t>A witness's countersignature on a checkpoint. It states that the
witness holds every record the checkpoint covers and that the trail
extends the last checkpoint the witness cosigned (<xref target="witnesses"/>).</t>
  </dd>
  <dt>Epoch:</dt>
  <dd>
    <t>The span of a trail that ends with a checkpoint. Over MOQT, an epoch
is one Group of the records track.</t>
  </dd>
  <dt>Archive:</dt>
  <dd>
    <t>A service that stores trails and serves them to authorized readers
(<xref target="archives"/>).</t>
  </dd>
  <dt>Evidence plane:</dt>
  <dd>
    <t>The tracks, or HTTP resources, that carry trails, state, and directed
records between parties.</t>
  </dd>
  <dt>Acknowledgment:</dt>
  <dd>
    <t>The responder's Action Record that cites a request's record. It is
not a COSE Receipt <xref target="RFC9942"/>.</t>
  </dd>
  <dt>Directed record:</dt>
  <dd>
    <t>A record published by one party for one other party, which can be
encrypted to it: gate requests, approvals, admission tokens,
disclosures, requests for disclosure, and cosignatures (<xref target="tracks"/>).</t>
  </dd>
  <dt>State:</dt>
  <dd>
    <t>A party's current signed snapshot, republished on a schedule
(<xref target="snapshots"/>).</t>
  </dd>
  <dt>Directive:</dt>
  <dd>
    <t>A rule in an authority's state snapshot: a policy reference, a hold,
or a requirement (<xref target="snapshots"/>).</t>
  </dd>
  <dt>Grant:</dt>
  <dd>
    <t>A right an operator gives an authority: which directive types it may
issue, for what scope, and which data classes it may read.</t>
  </dd>
  <dt>Action class:</dt>
  <dd>
    <t>A deployment-defined number that groups actions by impact, such as
payments. Selectors and freshness budgets select actions by class.</t>
  </dd>
  <dt>Data class:</dt>
  <dd>
    <t>A deployment-defined number that labels a redacted claim, such as an
amount. Grants list the data classes an authority may read.</t>
  </dd>
  <dt>Hold:</dt>
  <dd>
    <t>A directive that tells edges to stop actions that match a selector.</t>
  </dd>
  <dt>Gate:</dt>
  <dd>
    <t>An action that waits for a signed approval of its request.</t>
  </dd>
  <dt>Admission issuer, admission token:</dt>
  <dd>
    <t>A party that hands out a fixed number of tokens, and the token an
agent's records cite (<xref target="admission"/>).</t>
  </dd>
  <dt>Attestation level:</dt>
  <dd>
    <t><spanx style="verb">software</spanx>, <spanx style="verb">tee</spanx>, or <spanx style="verb">isolated</spanx>: who can read the edge's key, and
what can go around the edge (<xref target="levels"/>).</t>
  </dd>
  <dt>Swarm:</dt>
  <dd>
    <t>A set of cells and parties that share one TRAIL deployment and one
top-level namespace.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="architecture"><name>Architecture</name>

<figure title="TRAIL architecture" anchor="fig-arch"><artwork type="ascii-art"><![CDATA[
 +---------------- Cell A -----------------+
 |  +---------+       +------------------+  |
 |  | Agent   |------>|      Edge A      |--+--> call (MOQT or HTTP)
 |  | (in a   | local |  policy, keys,   |  |    + Action Record
 |  | sandbox)|       |  holds, signing  |  |
 |  +---------+       +------------------+  |
 +-----------------------|---------^--------+
            trail, state |         |  authority state (policy, holds,
            (Action      v         |  status lists), approvals
             Records)              |
                   +-----------------------+
                   |    evidence plane     |
                   | (MOQT relays or HTTP) |
                   +-----------------------+
                     /         |         \
                    v          v          v
               Authority    Witness     Edge B
               (watch,      (verify,    (verify record,
                hold, gate)  cosign)     deliver, cite)
]]></artwork></figure>

<t>The agent never holds a signing key. For each consequential action the
edge:</t>

<t><list style="numbers" type="1">
  <t>checks the action against cached state from its authorities;</t>
  <t>signs an Action Record bound to the outgoing call;</t>
  <t>appends the record to its trail; and</t>
  <t>sends the call with the record attached.</t>
</list></t>

<t>The receiving edge verifies the attached record, delivers the call, and
appends a record that cites it. Once the receiver holds the sender's
state, verification needs no network round trip; on first contact it
needs one subscription or fetch of that state. Authorities and
witnesses read trails. Directives flow back in the authorities' state.</t>

<section anchor="levels"><name>Attestation Levels</name>

<t>The agent always runs in a sandbox. What differs is where the edge sits,
and therefore what the cell contains, who can read the edge's key, and
what can go around the edge. TRAIL names three levels. The level is
never asserted by the edge itself: it is derived from an Attestation
Result <xref target="RFC9334"/> about the edge's key (<xref target="attestation"/>).</t>

<texttable title="Attestation levels" anchor="tab-levels">
      <ttcol align='left'>Level</ttcol>
      <ttcol align='left'>Where the edge is</ttcol>
      <ttcol align='left'>What the cell is</ttcol>
      <ttcol align='left'>Who can read the key</ttcol>
      <ttcol align='left'>What goes around the edge</ttcol>
      <c><spanx style="verb">software</spanx></c>
      <c>A process beside the sandbox on the same host, such as a sidecar proxy or egress gateway</c>
      <c>The sandbox and the edge</c>
      <c>The host</c>
      <c>An escape from the sandbox</c>
      <c><spanx style="verb">tee</spanx></c>
      <c>Inside a confidential VM, with its key sealed to that VM</c>
      <c>The confidential VM</c>
      <c>Not the host</c>
      <c>An escape into the VM</c>
      <c><spanx style="verb">isolated</spanx></c>
      <c>Separate hardware that all of the machine's traffic crosses, such as a DPU or SmartNIC</c>
      <c>The whole machine</c>
      <c>Nothing on the host</c>
      <c>Only compromise of that hardware</c>
</texttable>

<t>A key held in a TPM on an ordinary host cannot be exported, but the
host can still use it to sign. An edge with such a key is at the
<spanx style="verb">software</spanx> level.</t>

<t>The edge is well placed to produce these records. It is on the path, so
the trail is complete; it holds keys outside the agent, so a
compromised agent cannot forge its own records; it appends each record
before the call leaves; and a verifier can attest what holds its key.
At the software level a record still shows integrity and binds the
operator to what it signed, but a compromised host can sign anything.
Authorities can require a higher level for higher-impact actions with
a require-level directive.</t>

</section>
<section anchor="roles"><name>Authorities and Witnesses</name>

<t>TRAIL separates two jobs:</t>

<t><list style="symbols">
  <t>A witness checks the completeness and consistency of trails. It needs
every record, but only its structure: identifiers, order, and
redacted claims. It has no rights over actions. Its cosignatures
affect actions only through an authority's require-witness directive
(<xref target="freshness"/>).</t>
  <t>An authority reads the claims its grant covers and publishes rules
that edges enforce on every call. It can require its approval before
an action (require-gate), refuse actions (policy), stop an agent
(hold), or cap how many agents run across machines
(require-admission).</t>
</list></t>

<t>An edge signs its own records, so its signature alone cannot show
that it keeps one history or that it dropped nothing. At the end of
each epoch the edge signs a checkpoint over its whole trail, and a
witness that holds every record countersigns it. The cosignature does
three things. It fixes one history: a witness never cosigns two roots
for the same trail and size, so a conflicting checkpoint is proof of
equivocation. It anchors inclusion proofs for single records. And it
shows that someone is watching: an edge whose cosignatures grow stale
pauses, so stopping the witness stops the agent (<xref target="freshness"/>).</t>

<t>Keeping them apart gives least privilege, lets witnesses check
authorities as well as operators, and lets several witnesses back one
authority. One party MAY hold both roles; a monitor that both checks a
trail and can stop the agent it records is an authority and a witness
at once.</t>

</section>
<section anchor="dialogs"><name>Dialogs</name>

<t>Agent interactions are grouped into dialogs: the correlated sequence of
interactions among participants over the course of a task, named by a
dialog identifier and a generation and managed by a controller
<xref target="PACE"/>. TRAIL does not manage dialogs. It records the actions taken
inside them:</t>

<t><list style="symbols">
  <t>Every Action Record for an action inside a dialog carries the dialog
identifier and the generation the sender last knew (<xref target="payload"/>).
Records of all participants can then be correlated across cells and
operators.</t>
  <t>Dialog control operations that change the dialog or stop work are
consequential actions and SHOULD be recorded. Changes to dialog
membership are then witnessed.</t>
  <t>A hold is applied by the edge regardless of dialog state. It does
not depend on the dialog's controller.</t>
  <t>Where a dialog requires evidence of approval for a high-risk
operation, a TRAIL approval record (<xref target="gates"/>) is that evidence.</t>
  <t>TRAIL namespaces never contain dialog identifiers. A binding that
puts them in its own track names, as PACE does, protects them with
its own relay authorization.</t>
</list></t>

<t><xref target="pace"/> maps these rules onto PACE.</t>

</section>
<section anchor="why-moqt"><name>Why MOQT</name>

<t>Every TRAIL property is available over HTTP. MOQT is preferred for the
evidence plane, and for calls where both sides support it. A MOQT
Object has a stable name and cannot be changed once published
<xref target="MoQ-TRANSPORT"/>, relays cannot strip Immutable Properties, the trail
and the call share one session, and subscriptions push trails and
state to parties the publisher did not list in advance.
<xref target="tab-http-losses"/> compares each of these with HTTP. MOQT also
provides:</t>

<dl>
  <dt>History and live data under one name:</dt>
  <dd>
    <t>The same records track serves live records by SUBSCRIBE and past ones
by FETCH, from relays or archives.</t>
  </dd>
  <dt>One authorization system and one key:</dt>
  <dd>
    <t>C4M with DPoP <xref target="MoQ-C4M"/> authorizes call tracks and TRAIL tracks
with the same WIT-bound key and the same prefix rule.</t>
  </dd>
  <dt>Media:</dt>
  <dd>
    <t>Agents that see and hear receive audio and video as MOQT Objects in
the same dialog, so media seals and key release (<xref target="media"/>) use the
same tracks and relays as the rest of the evidence.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="record"><name>The Action Record</name>

<t>An Action Record is a COSE_Sign1 <xref target="RFC9052"/> structure. It is a SCITT
Signed Statement <xref target="RFC9943"/>, so it can also be registered with a
Transparency Service without conversion. It is the same in both
bindings except for the call-ref member.</t>

<section anchor="protected-header"><name>Protected Header</name>

<t>The protected header MUST contain:</t>

<t><list style="symbols">
  <t>alg (1): an asymmetric signature algorithm. ES256 is mandatory to
implement.</t>
  <t>typ (16) <xref target="RFC9596"/>: <spanx style="verb">application/trail-record+cbor</spanx>.</t>
  <t>kid (4): the JWK Thumbprint of the edge key, which is the cnf key of
the edge's WIT (<xref target="identity"/>).</t>
  <t>CWT Claims (15) <xref target="RFC9597"/> with at least:  <list style="symbols">
      <t>iss (1): the edge's WIMSE identifier.</t>
      <t>sub (2): the identifier of the agent that acted.</t>
      <t>iat (6): the time of signing.</t>
    </list></t>
</list></t>

</section>
<section anchor="payload"><name>Payload</name>

<t>The payload is a CBOR <xref target="RFC8949"/> map, described in CDDL <xref target="RFC8610"/>:</t>

<figure title="Action Record payload" anchor="fig-record"><sourcecode type="cddl"><![CDATA[
trail-record = {
  1 => uint,                  ; version (1)
  2 => kind,
  3 => trail-ref,             ; issuer's trail and leaf index
  ? 4 => call-ref,            ; the call this action produced
  5 => bstr,                  ; policy: hash of directives in force
  ? 6 => outcome,
  ? 7 => dialog-ref,          ; agentproto dialog context
  ? 8 => tstr,                ; aud: counterparty identifier
  ? 9 => context-hashes,      ; credentials relied on, by hash
  ? 10 => [+ cite],           ; what this action depended on
  ? 11 => any,                ; kind-specific body
  ? 12 => tstr,               ; principal (usually redacted)
  ? 13 => uint,               ; action class
  ? 14 => [+ state-ref],      ; authority snapshots the edge held
  * int => any                ; SD-CWT redacted claims and extensions
}

kind = &(
  send: 1, recv: 2, tool-call: 3, model-call: 4,
  state-write: 5, state-read: 6,
  gate-request: 7, approval: 8,
  hold-applied: 9, disclosure: 10,
  checkpoint: 11, media-seal: 12,
  lifecycle: 13, admission-release: 14, restart: 15,
  cosignature: 16
)

trail-ref = [ trail-id: bstr .size 16, leaf: uint ]

call-ref = moqt-ref / http-ref
moqt-ref = [
  1,
  ftn-hash: bstr,             ; SHA-256 of the Full Track Name
  group: uint,
  object: uint,
  payload-hash: bstr          ; SHA-256 of the application payload
]
http-ref = [
  2,
  components-hash: bstr,      ; see the HTTP binding
  created: uint               ; the signature's created parameter
]

outcome = &( allowed: 0, denied: 1, held: 2, gated: 3,
             completed: 4, failed: 5, degraded: 6, unsigned: 7 )

dialog-ref = [ dialog-id: bstr .size 16, generation: uint ]

context-hashes = {
  ? 1 => bstr,                ; wth: hash of the agent's WIT
  ? 2 => bstr,                ; tth: hash of the Transaction Token
  ? 3 => { + tstr => bstr },  ; oth: other context tokens by name
  ? 4 => bstr,                ; sdh: sd_hash of the capability card
  ? 5 => bstr,                ; adm: hash of the admission token
}

state-ref = [ authority: tstr, sequence: uint ]

cite = [ cite-type, ref: (trail-ref / call-ref / media-ref),
         hash: bstr ]
cite-type = &( input: 1, peer-record: 2, media-group: 3,
               directive: 4, approval: 5 )
media-ref = [ ftn-hash: bstr, group: uint, objects: uint ]
]]></sourcecode></figure>

<t>The context-hashes member follows the WIMSE Workload Proof Token
<xref target="WIMSE-WPT"/>, which binds a proof to the tokens presented with it by
hash: wth for the WIT, tth for a Transaction Token, and oth for other
context tokens such as an access token. An Action Record is, in effect,
a Workload Proof Token for one call that is also kept as evidence.</t>

<t>A cite's hash is the record identifier of the cited record, except in
a media-group cite, where it is the media root (<xref target="media"/>). A directive
cite names the policy bundle record in the authority's trail. The
authority snapshots that the edge held are listed in member 14, not in
cites.</t>

<t>Records and state snapshots MUST use deterministic encoding
(<xref section="4.2.1" sectionFormat="of" target="RFC8949"/>). The record identifier is the SHA-256
hash of the COSE_Sign1 encoded with an empty unprotected header map.
Inclusion proofs and other material MAY be added to the unprotected
header, as in SCITT, without changing the identifier.</t>

</section>
<section anchor="binding"><name>Signature Binding</name>

<t>trail-ref binds the record to one position in the issuer's trail, and
call-ref binds it to one call. A moqt-ref names one immutable Object at
one Location; an http-ref covers a hash of the signed components of one
request or response (<xref target="http-calls"/>). A relay, proxy, or archive
therefore cannot serve the record at another position, and the record
cannot be attached to another call. Verifiers MUST check both against
where they received the record and the call.</t>

</section>
<section anchor="sd"><name>Selective Disclosure</name>

<t>Sensitive claims, such as amounts, principal identifiers, or tool
arguments, SHOULD be redacted with SD-CWT <xref target="SD-CWT"/>. The signed record
then holds salted digests, which every verifier can check. Each
disclosure is labeled with a data class. The edge encrypts the
disclosures of a class to each authority whose grant includes that
class with COSE-HPKE <xref target="COSE-HPKE"/>, and sends them as directed records
(<xref target="tracks"/>). Every authority verifies the same signed record, and each
opens only the claims of its classes. Every party that can read the
trail, including witnesses, sees only the redacted record.</t>

<t>This construction is the CBOR equivalent of the SD-JWT construction
<xref target="RFC9901"/> used by SD-Card <xref target="SD-CARD"/>, so capability cards and
evidence share one disclosure model.</t>

</section>
</section>
<section anchor="core-rule"><name>The Core Rule</name>

<t>Agent-to-agent and agent-to-tool traffic MUST NOT leave a cell unless
an Action Record for it has been appended to the edge's trail. An edge
MUST drop inbound agent traffic that does not carry a valid Action
Record.</t>

<texttable title="Core rule at the edge" anchor="tab-core">
      <ttcol align='left'>Destination</ttcol>
      <ttcol align='left'>Edge behavior</ttcol>
      <c>Agent or tool reached over MOQT</c>
      <c>Check, sign, append to trail, publish the call Object with TRAIL_RECORD</c>
      <c>Agent or tool reached over HTTP</c>
      <c>As above, with the record carried as in <xref target="http-calls"/></c>
      <c>Model endpoint</c>
      <c>Record a model-call record; the payload is not forwarded to the evidence plane</c>
      <c>Anything else</c>
      <c>Deny by default</c>
</texttable>

<t>Agent logic does not change. Routine checks run against state already
cached at the edge (<xref target="state"/>) and do not wait on the network. Only
gated actions wait for a round trip.</t>

<t>During incremental deployment, an operator's policy MAY admit unsigned
inbound traffic from named endpoints that do not run TRAIL. The edge
then records a recv record with outcome <spanx style="verb">unsigned</spanx>. A require-record
directive from an authority removes that exception for the senders,
receivers, and action classes it selects, so removing a record in
transit makes the call fail rather than bypass oversight.</t>

<t>The receiving edge MUST:</t>

<t><list style="numbers" type="1">
  <t>Drop the call if its Action Record is missing.</t>
  <t>Verify the record signature with the key named by kid, obtained from
the sender's state (<xref target="state"/>).</t>
  <t>Check that call-ref matches the call as received, and that aud, if
present, names the receiver.</t>
  <t>Check the sender against the receiver's requirements: attestation
level, holds, admission, the status of the tokens named in
context-hashes, and upstream freshness from the cosigned checkpoint
in the sender's state (<xref target="freshness"/>). The receiver cannot observe
the sender's downstream freshness directly. The sender declares the
authority snapshots it held in member 14; a receiver that holds
those authorities' state MUST check that each named snapshot exists
and is within the applicable budget.</t>
  <t>Reject a replayed record (<xref target="replay"/>).</t>
  <t>Deliver the call, and append a recv record that cites the sender's
record.</t>
</list></t>

<t>A response carries the responder's record, which cites the request's
record. The requester keeps it as the responder's acknowledgment. Each
side can then prove what the other said, which is the basis for
assigning liability between them.</t>

</section>
<section anchor="moqt"><name>MOQT Binding</name>

<section anchor="requirements-on-moqt"><name>Requirements on MOQT</name>

<t>Implementations MUST support <xref target="MoQ-TRANSPORT"/> draft-22 or later,
including PUBLISH_NAMESPACE, SUBSCRIBE_TRACKS, PUBLISH, SUBSCRIBE with
FILL_PARAMETERS, FETCH, TRACK_STATUS, Immutable Properties, and the
AUTHORIZATION TOKEN parameter with C4M tokens <xref target="MoQ-C4M"/>.</t>

<t>Records, state, and directed tracks MUST use Subgroup Delivery Mode,
MUST NOT use Datagram Delivery Mode, and MUST NOT set a delivery
timeout.</t>

<t>An edge MUST NOT carry anything that a TRAIL check depends on in a
mutable Property.</t>

</section>
<section anchor="namespaces"><name>Namespaces</name>

<t>Every TRAIL track lives under the publishing party's prefix:</t>

<figure title="TRAIL namespace layout" anchor="fig-ns"><artwork type="ascii-art"><![CDATA[
("trail", S, P)        -- "records" append-only records of party P
("trail", S, P)        -- "state"   current snapshot of party P
("trail", S, P, "to")  -- Q         directed records from P to Q
]]></artwork></figure>

<t>S is the swarm pseudonym. P and Q are party pseudonyms. All three MUST
be 16-byte values that do not encode identities, locations, or tasks.
The mapping from a pseudonym to a WIMSE identifier is in that party's
state snapshot, which only authorized parties can read
(<xref target="authorization"/>).</t>

<t>Call Objects stay on their dialog tracks, for example
("pace", "dialogs", {dialog-id}, {agent-id}, "a2a", "task") --
{task-id} <xref target="PACE"/>. Media stays on its dialog media tracks.</t>

<t>An authority sees the whole swarm with one SUBSCRIBE_TRACKS on
("trail", S), or one party with SUBSCRIBE_TRACKS on ("trail", S, P).
Because a cell whose records track is not published under ("trail", S)
gets no cosignatures and fails upstream freshness, an operator cannot
start a cell that such a subscription will not see.</t>

</section>
<section anchor="tracks"><name>The Three Track Kinds</name>

<dl>
  <dt>records:</dt>
  <dd>
    <t>The party's trail. Each Object is one Action Record. A Group is one
epoch and ends with a checkpoint (<xref target="checkpoints"/>). Object IDs within
a Group start at 0 and are consecutive. The publisher MUST NOT use
the Prior Object ID Gap Property on a records track, so any gap is
evidence of loss or withholding. A witness MAY ask for an early
checkpoint with REQUEST_UPDATE and NEW_GROUP_REQUEST, when the track
sets DYNAMIC_GROUPS.</t>
  </dd>
  <dt>state:</dt>
  <dd>
    <t>The party's current snapshot. Each Group holds exactly one Object, a
complete signed snapshot (<xref target="snapshots"/>). A receiver never merges
deltas. The track SHOULD use Descending group order. Subscribers join
with FILL_PARAMETERS selecting the latest Group, so they get current
state and live updates in one step.</t>
  </dd>
  <dt>to:</dt>
  <dd>
    <t>Directed records addressed to one other party: gate requests and
approvals, admission tokens, disclosures, and requests for
disclosure. Payloads that are not public MUST be encrypted to the
recipient with COSE-HPKE. Every directed record that matters as
evidence is also appended, in redacted form, to the sender's trail.</t>
  </dd>
</dl>

</section>
<section anchor="property"><name>The TRAIL_RECORD Property</name>

<t>TRAIL defines one Object Property, TRAIL_RECORD (odd type, byte value),
whose value is the Action Record for that Object.</t>

<t><list style="symbols">
  <t>The edge MUST place it inside Immutable Properties, or in the
Encrypted Properties List when the call track is protected with
Secure Objects <xref target="MoQ-SECOBJ"/>, so that relays cannot see it.</t>
  <t>Relays forward it unchanged, as they do any unknown Property. A relay
cannot add it, because MOQT does not let relays add Immutable
Properties. This is why the edge must be the Original Publisher.</t>
  <t>Because the record is carried with the Object, the receiver needs no
FETCH and no second subscription to verify a call.</t>
</list></t>

</section>
<section anchor="moqt-commit"><name>Commit Point</name>

<t>MOQT does not acknowledge individual Objects. TRAIL therefore defines
the commit point as follows:</t>

<t><list style="symbols">
  <t>The edge MUST write the record to its records track before it
releases the call Object. Deployments SHOULD make the edge its own
first-hop relay, so the record is cached before the call leaves.</t>
  <t>The receiver verifies the record inline (it is in the Object).</t>
  <t>The checkpoint for the epoch MUST include the record. A receiver that
holds a record whose leaf is covered by a cosigned checkpoint that
does not include it has proof of equivocation.</t>
  <t>For actions above a policy threshold, the edge MAY wait until a
witness has cosigned a checkpoint that includes the record before it
releases the call (synchronous mode).</t>
</list></t>

</section>
<section anchor="delivery-parameters"><name>Delivery Parameters</name>

<texttable title="Recommended delivery parameters" anchor="tab-delivery">
      <ttcol align='left'>Track</ttcol>
      <ttcol align='left'>Publisher priority</ttcol>
      <ttcol align='left'>Group order</ttcol>
      <ttcol align='left'>Joining</ttcol>
      <c>state</c>
      <c>0</c>
      <c>Descending</c>
      <c>Latest Group with FILL_PARAMETERS</c>
      <c>to</c>
      <c>0</c>
      <c>Ascending</c>
      <c>Subscribe; FETCH for history</c>
      <c>records</c>
      <c>128</c>
      <c>Ascending</c>
      <c>FETCH from an archive, then subscribe</c>
      <c>media</c>
      <c>32 to 63</c>
      <c>Descending</c>
      <c>Live; FETCH complete Groups for evidence</c>
</texttable>

<t>MOQT priority applies only within a session and only under congestion.
An edge SHOULD carry its state and to subscriptions on a session
separate from bulk records and media traffic.</t>

</section>
</section>
<section anchor="http"><name>HTTP Binding</name>

<t>Most agent traffic today is HTTP <xref target="RFC9110"/>: MCP <xref target="MCP"/> commonly
uses its Streamable HTTP transport, and A2A <xref target="A2A"/> uses JSON-RPC over
HTTP. The HTTP binding lets that traffic carry TRAIL without changing
the agents.</t>

<section anchor="http-calls"><name>Calls</name>

<t>The edge signs the request with WIMSE HTTP Message Signatures
<xref target="WIMSE-HTTPSIG"/> <xref target="RFC9421"/> on the agent's behalf and adds a
Trail-Record header field: an Item Structured Field <xref target="RFC9651"/> whose
value is a Byte Sequence holding the Action Record.</t>

<figure title="An HTTP request carrying a record (truncated)" anchor="fig-http-call"><sourcecode type="http-message"><![CDATA[
POST /a2a/tasks HTTP/1.1
Host: agent-b.example
Content-Type: application/json
Content-Digest: sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf...=:
Trail-Record: :0oRYQ6MBJgN4HmFwcGxpY2F0aW9uL3RyYWlsLXJlY29y...:
Signature-Input: trail=("@method" "@target-uri" "content-digest"
    "trail-record");created=1793318400;tag="trail";
    keyid="NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs"
Signature: trail=:MEUCIQDk3...:
]]></sourcecode></figure>

<t>The keyid is the JWK Thumbprint of the edge key, the same value as the
record's kid.</t>

<t><list style="symbols">
  <t>The signature MUST cover <spanx style="verb">@method</spanx>, <spanx style="verb">@target-uri</spanx>, <spanx style="verb">content-digest</spanx>
<xref target="RFC9530"/> when the message has content, and <spanx style="verb">trail-record</spanx>.</t>
  <t><spanx style="verb">components-hash</spanx> in the record's <spanx style="verb">http-ref</spanx> is the SHA-256 hash of
the signature base for the covered components other than
<spanx style="verb">trail-record</spanx>, without the <spanx style="verb">@signature-params</spanx> line. <spanx style="verb">created</spanx>
equals the signature's <spanx style="verb">created</spanx> parameter.</t>
  <t>The edge MUST request a signed response. The responder's edge returns
its own record, citing the request's record, in a Trail-Record
response field covered by its response signature.</t>
  <t>When the response is a stream, such as server-sent events <xref target="SSE"/> on
an MCP Streamable HTTP response, the responder's record is carried in
the event that completes the exchange and lists the hashes of the
earlier events.</t>
</list></t>

</section>
<section anchor="http-trails"><name>Trails as Static Tiles</name>

<t>A party publishes its trail as a tiled transparency log
<xref target="TLOG-TILES"/>. Tiles use the same <xref target="RFC9162"/> Merkle tree as TRAIL
trails; entry bundles hold the records in leaf order, and the last
record of each epoch is the checkpoint (<xref target="checkpoints"/>). The trail's
checkpoint resource is a signed tree head in the <xref target="TLOG-CHECKPOINT"/>
format over the same tree, so existing tlog tooling can read TRAIL
trails directly.</t>

<t>Tiles are immutable once full and can be served from caches. Readers
authenticate as described in <xref target="read-access"/> to a server that the
operator whose trail it is does not run, so the operator does not learn
who reads its trail.</t>

<t>A reader finds trails through witnesses. A cell obtains cosignatures by
submitting each checkpoint to its witnesses, for example with
<xref target="TLOG-WITNESS"/>, and each witness records the countersignature, with
the cell's trail identifier and base URI, in its own trail. An
authority that reads a witness's trail therefore learns every cell that
witness cosigns, including cells started later.</t>

</section>
<section anchor="http-state"><name>State and Directed Records</name>

<t>A party serves its current state snapshot at a <spanx style="verb">state</spanx> resource listed
in its state, with an ETag. Readers poll it with conditional requests
or keep an SSE stream open on which each new snapshot is an event.
Directed records are delivered by POST to the recipient's <spanx style="verb">inbox</spanx>
resource.</t>

<t>The freshness rules are unchanged, because the edge checks the age of
what it holds, not how it arrived. An authority's freshness budget for a
class MUST exceed the edge's poll interval plus the expected delivery
latency, or the edge will pause between polls. A hold therefore takes
effect within one poll interval, instead of on publication.</t>

</section>
<section anchor="http-commit"><name>Commit Point</name>

<t>The trail append and the call can be on two systems. The edge MUST
receive a successful acknowledgment of the append before it sends the
call.</t>

</section>
<section anchor="http-losses"><name>Properties Lost and Their Mitigations</name>

<texttable title="HTTP binding losses and mitigations" anchor="tab-http-losses">
      <ttcol align='left'>Property</ttcol>
      <ttcol align='left'>MOQT</ttcol>
      <ttcol align='left'>HTTP</ttcol>
      <ttcol align='left'>Mitigation</ttcol>
      <c>Exact binding</c>
      <c>One immutable Object</c>
      <c>Hash of the covered components</c>
      <c>Sufficient for HTTP calls; WIMSE and AAuth use the same construction</c>
      <c>Stripping</c>
      <c>Relays cannot remove Immutable Properties</c>
      <c>An intermediary can drop the header field</c>
      <c>require-record (<xref target="core-rule"/>): the receiver refuses the call, so stripping fails closed</c>
      <c>Single commit point</c>
      <c>Trail and call on one session</c>
      <c>Two systems</c>
      <c>Acknowledged append before send</c>
      <c>Delivery of holds</c>
      <c>Pushed on subscription</c>
      <c>Poll or SSE</c>
      <c>Per-class freshness budgets bound the delay (<xref target="budgets"/>)</c>
      <c>Trails for parties not listed in advance</c>
      <c>SUBSCRIBE_TRACKS on a prefix</c>
      <c>Static tiles, pulled</c>
      <c>Discovery through witness trails (<xref target="http-trails"/>)</c>
</texttable>

</section>
<section anchor="hybrid"><name>Hybrid Deployment</name>

<t>Calls and the evidence plane can use different bindings. In a hybrid
deployment, agent calls stay on HTTP and trails, state, and directed
records travel over MOQT, so only edges, authorities, and witnesses
need MOQT. This is the RECOMMENDED first deployment for agents that use
HTTP today. A verifier checks a record the same way whichever binding
carried it.</t>

</section>
</section>
<section anchor="protocols"><name>Carrying TRAIL in Agent Protocols</name>

<t>TRAIL does not change agent protocols. It attaches to the messages that
their bindings already carry. This section states how for the
agentproto MOQT binding <xref target="PACE"/>, for MCP over MOQT <xref target="MCP-MOQT"/>, and
for A2A and MCP over HTTP.</t>

<section anchor="the-general-rule"><name>The General Rule</name>

<t>In every mapping, the edge acts for the agent and is the sender of the
agent's messages. For each message that carries a request, a response,
a result, or a control operation, the edge attaches an Action Record:
TRAIL_RECORD over MOQT (<xref target="property"/>), or Trail-Record over HTTP
(<xref target="http-calls"/>). Messages that carry only progress, keep-alive, or
streaming fragments MAY omit it, provided the message that completes
the exchange carries a record whose call-ref covers it and whose body
lists the hashes of the fragments it completes.</t>

<t>The protocol's own identifiers (PACE message_id, A2A task identifiers,
MCP JSON-RPC id, and MCP over MOQT client ID) SHOULD be recorded in
the record body, so that the evidence can be matched to the
protocol's own logs. They are not used for any TRAIL check.</t>

</section>
<section anchor="pace"><name>PACE</name>

<section anchor="pace-layers"><name>Layering</name>

<t>TRAIL is not part of the PACE protocol. PACE messages, tracks, and
dialog semantics are unchanged, and PACE works without it. TRAIL runs
at the edge, in the Object path below the PACE MOQT binding: the edge
is the Original Publisher of each Object the binding produces
(<xref target="property"/>). On the way out, the edge checks the Object against
cached state, signs an Action Record whose call-ref names the Object's
track, Location, and payload, appends the record to its trail, and
publishes the Object with TRAIL_RECORD. On the way in, it verifies the
record before the binding sees the Object. The edge also publishes its
own tracks under ("trail", S, P) on the same relays.</t>

<figure title="TRAIL in the PACE Object path at the edge" anchor="fig-pace-layers"><artwork type="ascii-art"><![CDATA[
+------------------------------------+
| Application protocols (A2A, MCP)   |
+------------------------------------+
| PACE dialog management             |
| dialog-id, generation, lifecycle   |
+------------------------------------+
| PACE MOQT binding                  |
| ("pace","dialogs",D,agent) tracks  |
+====================================+
| TRAIL at the edge                  |
| out: check, sign, append, attach   |
|      TRAIL_RECORD                  |--+ "records", "state", "to"
| in:  verify, check, append recv    |  |  under ("trail",S,P)
+====================================+  |
| MOQT: relays, namespaces, C4M      |<-+
+------------------------------------+
| QUIC / WebTransport                |
+------------------------------------+
]]></artwork></figure>

<t>PACE correlates a dialog and manages its lifecycle. TRAIL proves what
each participant did in it and enforces rules at the edge. PACE
defines no audit data structures; TRAIL supplies them, keyed by the
PACE dialog identifier.</t>

<texttable title="Division of work between PACE and TRAIL" anchor="tab-pace-layers">
      <ttcol align='left'>Concern</ttcol>
      <ttcol align='left'>PACE</ttcol>
      <ttcol align='left'>TRAIL</ttcol>
      <c>Correlation</c>
      <c>dialog-id and generation</c>
      <c>dialog-ref in each signed record</c>
      <c>Sender authentication</c>
      <c>credentials in control messages; mechanism chosen by the deployment</c>
      <c>TRAIL_RECORD signs each request, response, result, and control Object that changes the dialog or stops work, end to end</c>
      <c>Records</c>
      <c>None</c>
      <c>Action Records in witnessed trails, on "records" tracks</c>
      <c>Stopping a participant</c>
      <c>REVOKE, sent by the controller</c>
      <c>Hold, issued by an authority and applied at the edge</c>
      <c>Stopping work</c>
      <c>CANCEL and CANCEL_ACK</c>
      <c>Records both; require-gate stops work before it starts</c>
      <c>Approval evidence</c>
      <c>Required for high-risk operations; format open</c>
      <c>Approval record</c>
      <c>Lost contact</c>
      <c>Suspend actions that depend on an unconfirmed context change</c>
      <c>Freshness rules pause the edge</c>
      <c>Relay authorization</c>
      <c>C4M scopes per dialog</c>
      <c>C4M scopes per party prefix, with the same key</c>
</texttable>

</section>
<section anchor="mapping"><name>Mapping</name>

<dl>
  <dt>Dialog tracks:</dt>
  <dd>
    <t>Call Objects stay on the participant's dialog tracks, for example
("pace", "dialogs", {dialog-id}, {agent-id}, "a2a", "task") --
{task-id}. TRAIL tracks are separate, under ("trail", S, P). The PACE
dialog-id and agent-id never appear in TRAIL namespaces.</t>
  </dd>
  <dt>Dialog context:</dt>
  <dd>
    <t>Every record for an Object on a dialog track carries dialog-ref with
the PACE dialog-id and the generation the sender last knew. These
are the values of the dialog reference that the application message
carries under <spanx style="verb">org.ietf.agentproto/dialog-context</spanx>. A receiving edge
MUST refuse a call whose dialog reference and dialog-ref differ.</t>
  </dd>
  <dt>Control operations:</dt>
  <dd>
    <t>Each control message on a participant's ctrl track that changes the
dialog or stops work (OPEN, ACCEPT, REJECT, UPDATE, JOIN_REQUEST,
LEAVE, REVOKE, TERMINATE, CANCEL, and CANCEL_ACK) SHOULD carry a
lifecycle record. STATE_REQUEST, STATE, and ERROR MAY omit it. PACE
requires a participant to authenticate the sender of each operation
before applying it, and relays terminate TLS on each hop. TRAIL_RECORD
authenticates each control Object end to end, and the trail makes
changes to dialog membership witnessed.</t>
  </dd>
  <dt>Payload:</dt>
  <dd>
    <t>PACE carries each message as the Object payload, with no PACE
header. payload-hash covers the whole Object payload.</t>
  </dd>
  <dt>Credentials:</dt>
  <dd>
    <t>Identity assertions, authorization proofs, and SD-Card presentations
travel in the PACE credentials member, as PACE specifies. The record
carries their hashes in context-hashes. A key-bound presentation
travels on ACCEPT, UPDATE, or JOIN_REQUEST, the messages that answer
a peer's nonce.</t>
  </dd>
  <dt>Confirmation and evidence:</dt>
  <dd>
    <t>Where PACE lets a peer require evidence of approval for a high-risk
operation, a TRAIL approval record (<xref target="gates"/>) is the evidence. The
receiving edge finds it as a cite of type approval in the sender's
record.</t>
  </dd>
  <dt>Holds, REVOKE, and CANCEL:</dt>
  <dd>
    <t>When a hold stops a participant, the controller SHOULD follow with
REVOKE so that the dialog context matches, and the edge MUST keep
applying the hold until it is lifted. An edge that holds work already
in progress SHOULD send CANCEL for it, so that peers stop work they
started for the held agent. A CANCEL_ACK with outcome <spanx style="verb">irreversible</spanx>
is recorded like any other control message, so the trail shows which
actions took effect before the stop.</t>
  </dd>
  <dt>Delegated dialogs:</dt>
  <dd>
    <t>A dialog opened to carry out delegated work lists its parents in
parent_dialog_ids. The lifecycle record of OPEN carries the full
dialog context, so the trails show which dialogs descend from which.</t>
  </dd>
  <dt>Discovery:</dt>
  <dd>
    <t>The PACE card track and the TRAIL state track are separate. A cell's
state MAY include the issuer-signed SD-Card that the agent also
publishes on its card track, so that a receiver can check capability
claims and key binding from the same subscription it uses for the
edge's credentials.</t>
  </dd>
  <dt>Revocation at the relay:</dt>
  <dd>
    <t>PACE withdraws a revoked participant's relay authorization, for
example by refusing C4M revalidation. A hold at the edge stops the
same participant independently of the relay, so either one is enough
to stop it.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="mcp-moqt"><name>MCP over MOQT</name>

<dl>
  <dt>Request and response tracks:</dt>
  <dd>
    <t>MCP over MOQT maps each JSON-RPC exchange onto a request track
published by the client and a response track published by the
server, in the client's scope (mcp, {server-id}, clients,
{client-id}, ...). Each request is a new Group, and the response uses
the same Group ID. The client's edge attaches a record of kind
tool-call (or send for other requests) to the request Object. The
server's edge attaches a record that cites the request's record to
the Object that carries the final result or error.</t>
  </dd>
  <dt>Track ownership:</dt>
  <dd>
    <t>In a client scope the client and the server publish under the same
namespaces, and only the track name tells a request track from a
response track. A receiving edge MUST check that the record's iss is
the edge it expects for that track: the client's edge for a request
track, the server's edge for a response track. A peer that publishes
a track belonging to the other is then refused.</t>
  </dd>
  <dt>Multi-object responses:</dt>
  <dd>
    <t>A response Group can hold progress notifications, in one or more
Subgroups, followed by the final result or error, which has the
highest Object ID. The Object that carries the final result MUST
carry a record, and the general rule above applies to the
notifications, taken in Object ID order. The record travels with its
Object, so a client that recovers a response by FETCH after a
reconnection verifies it the same way.</t>
  </dd>
  <dt>Multi round-trip requests:</dt>
  <dd>
    <t>MCP servers do not send requests to clients. A server that needs an
elicitation, a sampling result, or the client's roots ends the
response with an input-required result, which carries a record like
any other result. The client's retry is a new request in a new Group,
and its record cites the input-required result's record. Sampling
done by the client to answer it is recorded as a model-call record by
the client's edge, and the retry cites that record as input. An
elicitation that a person answers can be gated (<xref target="gates"/>).</t>
  </dd>
  <dt>Cancellation:</dt>
  <dd>
    <t>A client cancels a request by publishing notifications/cancelled in
the request's Group. That Object is a control message and carries a
record, as does a PACE CANCEL that names the request.</t>
  </dd>
  <dt>Origin of tool results:</dt>
  <dd>
    <t>Secure Objects keys are shared by a track's publisher and
subscribers, so they do not show which endpoint produced an Object.
TRAIL_RECORD is a per-publisher signature, and placing it in the
Encrypted Properties List keeps it hidden from relays.</t>
  </dd>
  <dt>Standalone and PACE modes:</dt>
  <dd>
    <t>In standalone mode there is no dialog. Records omit dialog-ref and
record the server ID, the client ID, and the JSON-RPC id in the body;
MCP keeps no session, so there is no session identifier to record.
In PACE mode the same tracks move under ("pace", "dialogs",
{dialog-id}, {agent-id}, "mcp", ...), each MCP request carries the
PACE dialog reference in <spanx style="verb">_meta</spanx>, and records carry dialog-ref as in
<xref target="pace"/>.</t>
  </dd>
  <dt>Authorization:</dt>
  <dd>
    <t>MCP over MOQT presents an OAuth access token, or a C4M token minted
from the OAuth grant and bound with the DPoP binding of C4M, to the
relay. Credentials that the MCP server itself verifies travel in each
request's <spanx style="verb">_meta</spanx>. TRAIL uses the same C4M tokens (<xref target="authorization"/>).
The access token, or a Transaction Token derived from it, is recorded
by hash in oth or tth.</t>
  </dd>
  <dt>Catalog, resources, prompts, and skills:</dt>
  <dd>
    <t>The catalog, resource, prompt, and skill tracks carry content that
the server publishes, not actions, and relays serve them from cache.
Tool definitions and client-executed skill instructions steer the
model, so an edge SHOULD record a state-read record when an agent
uses such content, and the later action cites it. Context provenance
then follows data from a server into a decision. A server-executed
skill (skills/invoke) and a task are requests like tools/call, and
are recorded the same way.</t>
  </dd>
</dl>

</section>
<section anchor="a2a-and-mcp-over-http"><name>A2A and MCP over HTTP</name>

<t>A2A requests and MCP Streamable HTTP requests carry a Trail-Record
field as in <xref target="http-calls"/>. The responder's record is carried in the
response, or, for a streamed response, in the event that completes the
exchange. When the message carries a PACE dialog reference, in MCP
<spanx style="verb">_meta</spanx> or in A2A message metadata, the record carries the same values
in dialog-ref. Records are appended to trails on whichever evidence
plane the deployment uses (<xref target="hybrid"/>).</t>

</section>
</section>
<section anchor="trails"><name>Trails, Checkpoints, and Witnesses</name>

<section anchor="the-trail"><name>The Trail</name>

<t>Each party's trail is a Merkle tree as defined in <xref target="RFC9162"/>. The
leaves are record identifiers, in trail order. The leaf index is the
leaf value in the record's trail-ref. One trail per cell is the
default. An edge MAY run more than one trail, each with its own
trail-id and records track, for example one per tenant.</t>

<t>An edge that loses its trail state MUST start a new trail with a new
trail-id, MUST record a restart record in the new trail that names the
old trail-id and last known checkpoint, and MUST NOT reuse an old
trail-id. A party changes its pseudonym the same way: it starts a new
trail under the new pseudonym, with a restart record that names the
old trail-id, so that witnesses keep the history connected.</t>

</section>
<section anchor="checkpoints"><name>Checkpoints</name>

<t>The last record of every epoch is a checkpoint: an Action Record of
kind checkpoint, signed by the trail's own edge, whose body is a tree
head:</t>

<figure title="Checkpoint body" anchor="fig-tree-head"><sourcecode type="cddl"><![CDATA[
tree-head = [
  trail-id: bstr .size 16,
  tree-size: uint,
  root-hash: bstr,            ; RFC 9162 Merkle tree hash
  ? degraded: [+ uint],       ; leaf indexes of degraded actions
  ? media-seals: [+ uint],    ; leaf indexes of media-seal records
]
]]></sourcecode></figure>

<t>tree-size and root-hash cover every record before the checkpoint. The
checkpoint itself is the leaf at index tree-size, and the next
checkpoint covers it.</t>

<t>A checkpoint is a record made by the trail producer about its own
trail. It is not a COSE Receipt: TRAIL trails are not Transparency
Services, and a party proves inclusion of a record with an <xref target="RFC9162"/>
inclusion proof against a cosigned checkpoint. A witness that also
operates a SCITT Transparency Service MAY additionally register records
and issue COSE Receipts <xref target="RFC9942"/> for them; TRAIL does not depend on
that.</t>

<t>The epoch length is set by policy.</t>

</section>
<section anchor="witnesses"><name>Witnesses</name>

<t>A witness reads a party's trail. For each checkpoint it:</t>

<t><list style="symbols">
  <t>checks that it holds every record up to the checkpoint's tree size,
and fetches any it lacks;</t>
  <t>checks that the new tree is consistent with the last tree head it
cosigned for that trail;</t>
  <t>countersigns the checkpoint with a COSE countersignature <xref target="RFC9338"/>
whose protected header carries CWT Claims with iat, the time of
cosigning; and</t>
  <t>appends a record of kind cosignature to its own trail, whose body is
the countersignature with the trail-id and tree size it covers, and
sends the countersignature to the party as a directed record.</t>
</list></t>

<t>A witness MUST NOT countersign two different roots for the same trail
and tree size. Two such countersignatures are proof that the witness
misbehaved, and two conflicting checkpoints with countersignatures from
different witnesses are proof that the trail's operator equivocated.</t>

<t>A cosignature says more than "the root is consistent". It says that the
witness has received every record in the tree. TRAIL uses this in place
of a separate monitoring lease.</t>

<t>The party copies its latest cosigned checkpoint into its state
snapshot, so that any peer can check it with one subscription or
fetch.</t>

</section>
<section anchor="archives"><name>Archives</name>

<t>MOQT relays are not required to cache. Each deployment MUST name at
least one archive for every witness. An archive reads trails and serves
them by FETCH, or as tiles over HTTP. Witnesses and authorities that
miss records fetch them from an archive. A witness MAY be its own
archive.</t>

</section>
<section anchor="tamper"><name>What Makes Records Tamper-Evident</name>

<t>Five properties together make changes to records detectable:</t>

<t><list style="numbers" type="1">
  <t>Each Action Record is signed by the edge key, so changing any byte
invalidates the signature.</t>
  <t>Each record is a leaf of its trail's Merkle tree, so editing,
removing, inserting, or reordering records changes the root.</t>
  <t>Each checkpoint signs the size and root of the trail, fixing its
history up to that point.</t>
  <t>Witnesses cosign checkpoints and never cosign two roots for the same
size, so a party cannot show different histories to different
readers without producing proof of equivocation.</t>
  <t>A counterparty's acknowledgment cites the hash of the record it
received and is kept in the counterparty's own trail, so a rewritten
record no longer matches what the counterparty holds.</t>
</list></t>

<t>Tamper evidence is not tamper proofing. An edge that is compromised at
signing time produces validly signed false records. The attestation
level bounds how likely that is, and acknowledgments and witnesses
bound how far a false record can go unnoticed.</t>

</section>
</section>
<section anchor="state"><name>State, Directives, and Freshness</name>

<section anchor="snapshots"><name>State Snapshots</name>

<t>A party's state carries its current self-description, its directives
(authorities), and its grants (operators). Each snapshot is a
COSE_Sign1 signed by the party's key. Its protected header is the same
as an Action Record's, with typ <spanx style="verb">application/trail-state+cbor</spanx>. Its
payload is:</t>

<figure title="State snapshot" anchor="fig-state"><sourcecode type="cddl"><![CDATA[
trail-state = {
  1 => uint,                    ; version (1)
  2 => uint,                    ; sequence, always increasing
  3 => uint,                    ; iat
  4 => uint,                    ; exp
  5 => tstr,                    ; WIMSE identifier of the party
  ? 6 => [+ bstr],              ; credentials: WIT, Attestation
                                ;   Result, capability cards
  ? 7 => bstr,                  ; latest cosigned checkpoint (cells)
  ? 8 => [+ directive],         ; directives (authorities)
  ? 9 => [+ bstr],              ; Token Status Lists (issuers)
  ? 10 => [+ grant],            ; grants to authorities (operators)
  * int => any
}

directive = {
  1 => directive-type,
  2 => bstr,                    ; directive id
  3 => selector,                ; what it applies to
  ? 4 => any,                   ; type-specific value
  ? 5 => uint,                  ; not-before
  ? 6 => uint,                  ; not-after
}

directive-type = &(
  policy: 1,            ; value: hash and location of a policy bundle
  hold: 2,              ; stop matching actions; no value
  require-level: 3,     ; value: level, the minimum
  require-witness: 4,   ; value: require-witness, below
  require-gate: 5,      ; value: [+ tstr], the approvers
  require-admission: 6, ; value: tstr, the admission issuer
  freshness-budget: 7,  ; value: freshness-budget, below
  require-record: 8     ; matching calls carry a record; no value
)

level = &( software: 0, tee: 1, isolated: 2 )

selector = {
  ? 1 => [+ bstr],              ; party pseudonyms
  ? 2 => [+ tstr],              ; agent identifiers or prefixes
  ? 3 => [+ kind],              ; record kinds
  ? 4 => [+ uint],              ; action classes (deployment-defined)
  ? 5 => [+ tstr],              ; counterparty identifiers
}

grant = {
  1 => tstr,                    ; authority's WIMSE identifier
  2 => [+ directive-type],      ; directive types it may issue
  3 => selector,                ; the scope it may issue them for
  4 => [+ uint],                ; data classes it may read
  ? 5 => uint,                  ; longest grace period it may allow
}
]]></sourcecode></figure>

<t>A selector matches an action when every member present in it matches.
A member matches when any of its values matches. An absent member
matches everything.</t>

<t>Policy bundles, which can be large, are referenced from directives by
hash. The bundle itself is a record in the authority's trail, and edges
fetch it once. The policy claim of every Action Record is the SHA-256
hash of the deterministically encoded array of
<spanx style="verb">[authority, directive-id]</spanx> pairs for the directives the edge applied,
sorted by their encoding, so "it was allowed" can be checked later.</t>

<t>An authority's directives apply only within the grant its operator
gives it. An edge MUST ignore any directive that falls outside the
issuing authority's grant in the operator's current state snapshot. One
authority therefore cannot stop a whole swarm unless the operator agreed
to that, and the operator's grants are visible to every party that can
read its state.</t>

<t>Holds that apply to a single credential, such as one agent's WIT or one
admission token, SHOULD be expressed as a suspended entry in the
issuer's Token Status List <xref target="OAUTH-STATUS-LIST"/>, carried in the
issuer's state. Revocation is an invalid entry. This uses the same
mechanism that OAuth and WIMSE deployments use for credential status.</t>

<t>An edge MUST record a hold-applied record the first time it stops an
action because of a hold.</t>

</section>
<section anchor="directive-effects"><name>How Directives Act</name>

<t>Directives differ in when they take effect:</t>

<texttable title="How directives act" anchor="tab-directives">
      <ttcol align='left'>Directive</ttcol>
      <ttcol align='left'>Takes effect</ttcol>
      <ttcol align='left'>Effect</ttcol>
      <c>policy</c>
      <c>As soon as the edge holds it</c>
      <c>Matching actions are allowed or denied by the policy bundle</c>
      <c>hold</c>
      <c>As soon as the edge holds it</c>
      <c>Matching actions stop</c>
      <c>require-level, require-admission, require-record</c>
      <c>As soon as the edge holds it</c>
      <c>Calls that do not meet the requirement are refused</c>
      <c>require-gate</c>
      <c>On each matching action</c>
      <c>The action waits for an approval (<xref target="gates"/>)</c>
      <c>freshness-budget</c>
      <c>When the authority's own state gets too old</c>
      <c>Matching action classes stop, or degrade (<xref target="degraded"/>)</c>
      <c>require-witness</c>
      <c>When a required cosignature gets too old</c>
      <c>The edge pauses covered agents, and receivers refuse their calls</c>
</texttable>

</section>
<section anchor="freshness"><name>The Two Freshness Rules</name>

<dl>
  <dt>Downstream freshness (authority to cell):</dt>
  <dd>
    <t>An edge MUST hold, for every authority that has a grant in its
operator's state, a snapshot that is within that authority's
freshness budget for the action class (<xref target="budgets"/>). If it does not,
it MUST NOT perform actions of that class covered by the grant,
except as allowed by degraded mode (<xref target="degraded"/>).</t>
  </dd>
  <dt>Upstream freshness (cell to witness):</dt>
  <dd>
    <t>For every require-witness directive that applies, a cell's latest
checkpoint MUST carry countersignatures from at least k of the named
witnesses, each with an iat no older than the directive's max-age.
If it does not, the edge MUST NOT perform covered actions except as
allowed by degraded mode, and receivers MUST reject calls from that
cell that the directive covers.</t>
  </dd>
</dl>

<t>An authority keeps its snapshot fresh by republishing it, even when
nothing changes. This is the heartbeat, and it proves that the
authority can still reach the edge. A witness keeps a cell fresh by
cosigning its checkpoints. This proves that the witness is still
receiving the cell's trail. An authority that cannot deliver a hold can
stop republishing, and the edge stops on its own once the snapshot ages
out; revocation therefore works when the agent is unreachable.</t>

<t>These two rules replace heartbeats, monitoring leases, checkpoint
deadlines, and maximum staleness bounds. For example, the rule "any
agent calling service Z must be monitored by regulator R" is a
require-witness directive from R, with Z as the counterparty in its
selector. If R stops watching, its cosignatures stop, the callers'
checkpoints age out, and Z's edge rejects their calls.</t>

</section>
<section anchor="budgets"><name>Freshness Budgets per Action Class</name>

<t>Failing closed on every action turns an authority outage or a relay
partition into an outage of the business. Freshness is therefore set
per action class. A freshness-budget directive sets how old the
authority's own snapshot may get, and what happens when it is too old.
A require-witness directive, which can also select action classes,
sets which witnesses must have cosigned, how many of them, and how
recently. Each limit is set in exactly one place:</t>

<figure title="Freshness budget and witness requirement" anchor="fig-budget"><sourcecode type="cddl"><![CDATA[
freshness-budget = {
  1 => uint,                    ; max age of the snapshot
  2 => &( pause: 0, degrade: 1 ),
  ? 3 => uint,                  ; grace period, if degrade
}

require-witness = [             ; require-witness value
  witnesses: [+ tstr],
  k: uint,                      ; how many must have cosigned
  max-age: uint,                ; max age of those cosignatures
]
]]></sourcecode></figure>

<t>When several budgets or witness requirements apply to one action, the
edge MUST apply the strictest. When no budget applies, the snapshot's
exp is the limit and the behavior is pause. When a require-witness
limit is exceeded, the edge uses the behavior and grace period of the
freshness-budget that applies to the same action class, or pause if
there is none.</t>

</section>
<section anchor="degraded"><name>Degraded Mode</name>

<t>An action class whose budget says degrade MAY continue for a bounded
grace period after the budget is exceeded:</t>

<t><list style="symbols">
  <t>The grace period, and the classes allowed to degrade, MUST come from
the last snapshot the edge received while it was fresh, so an
attacker who blocks state cannot widen what continues.</t>
  <t>An operator grant caps the grace period an authority may allow.</t>
  <t>Gated actions and actions covered by a hold never degrade.</t>
  <t>Every degraded action is recorded with outcome degraded, and the next
checkpoint lists them.</t>
  <t>When the grace period ends, the class pauses.</t>
</list></t>

</section>
</section>
<section anchor="gates-etc"><name>Gates, Admission, Disclosure, and Media</name>

<section anchor="gates"><name>Gates</name>

<t>For an action matched by a require-gate directive, the edge holds the
action and:</t>

<t><list style="symbols">
  <t>appends a gate-request record to its trail, whose body is the hash of
the pending call and any redacted context the approver needs; and</t>
  <t>sends the same record to each approver named in the directive, as a
directed record, with disclosures for that approver's classes.</t>
</list></t>

<t>The approver publishes an approval record as a directed record for the
cell, and appends it to its own trail. The approval cites the
gate-request record with a cite of type peer-record and states the
decision. The edge continues only after a valid approval from every
named approver, and its send record cites each approval.</t>

<t>A require-gate selector can cover every action an agent takes. Every
such action then waits for a round trip to the approver, and stops if
the approver cannot be reached, because gated actions never degrade.</t>

<t>The approver can be a person. In that case the approval is signed with
a key bound to that person, for example through an OAuth client or a
platform authenticator, and the approval record names that person in a
redacted claim.</t>

</section>
<section anchor="admission"><name>Admission and Counting</name>

<t>Limits that span many cells, such as "no more than 1,000 live agents in
swarm S", use admission tokens:</t>

<t><list style="symbols">
  <t>The admission issuer is a party. It issues each agent an admission
token: a CWT <xref target="RFC8392"/> with cnf set to the agent's WIT key, a unique
cti, an expiry, and a status claim that points into the issuer's
Token Status List <xref target="OAUTH-STATUS-LIST"/>. The token is sent as a
directed record for the cell.</t>
  <t>The issuer never has more than the cap of valid tokens at once.</t>
  <t>A require-admission directive tells receivers to accept calls only
from agents whose records carry the hash of a valid admission token in
context-hashes.</t>
  <t>When an agent retires, its edge appends an admission-release record.
The issuer then marks the token invalid and can issue a new one.</t>
  <t>Any witness can count live tokens from the issuer's trail, and the
same token cited by two agents shows up in the trails.</t>
</list></t>

<t>Runtime limits use the token's expiry, and the C4M moqt-reval claim
(<xref target="authorization"/>) for relay access. The cap binds only among parties
that check tokens; a server that does not run TRAIL does not refuse
calls without one.</t>

</section>
<section anchor="disclosure"><name>Disclosure on Request</name>

<t>An authority that needs a claim it was not sent proactively sends a
disclosure request as a directed record for the cell. If the authority's
grant covers the claim's data class, the edge answers with disclosures
encrypted to the authority, as a directed record, and appends a
disclosure record to its trail. If it does not, the edge MUST refuse
and MUST record the refusal. Every look at protected data, and every
refused attempt, is therefore itself a witnessed record.</t>

</section>
<section anchor="media"><name>Media Evidence</name>

<t>Agents that see and hear act on media that is already carried on MOQT
tracks. For each media Group the edge publishes, or receives and
forwards to the agent, it computes a Merkle root over the (Object ID,
payload hash) pairs of the Group, and appends a media-seal record that
names the track, the Group, the Object count, and the root.</t>

<t>An Action Record that depended on media cites it with a media-group
cite that names the track, the Group, and the Object count, with the
root as its hash. Changing one frame breaks the link. Inclusion proofs
let a verifier check single frames.</t>

<t>Live media MAY use Datagram Delivery Mode and delivery timeouts.
Evidence checks MUST use complete Groups fetched from an archive.</t>

<t>For approval before playback, each media Group uses its own Secure
Objects key. The publisher sends the key, encrypted with COSE-HPKE, to
the approver as a directed record. When the approver approves, it sends
the key to the entitled viewers as directed records. Nothing plays
before approval, and each release is a record in the approver's trail.</t>

</section>
</section>
<section anchor="identity"><name>Identity, Delegation, and Attestation</name>

<t>TRAIL defines no new credential, token, delegation, or attestation
format:</t>

<texttable title="Existing work used by TRAIL" anchor="tab-reuse">
      <ttcol align='left'>Need</ttcol>
      <ttcol align='left'>Existing work</ttcol>
      <ttcol align='left'>Use in TRAIL</ttcol>
      <c>Workload identity of edges, agents, authorities</c>
      <c>WIMSE workload credentials <xref target="WIMSE-CREDS"/></c>
      <c>kid, iss, sub</c>
      <c>Agent keys held outside the agent</c>
      <c>WIMSE AIMS <xref target="WIMSE-AIMS"/></c>
      <c>The edge holds the agent's WIT key</c>
      <c>Proof bound to presented tokens</c>
      <c>WIMSE Workload Proof Token <xref target="WIMSE-WPT"/></c>
      <c>context-hashes</c>
      <c>Per-request HTTP authentication</c>
      <c>WIMSE HTTP Signatures <xref target="WIMSE-HTTPSIG"/></c>
      <c>HTTP binding</c>
      <c>Principal and delegation chain</c>
      <c>Transaction Tokens <xref target="TXN-TOKENS"/>, Token Exchange <xref target="RFC8693"/></c>
      <c>principal, tth, oth</c>
      <c>Suspension and revocation</c>
      <c>Token Status List <xref target="OAUTH-STATUS-LIST"/></c>
      <c>Holds on credentials, admission tokens</c>
      <c>Sender-constrained access</c>
      <c>DPoP <xref target="RFC9449"/></c>
      <c>C4M tokens, HTTP reads</c>
      <c>Attestation of the edge key</c>
      <c>RATS <xref target="RFC9334"/>, EAR <xref target="RATS-EAR"/></c>
      <c>Attestation levels</c>
      <c>Statements and logs</c>
      <c>SCITT <xref target="RFC9943"/>, <xref target="RFC9162"/>, tlog-tiles <xref target="TLOG-TILES"/></c>
      <c>Record format, trails, HTTP publication</c>
</texttable>

<section anchor="identity-wimse"><name>Identity: WIMSE</name>

<t>WIMSE workload credentials <xref target="WIMSE-CREDS"/> are mandatory to implement.</t>

<t><list style="symbols">
  <t>Each edge, authority, witness, operator, and admission issuer has a
WIMSE identifier and a WIT. The kid of every TRAIL signature is the
thumbprint of the signer's WIT cnf key.</t>
  <t>Each agent has its own WIMSE identifier and WIT. The agent's WIT key
is held by the edge, never by the agent, consistent with
<xref target="WIMSE-AIMS"/>. The record's sub is the agent's identifier and wth is
the hash of the agent's WIT.</t>
  <t>WITs are published in the party's state snapshot. A receiver reads
the sender's state once and then verifies every call from that sender
without further lookups.</t>
</list></t>

<t>The WIMSE architecture <xref target="WIMSE-ARCH"/> requires an intermediary that
changes identity context to make the change explicit and auditable. The
edge acts for the agent, and the Action Record makes that change
explicit.</t>

<t>Other identity schemes, such as X.509 certificates or SPIFFE SVIDs, can
be used through a profile that provides the same four things: a key
bound to an operator and an agent, a link to the principal, an
attestation result for the key, and a status mechanism.</t>

</section>
<section anchor="principal"><name>Principal and Delegation: OAuth</name>

<t>TRAIL does not define a delegation format. The principal and the chain
of delegation are carried by OAuth Transaction Tokens <xref target="TXN-TOKENS"/>,
whose sub, scope, tctx, and rctx claims describe who the call is for,
what it may do, and the context of the originating request, or by an
access token obtained through Token Exchange <xref target="RFC8693"/> with its act
chain. Fine-grained permissions can use Rich Authorization Requests
<xref target="RFC9396"/>.</t>

<t>Every record for an action taken on behalf of a principal MUST bind
both the principal and the delegation chain: member 12 identifies the
principal, usually redacted, and tth or oth carries the hash of the
token that conveys the delegation. The token itself travels in the
application message, for example in a PACE dialog's credentials, in
MCP _meta, or in an HTTP header. The Transaction Token's txn value
SHOULD be recorded, so that evidence and the operator's own transaction
logs can be correlated.</t>

</section>
<section anchor="capability-sd-card"><name>Capability: SD-Card</name>

<t>An agent's capability card, for example an SD-Card <xref target="SD-CARD"/>, says
what the agent claims it can do. TRAIL uses it as follows:</t>

<t><list style="symbols">
  <t>The card's cnf key SHOULD be the agent's WIT key. One key then covers
discovery, workload authentication, relay authorization, and
evidence.</t>
  <t>The issuer-signed card, with only its public disclosures and no key
binding JWT, MAY be included in the cell's state snapshot.</t>
  <t>Context-specific disclosures and the key binding JWT are
per-verifier. They MUST travel inside the dialog, bound to the peer's
nonce (<xref target="pace"/>), not on a cached track.</t>
  <t>An Action Record records the sd_hash of the presentation the
counterparty relied on in sdh.</t>
</list></t>

</section>
<section anchor="attestation"><name>Attestation: RATS</name>

<t>The attestation level (<xref target="tab-levels"/>) of an edge key MUST come from an
Attestation Result <xref target="RFC9334"/> produced by a verifier the receiver
trusts, bound to the edge's WIT key, for example as in
<xref target="WIMSE-ATTEST"/>. An EAT Attestation Result <xref target="RATS-EAR"/> <xref target="RFC9711"/>
wrapped in a Conceptual Message Wrapper <xref target="RFC9999"/> is RECOMMENDED.
Trustworthiness claims <xref target="RATS-AR4SI"/> map to levels by deployment
policy. The Attestation Result is included in the edge's state snapshot
and refreshed before it expires. An edge MUST NOT state its own level.</t>

</section>
</section>
<section anchor="authorization"><name>Authorization</name>

<section anchor="publishing"><name>Publishing</name>

<t>Every party authenticates with a token bound with DPoP <xref target="RFC9449"/> to
its WIT key: over MOQT, a C4M token <xref target="MoQ-C4M"/> whose cnf.jkt is the
thumbprint of the WIT key; over HTTP, an OAuth access token. One rule
covers publishing: a party may publish only its own trail, its own
state, and directed records it sends. Over MOQT, its token grants
PUBLISH_NAMESPACE and PUBLISH only under its own prefix
("trail", S, P).</t>

</section>
<section anchor="read-access"><name>Reading Trails and State</name>

<t>Trails, state, and directed records are not public. Only authorized
parties read them, and directed records only by their recipient. Each
swarm has an authorization server that issues the tokens for reading
its trails and state. How a swarm names it is an open issue
(<xref target="open-issues"/>). That authorization server SHOULD NOT be
controlled by any single operator whose cells it covers, so that the
operator cannot choose who oversees it. Every authority that holds a
grant from an operator in the swarm, and every witness named in a
require-witness directive, MUST be able to obtain read access to the
trails and state it needs.</t>

<texttable title="Read access per role" anchor="tab-scopes">
      <ttcol align='left'>Role</ttcol>
      <ttcol align='left'>Reads</ttcol>
      <c>Cell edge</c>
      <c>State of its authorities, operator, and peers; directed records addressed to it</c>
      <c>Authority, witness</c>
      <c>Trails and state under ("trail", S), or of the parties in its grant; directed records addressed to it</c>
      <c>Archive</c>
      <c>The trails and state it stores</c>
</texttable>

<t>In C4M terms, a cell edge with pseudonym P gets a scope with actions
PUBLISH_NAMESPACE and PUBLISH and namespace match <spanx style="verb">["trail", S, P]</spanx>,
and a second scope with action SUBSCRIBE and track match on its own
pseudonym under the to namespaces of its authorities. MOQT does not copy
authorization tokens from SUBSCRIBE_TRACKS into the PUBLISH messages it
produces, so a relay MUST check each forwarded PUBLISH against the
scope of the token presented with the SUBSCRIBE_TRACKS.</t>

</section>
<section anchor="relays"><name>Relays</name>

<t>Relays are not trusted for TRAIL's guarantees, but they can help
enforce them:</t>

<t><list style="symbols">
  <t>C4M tokens for agents SHOULD carry moqt-reval and a status claim that
refers to the issuer's Token Status List. A relay that revalidates
then stops forwarding for a suspended agent, which adds a
network-level kill switch to the edge's own.</t>
  <t>An edge relay can check that call Objects carry TRAIL_RECORD. It
cannot verify the record. A C4M claim that requires a given Property
on every published Object would let relays enforce presence
(<xref target="open-issues"/>).</t>
</list></t>

<t>C4M and DPoP authenticate sessions and actions hop by hop. The Action
Record authenticates the content of each action end to end. They are
complementary and use the same key.</t>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>RFC Editor: please remove this section before publication.</t>

<t>This section follows <xref target="RFC7942"/>. No implementation is reported in this
version. <xref target="open-issues"/> lists the measurements the authors intend to
publish.</t>

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

<t>This section follows <xref target="RFC3552"/>.</t>

<section anchor="sources-of-the-guarantees"><name>Sources of the Guarantees</name>

<texttable title="Sources of TRAIL guarantees" anchor="tab-guarantees">
      <ttcol align='left'>Guarantee</ttcol>
      <ttcol align='left'>Comes from</ttcol>
      <ttcol align='left'>Not from</ttcol>
      <c>Origin</c>
      <c>Record signature by an edge key with an Attestation Result</c>
      <c>TLS, which covers one hop; Secure Objects, whose keys are shared</c>
      <c>Integrity and binding</c>
      <c>Signature over trail-ref and call-ref</c>
      <c>Relay or proxy behavior</c>
      <c>Completeness</c>
      <c>Merkle trail, dense Object IDs, witness cosignatures</c>
      <c>Relay delivery or caching</c>
      <c>Non-equivocation</c>
      <c>Witnesses that refuse to cosign conflicting roots</c>
      <c>The operator</c>
      <c>Liveness of oversight</c>
      <c>The two freshness rules</c>
      <c>Relay heartbeats</c>
      <c>Confidentiality of claims</c>
      <c>SD-CWT redaction and COSE-HPKE to each recipient</c>
      <c>Namespace access control</c>
      <c>Access at the edge</c>
      <c>C4M or OAuth with DPoP</c>
      <c>Hop-by-hop enforcement beyond the first relay</c>
</texttable>

</section>
<section anchor="parties-and-threats"><name>Parties and Threats</name>

<dl>
  <dt>Agent:</dt>
  <dd>
    <t>Can ask to act. Cannot sign, reach the network except through the
edge (subject to <xref target="bypass"/>), or skip policy.</t>
  </dd>
  <dt>Operator:</dt>
  <dd>
    <t>Runs cells and chooses relays. Cannot edit records after the fact or
show different histories to different witnesses without producing
proof of equivocation. Cannot quietly stop publishing, because
checkpoints stop being cosigned and the freshness rules pause the
cell. Can choose which authorities to grant; that choice is itself in
the operator's signed state.</t>
  </dd>
  <dt>Relay or proxy:</dt>
  <dd>
    <t>Can route, cache, delay, or drop messages, and can change mutable
Properties. Cannot forge records or move them, and dropped records
show up as gaps. An HTTP proxy can drop the Trail-Record field; under
require-record the receiver then refuses the call.</t>
  </dd>
  <dt>Authority:</dt>
  <dd>
    <t>Can read its granted classes and issue directives within its grant.
Cannot read other classes, because disclosures are encrypted
to each recipient. Cannot act outside its grant.</t>
  </dd>
  <dt>Hardware root:</dt>
  <dd>
    <t>Vouches for the keys of tee and isolated edges. It is the one root
that every party must trust. Deployments SHOULD accept roots from
more than one vendor.</t>
  </dd>
</dl>

</section>
<section anchor="shared-keys"><name>Shared Keys</name>

<t>Secure Objects keys are shared by a track's publisher and subscribers,
so any key holder can produce Objects that decrypt. TRAIL never relies
on them for origin. Disclosures use public-key encryption to each
recipient, so authorities cannot forge disclosures for each other.</t>

</section>
<section anchor="replay"><name>Replay</name>

<t>A replayed call carries a record identifier the receiver has already
accepted. Receivers MUST keep the identifiers they accept for at least
the maximum record age they allow, and reject repeats for actions that
are not idempotent. Over HTTP, receivers MUST also reject a created
value outside their allowed clock skew. Even when a replay is not
caught, the call-ref binding means it can only reproduce the same call.
As PACE requires for its control messages, an edge MUST NOT send a
call that is not idempotent in QUIC 0-RTT data.</t>

</section>
<section anchor="dos"><name>Denial of Service</name>

<t>The freshness rules let an attacker who can block state or
cosignatures, or an outage of an authority, a witness, or a relay,
pause agents. The edge cannot tell an outage from an attack. TRAIL
limits the damage instead: freshness budgets are set per action class
(<xref target="budgets"/>), so an outage first stops high-impact actions; degraded
mode (<xref target="degraded"/>) lets classes the last fresh snapshot allowed
continue for a bounded grace period, recorded for later review; and an
operator grant bounds how much any one authority can stop. Deployments
SHOULD provide redundant relay paths for state and directed records,
SHOULD use more than one witness with a k-of-n rule, and SHOULD test
each action class under the loss of each authority and witness. Prefix
subscriptions near the root of the namespace can cause large numbers of
PUBLISH messages, and relays SHOULD limit them through authorization.</t>

</section>
<section anchor="bypass"><name>Bypass</name>

<t>Everything in TRAIL depends on the edge seeing every call. At the
software level, an agent that escapes its sandbox, or a compromised
host, can go around the edge. At the tee level, the key is protected,
but an agent that escapes into the confidential VM can still go around
an edge that runs inside it. Only at the isolated level does hardware
in the network path see every packet. Receivers enforce the core rule
inbound, so a call that bypassed the edge is refused by every TRAIL
peer; bypass reaches only endpoints that do not run TRAIL. Authorities
can require the isolated level for high-impact action classes with
require-level.</t>

</section>
<section anchor="limits"><name>Limits</name>

<t>TRAIL defines no way to judge whether an action is safe. An authority
judges with its own tools and acts through TRAIL: a gate before the
action, a policy at the edge as it happens, or a hold afterwards. It
sees content only through disclosures its grant covers. A signed,
approved message can still carry an injection. Covert channels through
timing, patterns in ordinary output, or public content are not blocked
and can only be found by audit. Interfaces through which a hardware
enforcement point exposes its signing key are not standardized.</t>

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

<t>A system that can prove what every agent did can also show what every
person using those agents did. TRAIL follows <xref target="RFC6973"/> and limits
this:</t>

<t><list style="symbols">
  <t>TRAIL namespaces and resource paths contain only pseudonyms, which
a party rotates by starting a new trail (<xref target="trails"/>). WIMSE
identifiers, dialog identifiers, and principals appear in TRAIL only
inside signed payloads, and sensitive claims are redacted. Dialog
identifiers that a binding such as PACE puts in its own track names
are covered by that binding's privacy rules.</t>
  <t>Trails and state are readable only by authorized parties
(<xref target="read-access"/>).</t>
  <t>Authority rules run in the cell as directives, rather than on copies
of the data.</t>
  <t>Disclosures go only to authorities entitled to a class, encrypted to
each, and every disclosure is itself a record in the trail.</t>
  <t>Disclosure keys and archived disclosures SHOULD be tied to a purpose
and a retention period, and destroyed when it ends.</t>
  <t>Publishers SHOULD pad records to limit size analysis.</t>
</list></t>

<t>Redacted records are still visible in full to every party that can
read the trail, so their unredacted claims, kinds, timing, and sizes,
and the pattern of who talks to whom, remain visible to those readers
and to relays and proxies. Deployments SHOULD redact every claim that
is not needed by all readers.</t>

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

<section anchor="http-field-name"><name>HTTP Field Name</name>

<t>IANA is requested to register Trail-Record in the "Hypertext Transfer
Protocol (HTTP) Field Name Registry" with status permanent, structured
type Item, and this document as reference.</t>

</section>
<section anchor="moq-properties"><name>MOQ Properties</name>

<t>IANA is requested to register the following entry in the "MOQ
Properties" registry. Until a value is assigned, implementations can
use a value from the application-specific range 0x3800 to 0x3FFF.</t>

<texttable title="MOQ Property" anchor="tab-iana-moq">
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Scope</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>TBD1 (odd)</c>
      <c>TRAIL_RECORD</c>
      <c>Object</c>
      <c>This document</c>
</texttable>

</section>
<section anchor="media-types"><name>Media Types</name>

<t>IANA is requested to register <spanx style="verb">application/trail-record+cbor</spanx> and
<spanx style="verb">application/trail-state+cbor</spanx> in the "Media Types" registry, with
the following template for each:</t>

<dl>
  <dt>Type name:</dt>
  <dd>
    <t>application</t>
  </dd>
  <dt>Subtype names:</dt>
  <dd>
    <t>trail-record+cbor; trail-state+cbor</t>
  </dd>
  <dt>Required and optional parameters:</dt>
  <dd>
    <t>none</t>
  </dd>
  <dt>Encoding considerations:</dt>
  <dd>
    <t>binary (CBOR)</t>
  </dd>
  <dt>Security considerations:</dt>
  <dd>
    <t>see <xref target="security-considerations"/></t>
  </dd>
  <dt>Interoperability considerations:</dt>
  <dd>
    <t>none</t>
  </dd>
  <dt>Published specification:</dt>
  <dd>
    <t>this document</t>
  </dd>
  <dt>Applications that use this media type:</dt>
  <dd>
    <t>TRAIL edges, authorities, witnesses, and verifiers</t>
  </dd>
  <dt>Fragment identifier considerations:</dt>
  <dd>
    <t>as for application/cbor</t>
  </dd>
  <dt>Change controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
</dl>

</section>
<section anchor="trail-registries"><name>TRAIL Registries</name>

<t>IANA is requested to create the registries "TRAIL Record Kinds",
"TRAIL Outcomes", "TRAIL Call Reference Types", "TRAIL Directive
Types", "TRAIL Cite Types", "TRAIL Record Members", "TRAIL State
Members", "TRAIL Context Hash Members", and "TRAIL Selector Members",
with the initial values in <xref target="fig-record"/> and <xref target="fig-state"/> and a
Specification Required policy. The member registries cover the
integer keys of the trail-record, trail-state, context-hashes, and
selector maps, so that extensions do not collide.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

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



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC8610">
  <front>
    <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="C. Vigano" initials="C." surname="Vigano"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <date month="June" year="2019"/>
    <abstract>
      <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8610"/>
  <seriesInfo name="DOI" value="10.17487/RFC8610"/>
</reference>
<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>
<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>
<reference anchor="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>
<reference anchor="RFC9162">
  <front>
    <title>Certificate Transparency Version 2.0</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="E. Messeri" initials="E." surname="Messeri"/>
    <author fullname="R. Stradling" initials="R." surname="Stradling"/>
    <date month="December" year="2021"/>
    <abstract>
      <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9162"/>
  <seriesInfo name="DOI" value="10.17487/RFC9162"/>
</reference>
<reference anchor="RFC9338">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Countersignatures</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="December" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. CBOR Object Signing and Encryption (COSE) defines a set of security services for CBOR. This document defines a countersignature algorithm along with the needed header parameters and CBOR tags for COSE. This document updates RFC 9052.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9338"/>
  <seriesInfo name="DOI" value="10.17487/RFC9338"/>
</reference>
<reference anchor="RFC9421">
  <front>
    <title>HTTP Message Signatures</title>
    <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
    <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
    <author fullname="M. Sporny" initials="M." surname="Sporny"/>
    <date month="February" year="2024"/>
    <abstract>
      <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9421"/>
  <seriesInfo name="DOI" value="10.17487/RFC9421"/>
</reference>
<reference anchor="RFC9449">
  <front>
    <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
    <author fullname="D. Fett" initials="D." surname="Fett"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="D. Waite" initials="D." surname="Waite"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9449"/>
  <seriesInfo name="DOI" value="10.17487/RFC9449"/>
</reference>
<reference anchor="RFC9530">
  <front>
    <title>Digest Fields</title>
    <author fullname="R. Polli" initials="R." surname="Polli"/>
    <author fullname="L. Pardue" initials="L." surname="Pardue"/>
    <date month="February" year="2024"/>
    <abstract>
      <t>This document defines HTTP fields that support integrity digests. The Content-Digest field can be used for the integrity of HTTP message content. The Repr-Digest field can be used for the integrity of HTTP representations. Want-Content-Digest and Want-Repr-Digest can be used to indicate a sender's interest and preferences for receiving the respective Integrity fields.</t>
      <t>This document obsoletes RFC 3230 and the Digest and Want-Digest HTTP fields.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9530"/>
  <seriesInfo name="DOI" value="10.17487/RFC9530"/>
</reference>
<reference anchor="RFC9596">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) "typ" (type) Header Parameter</title>
    <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
    <author fullname="O. Steele" initials="O." surname="Steele"/>
    <date month="June" year="2024"/>
    <abstract>
      <t>This specification adds the equivalent of the JSON Object Signing and Encryption (JOSE) "typ" (type) header parameter to CBOR Object Signing and Encryption (COSE). This enables the benefits of explicit typing (as defined in RFC 8725, "JSON Web Token Best Current Practices") to be brought to COSE objects. The syntax of the COSE type header parameter value is the same as the existing COSE content type header parameter.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9596"/>
  <seriesInfo name="DOI" value="10.17487/RFC9596"/>
</reference>
<reference anchor="RFC9597">
  <front>
    <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
    <author fullname="T. Looker" initials="T." surname="Looker"/>
    <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
    <date month="June" year="2024"/>
    <abstract>
      <t>This document describes how to include CBOR Web Token (CWT) claims in the header parameters of any CBOR Object Signing and Encryption (COSE) structure. This functionality helps to facilitate applications that wish to make use of CWT claims in encrypted COSE structures and/or COSE structures featuring detached signatures, while having some of those claims be available before decryption and/or without inspecting the detached payload. Another use case is using CWT claims with payloads that are not CWT Claims Sets, including payloads that are not CBOR at all.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9597"/>
  <seriesInfo name="DOI" value="10.17487/RFC9597"/>
</reference>
<reference anchor="RFC9651">
  <front>
    <title>Structured Field Values for HTTP</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
    <date month="September" year="2024"/>
    <abstract>
      <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields.</t>
      <t>This document obsoletes RFC 8941.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9651"/>
  <seriesInfo name="DOI" value="10.17487/RFC9651"/>
</reference>
<reference anchor="RFC9943">
  <front>
    <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
    <author fullname="C. Fournet" initials="C." surname="Fournet"/>
    <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
    <author fullname="S. Lasker" initials="S." surname="Lasker"/>
    <date month="June" year="2026"/>
    <abstract>
      <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9943"/>
  <seriesInfo name="DOI" value="10.17487/RFC9943"/>
</reference>

<reference anchor="MoQ-TRANSPORT">
   <front>
      <title>Media over QUIC Transport</title>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
         <organization>Google</organization>
      </author>
      <author fullname="Ian Swett" initials="I." surname="Swett">
         <organization>Google</organization>
      </author>
      <author fullname="Alan Frindell" initials="A." surname="Frindell">
         <organization>Meta</organization>
      </author>
      <date day="1" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines Media over QUIC Transport (MOQT), a publish/
   subscribe protocol that runs over QUIC and WebTransport.  MOQT
   leverages the features of these transports, such as streams,
   datagrams, priorities, and partial reliability.  MOQT operates both
   point-to-point and through intermediate relays, enabling scalable
   low-latency delivery.  Despite its name, MOQT is media agnostic and
   can be used for a wide range of use cases.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-22"/>
   
</reference>

<reference anchor="MoQ-C4M">
   <front>
      <title>Authorization scheme for MOQT using Common Access Tokens</title>
      <author fullname="Will Law" initials="W." surname="Law">
         <organization>Akamai</organization>
      </author>
      <author fullname="Chris Lemmons" initials="C." surname="Lemmons">
         <organization>Comcast</organization>
      </author>
      <author fullname="Gwendal Simon" initials="G." surname="Simon">
         <organization>Synamedia</organization>
      </author>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <date day="18" month="June" year="2026"/>
      <abstract>
	 <t>   A token-based authorization scheme for use with Media Over QUIC
   Transport.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-moq-c4m-01"/>
   
</reference>

<reference anchor="MoQ-SECOBJ">
   <front>
      <title>End-to-End Secure Objects for Media over QUIC Transport</title>
      <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
         <organization>Cisco</organization>
      </author>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <author fullname="Richard Barnes" initials="R." surname="Barnes">
         <organization>Cisco</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   This document specifies an end-to-end authenticated encryption scheme
   for application objects transmitted via Media over QUIC (MoQ)
   Transport.  The scheme enables original publishers that share a
   symmetric key with end subscribers, to ensuring that MoQ relays are
   unable to decrypt object contents.  Additionally, subscribers can
   verify the integrity and authenticity of received objects, confirming
   that the content has not been modified in transit.  Additionally it
   allows MoQ parameters to be protected so the publisher can select if
   they are readable and/or modifiable by relays.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-moq-secure-objects-01"/>
   
</reference>

<reference anchor="OAUTH-STATUS-LIST">
   <front>
      <title>Token Status List (TSL)</title>
      <author fullname="Tobias Looker" initials="T." surname="Looker">
         <organization>MATTR</organization>
      </author>
      <author fullname="Paul Bastian" initials="P." surname="Bastian">
         <organization>Bundesdruckerei</organization>
      </author>
      <author fullname="Christian Bormann" initials="C." surname="Bormann">
         <organization>SPRIND</organization>
      </author>
      <date day="21" month="June" year="2026"/>
      <abstract>
	 <t>   This specification defines a status mechanism called Token Status
   List (TSL), data structures and processing rules for representing the
   status of tokens secured by JSON Object Signing and Encryption (JOSE)
   or CBOR Object Signing and Encryption (COSE), such as JWT, SD-JWT,
   CBOR Web Token, and ISO mdoc.  It also defines an extension point and
   a registry for future status mechanisms.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-21"/>
   
</reference>

<reference anchor="SD-CWT">
   <front>
      <title>Selective Disclosure CBOR Web Tokens (SD-CWT)</title>
      <author fullname="Michael Prorock" initials="M." surname="Prorock">
         <organization>mesur.io</organization>
      </author>
      <author fullname="Orie Steele" initials="O." surname="Steele">
         <organization>Tradeverifyd</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Rohan Mahy" initials="R." surname="Mahy">
         </author>
      <date day="30" month="October" year="2026"/>
      <abstract>
	 <t>   This specification describes a data minimization technique for use
   with CBOR Web Tokens (CWTs).  The approach is inspired by the
   Selective Disclosure JSON Web Token (SD-JWT), with changes to align
   with CBOR Object Signing and Encryption (COSE) and CWTs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-spice-sd-cwt-09"/>
   
</reference>

<reference anchor="COSE-HPKE">
   <front>
      <title>Use of Hybrid Public-Key Encryption (HPKE) with CBOR Object Signing and Encryption (COSE)</title>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         <organization>University of the Bundeswehr Munich</organization>
      </author>
      <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
         <organization>Self-Issued Consulting</organization>
      </author>
      <author fullname="Orie Steele" initials="O." surname="Steele">
         <organization>Tradeverifyd</organization>
      </author>
      <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
         <organization>bibital LLC</organization>
      </author>
      <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
         <organization>Security Theory LLC</organization>
      </author>
      <date day="12" month="September" year="2026"/>
      <abstract>
	 <t>   This specification defines hybrid public-key encryption (HPKE) for
   use with CBOR Object Signing and Encryption (COSE).  HPKE offers a
   variant of public-key encryption of arbitrary-sized plaintexts for a
   recipient public key.

   HPKE is a general encryption framework utilizing an asymmetric key
   encapsulation mechanism (KEM), a key derivation function (KDF), and
   an Authenticated Encryption with Associated Data (AEAD) algorithm.

   This document defines the use of HPKE with COSE.  Authentication for
   HPKE in COSE is provided by COSE-native security mechanisms or by the
   pre-shared key authenticated variant of HPKE.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-27"/>
   
</reference>

<reference anchor="WIMSE-CREDS">
   <front>
      <title>WIMSE Workload Credentials</title>
      <author fullname="Brian Campbell" initials="B." surname="Campbell">
         <organization>Ping Identity</organization>
      </author>
      <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
         <organization>Palo Alto Networks</organization>
      </author>
      <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
         <organization>Defakto Security</organization>
      </author>
      <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
         <organization>Independent</organization>
      </author>
      <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
         <organization>Zscaler</organization>
      </author>
      <date day="30" month="October" year="2026"/>
      <abstract>
	 <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones up to complex multi-service, multi-cloud, multi-
   tenant deployments.

   This document defines the credentials that workloads use to represent
   their identity.  They can be used in various protocols to
   authenticate workloads to each other.  To use these credentials,
   workloads must provide proof of possession of the associated private
   key material, which is covered in other documents.  This document
   focuses on the credentials alone, independent of the proof-of-
   possession mechanism.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-03"/>
   
</reference>

<reference anchor="WIMSE-HTTPSIG">
   <front>
      <title>WIMSE Workload-to-Workload Authentication with HTTP Signatures</title>
      <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
         <organization>Palo Alto Networks</organization>
      </author>
      <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
         <organization>Independent</organization>
      </author>
      <date day="20" month="October" year="2026"/>
      <abstract>
	 <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones to complex multi-service, multi-cloud, multi-tenant
   deployments.  This document defines one of the mechanisms to provide
   workload authentication, using HTTP Signatures.  While only
   applicable to HTTP traffic, the protocol provides end-to-end
   protection of requests (and optionally, responses), even when service
   traffic is not end-to-end encrypted, that is, when TLS proxies and
   load balancers are used.  Authentication is based on the Workload
   Identity Token (WIT).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-http-signature-08"/>
   
</reference>

<reference anchor="TXN-TOKENS">
   <front>
      <title>Transaction Tokens</title>
      <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
         <organization>CrowdStrike</organization>
      </author>
      <author fullname="George Fletcher" initials="G." surname="Fletcher">
         <organization>Practical Identity LLC</organization>
      </author>
      <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
         <organization>Defakto Security</organization>
      </author>
      <date day="30" month="July" year="2026"/>
      <abstract>
	 <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity, workload identity and authorization context
   throughout the Call Chain within a trusted domain during the
   processing of external requests (e.g. such as API calls) or requests
   initiated internally within the Trust Domain.  Txn-Tokens ensure that
   this context is preserved throughout the Call Chain thereby enhancing
   security and consistency in complex, multi-service architectures.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
   
</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="RFC8392">
  <front>
    <title>CBOR Web Token (CWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8392"/>
  <seriesInfo name="DOI" value="10.17487/RFC8392"/>
</reference>

<reference anchor="RATS-EAR">
   <front>
      <title>EAT Attestation Results</title>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>NVIDIA</organization>
      </author>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco</organization>
      </author>
      <author fullname="Sergei Trofimov" initials="S." surname="Trofimov">
         <organization>Arm Limited</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <date day="2" month="November" year="2026"/>
      <abstract>
	 <t>   This document defines the EAT Attestation Result (EAR) message
   format.

   EAR is used by a verifier to encode the result of the appraisal over
   an attester&#x27;s evidence.  It embeds an AR4SI&#x27;s &quot;trustworthiness
   vector&quot; to present a normalized view of the evaluation results, thus
   easing the task of defining and computing authorization policies by
   relying parties.  Alongside the trustworthiness vector, EAR provides
   contextual information bound to the appraisal process.  This allows a
   relying party (or an auditor) to reconstruct the frame of reference
   in which the trustworthiness vector was originally computed.  EAR
   supports simple devices with one attester as well as composite
   devices that are made of multiple attesters, allowing the state of
   each attester to be separately examined.  EAR can also accommodate
   registered and unregistered extensions.  It can be serialized and
   protected using either CWT or JWT.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-05"/>
   
</reference>

<reference anchor="TLOG-TILES" target="https://c2sp.org/tlog-tiles">
  <front>
    <title>Static asset-based transparency log</title>
    <author >
      <organization>C2SP</organization>
    </author>
    <date />
  </front>
</reference>
<reference anchor="TLOG-CHECKPOINT" target="https://c2sp.org/tlog-checkpoint">
  <front>
    <title>Interoperable transparency log signed tree heads</title>
    <author >
      <organization>C2SP</organization>
    </author>
    <date />
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC3552">
  <front>
    <title>Guidelines for Writing RFC Text on Security Considerations</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="B. Korver" initials="B." surname="Korver"/>
    <date month="July" year="2003"/>
    <abstract>
      <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="72"/>
  <seriesInfo name="RFC" value="3552"/>
  <seriesInfo name="DOI" value="10.17487/RFC3552"/>
</reference>
<reference anchor="RFC6973">
  <front>
    <title>Privacy Considerations for Internet Protocols</title>
    <author fullname="A. Cooper" initials="A." surname="Cooper"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="B. Aboba" initials="B." surname="Aboba"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="J. Morris" initials="J." surname="Morris"/>
    <author fullname="M. Hansen" initials="M." surname="Hansen"/>
    <author fullname="R. Smith" initials="R." surname="Smith"/>
    <date month="July" year="2013"/>
    <abstract>
      <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6973"/>
  <seriesInfo name="DOI" value="10.17487/RFC6973"/>
</reference>
<reference anchor="RFC8693">
  <front>
    <title>OAuth 2.0 Token Exchange</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
    <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
    <date month="January" year="2020"/>
    <abstract>
      <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8693"/>
  <seriesInfo name="DOI" value="10.17487/RFC8693"/>
</reference>

<reference anchor="MCP-MOQT">
   <front>
      <title>Model Context Protocol and Agent Skills over Media over QUIC Transport</title>
      <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
         <organization>Cisco</organization>
      </author>
      <author fullname="Ian Swett" initials="I." surname="Swett">
         <organization>Google</organization>
      </author>
      <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
         <organization>Five9</organization>
      </author>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <date day="1" month="November" year="2026"/>
      <abstract>
	 <t>   This document defines how to use Media over QUIC Transport (MOQT) as
   the underlying transport protocol for the Model Context Protocol
   (MCP).  MCP enables integration between language model applications
   and external data sources and tools.  MOQT provides publish-subscribe
   delivery over QUIC and WebTransport with native prioritization, relay
   caching, and multiplexing.

   This specification maps MCP messages onto MOQT objects and tracks.
   It covers MCP&#x27;s tools, resources, prompts, multi round-trip requests,
   and the Tasks extension, and it uses MOQT relays to cache content
   that MCP marks as public across clients and to let a response outlive
   the connection that carried its request.

   The document also describes Agent Skills, composed instructions that
   extend AI capabilities beyond atomic tool operations, using
   progressive loading aligned with MOQT&#x27;s object-based delivery.  The
   same tracks can run standalone or inside a dialog of the Protocol for
   Agent Communication Exchange (PACE).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-jennings-agentproto-mcp-over-moqt-01"/>
   
</reference>

<reference anchor="PACE">
   <front>
      <title>PACE: Protocol for Agent Communication Exchange</title>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
         <organization>Cisco Systems</organization>
      </author>
      <date day="1" month="November" year="2026"/>
      <abstract>
	 <t>   This document defines the Protocol for Agent Communication Exchange
   (PACE), an agentic dialog management protocol with a binding to Media
   over QUIC Transport (MOQT).  A dialog is the correlated sequence of
   interactions between two or more participants over the course of a
   task.  PACE defines a transport-independent dialog context and
   control operations to establish, modify, and terminate dialogs and to
   revoke propagation relationships.  It specifies how that context
   stays coherent across intermediaries, trust boundaries, modality
   changes, and interruptions, and how it is carried over MOQT.  PACE
   does not interpret or define dialog content.  Over MOQT, a dialog can
   combine text, audio, video, and request/response exchanges in point-
   to-point, point-to-multipoint, and multi-party topologies.
   Application-layer agent protocols such as A2A, MCP, and AutoGen keep
   their own message formats and carry the dialog context through their
   own extension points.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-nandakumar-agentproto-pace-00"/>
   
</reference>
<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>
<reference anchor="RFC9396">
  <front>
    <title>OAuth 2.0 Rich Authorization Requests</title>
    <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
    <author fullname="J. Richer" initials="J." surname="Richer"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <date month="May" year="2023"/>
    <abstract>
      <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9396"/>
  <seriesInfo name="DOI" value="10.17487/RFC9396"/>
</reference>
<reference anchor="RFC9711">
  <front>
    <title>The Entity Attestation Token (EAT)</title>
    <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
    <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
    <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
    <author fullname="C. Wallace" initials="C." surname="Wallace"/>
    <date month="April" year="2025"/>
    <abstract>
      <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
      <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9711"/>
  <seriesInfo name="DOI" value="10.17487/RFC9711"/>
</reference>
<reference anchor="RFC9999">
  <front>
    <title>Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="T. Fossati" initials="T." surname="Fossati"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="July" year="2026"/>
    <abstract>
      <t>The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions. Conceptual messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details. The initial set of conceptual messages is defined in Section 8 of RFC 9334 and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages. It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
      <t>Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates. Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
      <t>The goal is to improve the interoperability and flexibility of remote attestation protocols. Introducing a shared message format such as CMW enables consistent support for different attestation message types, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9999"/>
  <seriesInfo name="DOI" value="10.17487/RFC9999"/>
</reference>

<reference anchor="RATS-AR4SI">
   <front>
      <title>Attestation Results for Secure Interactions</title>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
         <organization>MIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>NVIDIA</organization>
      </author>
      <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
         <organization>Intel</organization>
      </author>
      <date day="30" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-11"/>
   
</reference>

<reference anchor="WIMSE-ARCH">
   <front>
      <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
      <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
         <organization>Palo Alto Networks</organization>
      </author>
      <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
         <organization>Zscaler</organization>
      </author>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         <organization>University of the Bundeswehr Munich</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as
   software executing for a specific purpose, potentially comprising one
   or more running instances.  This document discusses an architecture
   for designing and standardizing protocols and payloads for conveying
   workload identity and security context information.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
   
</reference>

<reference anchor="WIMSE-WPT">
   <front>
      <title>WIMSE Workload Proof Token</title>
      <author fullname="Brian Campbell" initials="B." surname="Campbell">
         <organization>Ping Identity</organization>
      </author>
      <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
         <organization>Defakto Security</organization>
      </author>
      <date day="27" month="August" year="2026"/>
      <abstract>
	 <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from basic
   deployments to complex multi-service, multi-cloud, multi-tenant
   systems.  This document specifies the Workload Proof Token (WPT), a
   mechanism for workloads to prove possession of the private key
   associated with a Workload Identity Token (WIT).  The WPT is a signed
   JWT that binds the workload&#x27;s authentication to a specific HTTP
   request, providing application-layer proof of possession for
   workload-to-workload communication.  This specification is designed
   to work alongside the WIT credential format defined in draft-ietf-
   wimse-workload-creds and can be combined with other WIMSE protocols
   in multi-hop call chains.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-02"/>
   
</reference>

<reference anchor="WIMSE-AIMS">
   <front>
      <title>AI Identity Management System</title>
      <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
         <organization>Defakto Security</organization>
      </author>
      <author fullname="Jeff Lombardo" initials="J." surname="Lombardo">
         <organization>AWS</organization>
      </author>
      <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
         <organization>Zscaler</organization>
      </author>
      <author fullname="Brian Campbell" initials="B." surname="Campbell">
         <organization>Ping Identity</organization>
      </author>
      <author fullname="Nick Steele" initials="N." surname="Steele">
         <organization>OpenAI</organization>
      </author>
      <author fullname="Aaron Parecki" initials="A." surname="Parecki">
         <organization>Okta</organization>
      </author>
      <date day="2" month="November" year="2026"/>
      <abstract>
	 <t>   This document proposes best practices for authentication and
   authorization of AI agent interactions.  It leverages existing
   standards such as the Workload Identity in Multi-System Environments
   (WIMSE) architecture and OAuth 2.0 family of specifications.  Rather
   than defining new protocols, this document describes how existing and
   widely deployed standards can be applied or extended to establish
   agent authentication and authorization.  By doing so, it aims to
   provide a framework within which to use existing standards, identify
   gaps and guide future standardization efforts for agent
   authentication and authorization.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-01"/>
   
</reference>

<reference anchor="WIMSE-ATTEST">
   <front>
      <title>WIMSE Workload Attestation</title>
      <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
         <organization>Nokia</organization>
      </author>
      <author fullname="Nathanael Ritz" initials="N." surname="Ritz">
         <organization>Independent</organization>
      </author>
      <date day="7" month="June" year="2026"/>
      <abstract>
	 <t>   This document extends the WIMSE workload-to-workload authentication
   architecture with a mechanism for conveying attestation across TLS-
   terminating proxies, a deployment topology where TLS-layer
   attestation mechanisms lose their end-to-end security properties.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-reddy-wimse-workload-attestation-00"/>
   
</reference>

<reference anchor="WIMSE-AUTHZ-EVIDENCE">
   <front>
      <title>Signed Authorization-Evidence Records for WIMSE-Authorized AI Agent Actions</title>
      <author fullname="Christian Munoz" initials="C." surname="Munoz">
         <organization>Keel API, Inc.</organization>
      </author>
      <date day="19" month="July" year="2026"/>
      <abstract>
	 <t>   This document specifies a companion profile to the AI Agent
   Authentication and Authorization draft [I-D.klrc-aiagent-auth],
   defining a signed authorization-evidence record produced by WIMSE-
   authorized AI agent actions.  The evidence record (referred to as a
   Permit) cryptographically commits to the canonical bytes of the
   request authorized before dispatch and, via a paired Closure Record,
   to the recorded dispatched-request digest; it maps to and can satisfy
   the audit minimum requirements enumerated in Section 11 of the
   companion draft, and composes with HTTP Message Signatures, OAuth
   access tokens, and Shared Signals Framework eventing without
   requiring modifications to those existing standards.  The profile is
   anchored in the SCITT profile defined in
   [I-D.munoz-scitt-permit-profile].

   This revision also describes how WIMSE deployments compose with
   authorization-lineage evidence defined by the companion SCITT
   profile: workload identity, delegated subject context, runtime token
   claims, and HTTP Message Signature coverage become Verifier inputs
   for parent/child Permit relationships.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-munoz-wimse-authorization-evidence-01"/>
   
</reference>

<reference anchor="WIMSE-AGENT-EVIDENCE">
   <front>
      <title>Evidence Binding for AI Agent Credentials</title>
      <author fullname="Shameer Thaha" initials="S." surname="Thaha">
         <organization>Individual Contributor</organization>
      </author>
      <author fullname="Shaibi Shamsudeen" initials="S." surname="Shamsudeen">
         <organization>Individual Contributor</organization>
      </author>
      <date day="1" month="November" year="2026"/>
      <abstract>
	 <t>   The WIMSE AI Identity Management System (AIMS) requires tamper-
   evident agent audit logs but does not specify their format or
   discovery.  This document maps the AIMS minimum fields to the SCITT
   Agent Execution Evidence profile, defines one claim that binds a
   workload credential to the persistent agent, governing policy,
   expected Evidence Service and optional Assurance Statement, and
   defines an in-toto predicate type for carrying Execution Receipts
   alongside the in-toto agent audit record format.  It also describes
   how a service admits an agent&#x27;s call by checking its assurance at the
   moment of the request, and defines an HTTP field that links each call
   to the caller&#x27;s evidence.  It is a companion to the AIMS work and
   makes no change to it.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-thaha-wimse-agent-evidence-binding-03"/>
   
</reference>

<reference anchor="SCITT-LOCAL-LOG">
   <front>
      <title>The Checkpointed Local Log (CLL)</title>
      <author fullname="Steven Mih" initials="S." surname="Mih">
         <organization>Action State Group</organization>
      </author>
      <date day="14" month="October" year="2026"/>
      <abstract>
	 <t>   Many systems emit individually signed records — receipts,
   attestations, statements — and store them locally.  Each record
   verifies on its own, but the collection proves nothing: records can
   be deleted, reordered, or created after the fact without detection.
   This document specifies the Checkpointed Local Log (CLL): a producer-
   operated append-only log that is a Merkle Mountain Range as defined
   by the COSE Receipts profile for Merkle Mountain Ranges, together
   with a small signed checkpoint that commits to the log&#x27;s entire
   history.  A checkpoint carries the content of that profile&#x27;s Receipt
   of consistency — the accumulator and the consistency proof — inside a
   SCITT Signed Statement, so it can be registered with one or more
   independent Transparency Services without any change to them.  A CLL
   upgrades a set of point receipts into a stream with provable order,
   contemporaneity, and completeness, and states precisely what it does
   not establish.  It defines no new proof format, no change to SCITT
   Registration or Receipts, and no payload semantics.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mih-scitt-checkpointed-local-log-02"/>
   
</reference>

<reference anchor="AAUTH">
   <front>
      <title>AAuth Protocol</title>
      <author fullname="Dick Hardt" initials="D." surname="Hardt">
         <organization>Hellō</organization>
      </author>
      <date day="25" month="September" year="2026"/>
      <abstract>
	 <t>   This document defines the AAuth authorization protocol for agent-to-
   resource authorization and identity claim retrieval.  The protocol
   supports five resource access modes — agent identity, resource-
   managed (two-party), person identity, PS authorization (three-party),
   and federated authorization (four-party) — with agent governance as
   an orthogonal layer.  It builds on the HTTP Signature Keys
   specification ([I-D.hardt-httpbis-signature-key]) for HTTP Message
   Signatures and key discovery.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-hardt-oauth-aauth-protocol-11"/>
   
</reference>

<reference anchor="AGENTPROTO-VERIFIER">
   <front>
      <title>Exercise and Completeness Evidence for Agent Protocol Verifier Results</title>
      <author fullname="James Siyuan He" initials="J. S." surname="He">
         <organization>Independent</organization>
      </author>
      <date day="31" month="October" year="2026"/>
      <abstract>
	 <t>   A verifier result reports what a check returned.  It does not report
   whether the check could have returned anything else.  A check that
   inspects too narrow a set of fields, and a check whose rejecting or
   indeterminate input has never occurred, both report the same
   accepting value as a check that distinguishes, and a conformance
   matrix does not tell them apart.

   This document defines requirements for reporting whether a check has
   been exercised into its declared rejecting and indeterminate
   outcomes, and requirements for results that claim completeness: that
   the records relied on were the whole of some stated set.  Those are
   two separate obligations.  A result must name the set it claims to
   have seen, and must not treat a party with an interest in the answer
   as the only thing looking.

   This document defines no wire format, encoding, token, claim
   vocabulary, test harness, or registry.  It does require a record to
   identify certain facts.  That constrains what a record must be able
   to express and leaves its encoding open.  A profile satisfying these
   requirements will need a place to put those facts.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-he-agentproto-verifier-evidence-03"/>
   
</reference>

<reference anchor="TLOG-WITNESS" target="https://c2sp.org/tlog-witness">
  <front>
    <title>HTTP protocol to obtain transparency log witness cosignatures</title>
    <author >
      <organization>C2SP</organization>
    </author>
    <date />
  </front>
</reference>
<reference anchor="SSE" target="https://html.spec.whatwg.org/multipage/server-sent-events.html">
  <front>
    <title>HTML Living Standard: Server-sent events</title>
    <author >
      <organization>WHATWG</organization>
    </author>
    <date />
  </front>
</reference>
<reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
  <front>
    <title>Agent2Agent Protocol Specification</title>
    <author >
      <organization>A2A Project</organization>
    </author>
    <date />
  </front>
</reference>
<reference anchor="MCP" target="https://modelcontextprotocol.io/specification/">
  <front>
    <title>Model Context Protocol Specification</title>
    <author >
      <organization>Anthropic</organization>
    </author>
    <date />
  </front>
</reference>


<reference anchor="RFC9942">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
    <author fullname="O. Steele" initials="O." surname="Steele"/>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
    <author fullname="C. Fournet" initials="C." surname="Fournet"/>
    <date month="June" year="2026"/>
    <abstract>
      <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9942"/>
  <seriesInfo name="DOI" value="10.17487/RFC9942"/>
</reference>

<reference anchor="AGENTPROTO-126" target="https://datatracker.ietf.org/doc/minutes-126-agentproto-202607230700/">
  <front>
    <title>Minutes of the Agent Communication Protocols (agentproto) BoF, IETF 126</title>
    <author >
      <organization>IETF</organization>
    </author>
    <date year="2026" month="July"/>
  </front>
</reference>



<reference anchor="AUDIT-ARCH">
   <front>
      <title>An Architecture for Auditing Agent Delegation and Interactions</title>
      <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <date day="7" month="September" year="2026"/>
      <abstract>
	 <t>   This document describes an architecture for auditing of agent-driven
   interactions on the Internet.  Autonomous and semi-autonomous
   software agents, including those based on artificial intelligence,
   increasingly act on behalf of users, organizations, and services.
   Existing auditing mechanisms often capture isolated system events but
   do not consistently represent delegation relationships, user intent,
   or evolving authorization.  In agent-driven systems, auditability
   requires linking intent, delegation, authorization, and execution.
   The proposed architecture enables this through distributed audit
   record generation, propagation of audit context, optional
   attestation, and additional logging for transparency.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-kuehlewind-audit-architecture-01"/>
   
</reference>

<reference anchor="SD-CARD">
   <front>
      <title>SD Agent: Selective Disclosure for Agent Discovery and Identity Management</title>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
         <organization>Cisco</organization>
      </author>
      <date day="2" month="March" year="2026"/>
      <abstract>
	 <t>   This document defines how Selective Disclosure for JWTs (SD-JWT)
   integrates with Agent-to-Agent (A2A) systems to provide privacy-
   preserving agent discovery and cryptographically verifiable identity
   management.  It specifies the SD-Card format - an SD-JWT encoding of
   Agent Cards that enables selective disclosure of agent capabilities,
   contact information, and operational metadata while maintaining
   cryptographic integrity and preventing correlation across different
   interaction contexts.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-nandakumar-agent-sd-jwt-02"/>
   
</reference>
<reference anchor="RFC9901">
  <front>
    <title>Selective Disclosure for JSON Web Tokens</title>
    <author fullname="D. Fett" initials="D." surname="Fett"/>
    <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <date month="November" year="2025"/>
    <abstract>
      <t>This specification defines a mechanism for the selective disclosure
of individual elements of a JSON data structure used as the payload
of a JSON Web Signature (JWS). The primary use case is the selective
disclosure of JSON Web Token (JWT) claims.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9901"/>
  <seriesInfo name="DOI" value="10.17487/RFC9901"/>
</reference>



    </references>

</references>


<?line 1991?>

<section anchor="related-work"><name>Related Work</name>

<t>Several individual drafts address per-action evidence for agents or
workloads:</t>

<t><list style="symbols">
  <t><xref target="WIMSE-AUTHZ-EVIDENCE"/> defines signed "Permits" committing to a
request before dispatch, anchored in SCITT. A TRAIL gate-request and
approval pair plays the same role.</t>
  <t><xref target="WIMSE-AGENT-EVIDENCE"/> points from a WIT to an evidence service and
defines hash-chained execution receipts.</t>
  <t><xref target="SCITT-LOCAL-LOG"/> defines a producer-operated log with signed
checkpoints inside SCITT statements, which is close to the TRAIL
trail.</t>
  <t><xref target="AGENTPROTO-VERIFIER"/> discusses verifier evidence in agentproto.</t>
  <t><xref target="AAUTH"/> signs every agent request with HTTP Message Signatures and
keeps a mission log.</t>
  <t><xref target="AUDIT-ARCH"/> proposes an architecture for auditing agent delegation
and interaction traceability across domains.</t>
</list></t>

<t>TRAIL differs in four ways: the evidence is produced outside the agent
at an attested edge; the edge acts only while its oversight is fresh,
so an authority that goes silent, or a trail that nobody is witnessing,
stops the agent; trails reach authorized parties the operator did not
list in advance; and control (holds, gates, admission) returns on the
same evidence plane.
TRAIL aims to converge with these drafts on the record envelope, which
all of them base on COSE or SCITT.</t>

</section>
<section anchor="examples"><name>Examples</name>

<section anchor="a-gated-payment-across-operators"><name>A Gated Payment Across Operators</name>

<t><list style="numbers" type="1">
  <t>Operator O grants financial regulator F the directive types
require-gate, require-level, and hold for action class "payment",
and data class "finance". The grant is in O's state.</t>
  <t>F's state contains require-gate for class "payment" above a
threshold, naming F as approver, and require-level of <spanx style="verb">isolated</spanx>
for the same class.</t>
  <t>Agent A in cell C_A, in dialog D, asks to send a payment instruction
to agent B.</t>
  <t>Edge A appends a gate-request record, with the amount redacted, and
sends it with the "finance" disclosure encrypted to F as a directed
record.</t>
  <t>F appends an approval record and sends it to C_A as a directed
record.</t>
  <t>Edge A appends a send record that cites the approval and sends the
call with the record attached.</t>
  <t>Edge B checks the record, A's level, and A's cosigned checkpoint,
delivers the call, and appends a recv record citing A's.</t>
  <t>A health authority that can read the same trails sees that a payment
happened, but cannot open the amount.</t>
</list></t>

</section>
<section anchor="a-monitored-service"><name>A Monitored Service</name>

<t>Regulator R publishes require-witness with itself as witness, a maximum
age of 60 seconds, and service Z as counterparty. Z's edge rejects any
call whose sender's latest checkpoint lacks an R cosignature younger
than 60 seconds. R cosigns only trails it is receiving in full. If R
stops watching, calls to Z stop within a minute.</t>

</section>
<section anchor="a-swarm-size-cap"><name>A Swarm Size Cap</name>

<t>Admission issuer Q never has more than 1,000 valid admission tokens for
swarm S. Q's require-admission directive makes peers reject calls from
agents without a valid token hash. An agent spawned without a token has
nobody to talk to among TRAIL peers. Retiring an agent releases its
token, Q marks it invalid, and any witness can count valid tokens in
Q's trail.</t>

</section>
</section>
<section anchor="requirements"><name>Requirements Raised at the IETF 126 BoF</name>

<t>The following requirements were raised during the agentproto BoF at
IETF 126, as recorded in the draft minutes <xref target="AGENTPROTO-126"/>. The
minutes are cited for the requirements only; their speakers have not
reviewed this document.</t>

<texttable title="BoF requirements and TRAIL mechanisms" anchor="tab-requirements">
      <ttcol align='left'>Requirement raised at the BoF</ttcol>
      <ttcol align='left'>Minutes</ttcol>
      <ttcol align='left'>TRAIL mechanism</ttcol>
      <c>Revoking a session or agent is hard, especially if the agent is no longer available</c>
      <c>Items 7 and 8</c>
      <c>Holds and Token Status List entries at the edge, and freshness rules under which silence also stops the agent (<xref target="freshness"/>)</c>
      <c>Audit requires a durable owner of an agent's actions, not only runtime credentials</c>
      <c>Items 7 and 8</c>
      <c>Every record binds the principal and the delegation chain (<xref target="principal"/>)</c>
      <c>The protocol should enable audit signals that applications can use</c>
      <c>Items 7 and 8</c>
      <c>Trails delivered live to authorized parties (<xref target="trails"/>)</c>
      <c>Agent ownership mechanisms that can designate legal liability</c>
      <c>Item 6</c>
      <c>The responder's acknowledgment cites the request (<xref target="core-rule"/>)</c>
</texttable>

</section>
<section anchor="open-issues"><name>Open Issues</name>

<t><list style="symbols">
  <t>Which party runs the authorization server for reading a swarm's
trails and state (<xref target="read-access"/>).</t>
  <t>Whether a receiver, or its authority, can require that a sender's
operator has granted a named authority certain rights before calls
are accepted. Today only witnesses can be required.</t>
  <t>Whether verifiers publish Attestation Results themselves, in
addition to edges carrying them in their state.</t>
  <t>Extensions needed by further use cases, tracked in the issue
tracker: holds that match everything descending from an input or
from a PACE dialog through its parent_dialog_ids,
gate responses that substitute an action, approvals signed with a
passkey, records that cite a model server's attestation, and
admission tokens that meter spend.</t>
  <t>Default freshness budgets and grace periods per action class.</t>
  <t>Whether one binding should be mandatory to implement for the evidence
plane.</t>
  <t>Whether the checkpoint and the tlog-checkpoint signed note can be one
object, and how TRAIL witnesses relate to <xref target="TLOG-WITNESS"/>.</t>
  <t>A C4M claim that requires a given Property on every Object published
under a scope, so that edge relays can enforce the presence of
TRAIL_RECORD.</t>
  <t>A Token Status List delivery profile over MOQT, for use beyond TRAIL.</t>
  <t>Whether TRAIL_RECORD should be standardized as a general "per Object
proof" Property for MOQT, with TRAIL as one user, which would amount
to the first non-HTTP binding of the WIMSE Workload Proof Token.</t>
  <t>Coordination with WIMSE and SCITT individual drafts on per-action
evidence, to avoid incompatible record formats.</t>
  <t>Measurements, for swarms of 1,000 and 10,000 agents, of the time from
a hold being published to its enforcement over MOQT and over HTTP,
the time from an authority going silent to covered agents pausing,
trail throughput per edge, witness cosignature latency, and relay
fan-out cost.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This document draws on discussions of PACE, MCP over MOQT, C4M, and
SD-Card.</t>

<t>The authors thank Kevin McMenamy, Rich Logan, Paul Bright-Thomas,
Tim Evans, Brian Powell, and Faisal Siyavudeen for taking the time to
read drafts of this work, and for their questions and discussion.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7S9bXfbRrIu+h2/Akte69ieIRm/xYnlm723IsuxEttSJCWe
lzMnhkhIwpgkOARomdv2/u23nqequhsg5WSfu6/XmglFAo1Gd3W911PD4TBr
q3Za7uY7Zyd7hy9387NitiiXw/J9NSnnbX5SjuvlpMkv6mW+d4lvDudtuSzG
bVXPm7yYT/KX1ftyXjbNTlacny/L9z7WTjYu2vKyXq5386adZJN6PC9m8qjJ
srhoh/OiaYrlsMCgi2Xd1sN2WVTT4b17WbM6n1VNI09o1wu54fDg7Hk2X83O
y+VuNpFBd/MH9x48Ht6/P7z3IBvLRMp5s2p283a5KjOZwMPsul6+u1zWq4XM
Rue9X89mq3klc5Jx82M8cVxPZdbvyrVcPdnN8mHO2eTj9FJ+vZpULT7I69Xx
a5nwvFkUy3I+XuPvV0c/n+G/L87OjjNZlFUpg+Z/cBp5ri+780amXs0v8x9w
H76fybLI93Gl/qMq24tRvbzEr8VyfCW/XrXtotn96itcjK9kU0Z+2Vf44qvz
ZX3dlF/FYb7C7bLWzXhZnZfJGNfX1/FeDDgr5l9Nq6at5hd1d4CsWLVX9RKL
J4Pl+cVqOtVd/knWpZzlr7nN/E1GK+bVf/LNd/P9qhnX/L7UF3xXKEn8xxi/
jGQTNgc9XV0VjYw5nxTvVrM/Nm4z18u/NO6+fCrn+Y/lfC5L3/yRYS+mq4uL
dTJoNq+XM7n6PXf95Pn+g/v3n9jHb+9/88g/Pr5/zz8+eeQXPLn39QP/eD9c
8OT+4/Dtw4ff+sdHD+6Hj3GErx+G275+8jh+/MY/Pv463Pbk0UN8fFX/PJSz
+vr0+OjkTM7Z8Bn3fTir/zVU4q6XrV23/+hV74rxo5n9dnqwf/T9j72fm3K8
WpbD+vyf5bjFkh7t/XL2Ynh6tnf2y+nw5eFp+sQadDRs2qJdNUOQmlx/+my4
/ya9qFlU43LYTIbja/y+f3R6MHxx/NNBcsm4bsrh1eJdKb+/OXwlF+yfHDw7
Ta64rmZyCfjDtC5kqGU5acLFOLmnhz9sXI6TMWyqy7nMb4mxz/7yenh29NPB
69ONl+DCKYMctvU7YU1hBwMNPHyi+7p3djo82DtJxlgWbTMsSdlnL49+GJ4d
vjw43SXhGac+lUWqxrmclbIdnhdNOekwonxaX/LycDLl3xDULET84PSYfysT
vSimTalDF8vLst3NnQOMHzQLnv5WRhu21bRsfEL7Lw72fzo+Onx91pkVxUIt
oqM4n5YbE8qxdpxoWeZXZTFp/oenOL4qx+8WdTVvMzCp7kF8+HU4XI+ffPMw
HMQnegj2j4fg3LoJ/zQWkAqm2XgxrN+LVBSyBuEd7+0bzc0DJ0qvXxTjUp/x
jZzVcIDjofzmfjyJT54EStg7eXR62KeFYvmoqQKB7p3sv9igTrD3cMWb47NN
al+0cQT5/80R5P/jFWdnB3445XRM1v0zU7RtiaNKMeg3ydn+2/Dg18NnB699
dUTQ1f/pT+BWGzs19WIcT+neDwevz3q3t1fFVeG3Y3XDbcPzaj6RXQKT2D88
Oxu+PNrfeyn/byd3VgkvGVdtm9BFORlORXZPh3o+9jBhvfqqWE5aO7wF/39h
YhnXYWLHJ0dnR8NfD04Onx8e2Gm9KtMtF+qoLqqgOPHNeFzeHJ69PjjtnmBw
mdyfkbd1Xp+3RTXfPDXXVQvNShSSwHv+pw+OPQIreXrQmeXtF2evXkK7gzIi
TEcoXbSk/LRc4ig0UGZKUXLa5vZNU3rzYu/szQ9/aFJX7Ww6ahbleHR9VbTX
l6p6rKZttZBV/qqJDx3qQ0e4A/vzYK8za2pZD1TXcu0qP5WBZXtcc9s+WxkJ
d0Ba/aEpFw+KQCic7rTAsfiqSR/2lTKYzhRf1ZNyKoqg0OSH//Yk5+2VsNlq
/IemOMOTxvqgMNWq3pyi6gRkVQnB33/wuDvxar6SV8zri7y9KvMvKrT5nXg6
7ubf188HVONzGfOmd6OaH1+LKv69b7a+mFxRyGkZvyuXUVMVA+OrmU4RU0+P
J8a6982Dh/e+uXcP77v3y7PDs4SZvluVV9PyWrjKkLo+WWrVCimouIcqsnfy
bDvTh0byT2okXMZ7wtuz4VCshvMGc2yzbO9QLQs5ycV0mteyekv/BiZUW2PF
ivGylsOe6p3FND+vVzh5VdkMsvNVy5VfmlUmG4Hjgu/W+aSaiDFQ5u/KRZuf
r3khBXJbLxu5TjQjYSTzyUpmlA4yKdUAGOhU5BdhQW2FfZYz15Qlzr98Pcun
opfM8VBZVJHyIjLq+XSdizVXLq+FOTSjnJafWCzv5Pb2qmq6tpQaUtQQ8Cy1
puSvTKYbHsrFEd4/77zBSEg/LyHax+UMdEemnterthGGi0szNd4wcCXr2siH
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
970dchqcwzXzYiGmQ4uHxLflGWyEWCcryngZ1i+0kZ+5PW7rBYdBNe+I5tuN
2e9+6y60VDUn6bMBhUHK4AybEVm48jgzi7H32B8gsuyRjOalMu2yem9R4CAe
bVeC94AFCnSFz4o1T5uoBAOuK0PslJYeQOWdRSundqqqpN7GgxPFBn/UKU3K
xbReY+pDVYwnuZZ8WMIHznQTgqZCUtVMbKs2aN5UWnm/yLDTckpZ20S/EHnR
+UrkEJKD+Hs6GmeCvQlz/kPTmhbn5VQP0aTgSZB7q1liD0ANLmZg1KP8B1Vt
6MenyZ8uULr26VK9kB22ucSdIDOm+qR5JHJO1F9vb8QLZhoYsLel8vOD03QM
nzJRqajshBRO3CFeYMLMzhH2rqcUbhzCDZXlqgAbh5VR5BfVh7iG4NF6bINj
in/bslnExvkeGBb5rT/OVJDErqRKjue/9fD520H+ti3xH3m7t27NvQV11+Q4
IQMLK3kbrkK1oOk7J2eei6mYF0sNErgRkOr/4BaI77pQoQYQtVvPAFEpc1VQ
UJch/8gJzLwWDNXWiyFH16AcnAjwTOR7SVpi/vFWmqX4Ocv+67/+S0huXFXD
AmUbfx72/uUwfGSC/e+Hf87yT3ly/Z9z/bcxAn/6xKs/mftLPukv//ZJb4IR
Kg/hP/lJxvg3tTaZL+UC8K4NcodaKj4xOxtfui2pNmau12E2XSFmA5itddee
ji+p1wxCtJfX/XffcMsP/PcpfPo/yeol/8yqVe79KXz9Kd9wWd/xF9X5dka5
Y6/Kf+/TUbRGhjykuZuIws7trv/e7XyJ99r8d9Ob/nnbxXyhXozgxpE/2ZYz
G6YJO/8/MI08/6o7Jf7731svfb/9Y//aYBbiD7O9+APp+fv+5XcYdR3YH56F
FD8b0xpsTIkCmwrN3dz0D92lSTnVkB7Y3F0c5uzjbn7rorpkNrImYX+3Y0kW
ycnf+awOXrV059DnTbUvwhmQszTKn8sOaPYrIoGwmeiVCIKgZFKiJuIFKzPY
a8VlITYs+CF0mzzJ66y65vpTZuCpbVT07aZOqFUkwmWN6YE/yG0PR6mjKElF
Ce4iehKz7NEIeV12GZmLx+1DwocGTCYWwFQLmXYWttPihvZ+dqlvme9EHF3l
gU8t5shELRqOqaO5JYCGHLXoL8NsoYdnptnrBCzqgZRIGtxzUewRTTFRs6wW
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
6fHgX6QKzR7iXAEA

-->

</rfc>

