<?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.38 (Ruby 3.3.0) -->


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

]>


<rfc ipr="trust200902" docName="draft-munoz-scitt-permit-profile-00" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Pre-Exec AI Auth SCITT Profile">A SCITT Profile for Pre-Execution AI Action Authorization Records</title>

    <author initials="C." surname="Munoz" fullname="Christian Munoz">
      <organization>Keel API, Inc.</organization>
      <address>
        <email>christian@keelapi.com</email>
        <uri>https://keelapi.com</uri>
      </address>
    </author>

    <date year="2026" month="May" day="14"/>

    
    
    <keyword>SCITT</keyword> <keyword>artificial intelligence</keyword> <keyword>AI agent</keyword> <keyword>authorization</keyword> <keyword>transparency</keyword> <keyword>COSE</keyword> <keyword>audit</keyword> <keyword>evidence</keyword> <keyword>accountability</keyword>

    <abstract>


<?line 54?>

<t>This document specifies a SCITT (Supply Chain Integrity, Transparency,
and Trust) profile for pre-execution authorization records of AI agent
actions. The profile defines a Signed Statement type, the
"Pre-Execution Authorization Record" (also called a Permit), that
records a policy-evaluated decision to allow, deny, or challenge an
AI agent action before that action is dispatched to a model provider,
tool, or service. The profile cryptographically binds the
authorization decision to the canonical bytes of the request that is
subsequently dispatched, enabling independently verifiable
"authorized request equals dispatched request" assertions. The
profile composes with adjacent profiles for human-authority binding,
post-execution material-action evidence, and content-refusal events,
referenced rather than replicated.</t>



    </abstract>



  </front>

  <middle>


<?line 70?>

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

<t>The SCITT architecture <xref target="I-D.ietf-scitt-architecture"/> defines an
abstract framework for the production, registration, and verification
of signed statements made about supply-chain artifacts. Pre-execution
authorization decisions for AI agent actions are a class of statement
that fits within this architecture but that none of the currently
active SCITT profile drafts addresses directly.</t>

<t>This document defines such a profile. The profile's central artifact
is a "Pre-Execution Authorization Record" (referred to throughout as
a "Permit"), which is a signed statement that records (a) the policy
that was evaluated, (b) the decision reached, (c) the subject of the
decision, (d) the resource and action authorized, and (e) a
commitment to the canonical bytes of the request body that will
subsequently be dispatched.</t>

<t>The pre-execution-to-dispatch cryptographic binding is the
distinctive technical contribution of this profile. A Permit is not
merely a record that an authorization decision was made; it is a
commitment to a specific canonical request, such that any
modification of the dispatched bytes between authorization and
dispatch is detectable by any third party.</t>

<t>As of 2026, several distinct categories of work are converging on
runtime AI governance. These include governance capabilities native
to application-delivery platforms, security and containment tooling
for AI execution environments, enterprise organizational-governance
frameworks for AI accountability, and cryptographic execution-trust
primitives at the execution boundary. These categories operate at
different layers and are largely complementary rather than mutually
exclusive.</t>

<t>This profile addresses a gap that none of those categories fills
directly: the pre-execution decision record. A Permit is a signed,
independently verifiable record of the authorization decision
reached before an AI agent action is dispatched. This document
offers the Permit as a candidate canonical decision artifact for AI
execution. Canonical status is earned through profile adoption and
interoperable implementation; it is not asserted here. Framing the
Permit as a candidate, rather than as the established canonical
artifact, preserves the openness expected of standards-track work.</t>

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

<t>This profile specifies:</t>

<t><list style="symbols">
  <t>The Permit object as a SCITT Signed Statement</t>
  <t>The COSE_Sign1 <xref target="RFC9052"/> envelope binding for Permits and paired
closure records</t>
  <t>The Receipt type used to demonstrate inclusion of a Permit in a
hash-chain transparency log</t>
  <t>The canonicalization rules applied to request bytes for digest
commitment</t>
  <t>Composition with the WIMSE pre-execution authorization profile
<xref target="I-D.klrc-aiagent-auth"/>, the SCITT AI agent execution profile
<xref target="I-D.emirdag-scitt-ai-agent-execution"/>, the SCITT refusal events
profile <xref target="I-D.kamimura-scitt-refusal-events"/>, and the OMP human
authority binding profile <xref target="I-D.veridom-omp"/></t>
</list></t>

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

<t><list style="symbols">
  <t>A policy language or evaluation engine</t>
  <t>A runtime, gateway, or proxy for emitting Permits</t>
  <t>An identity or RBAC model for subjects</t>
  <t>Live runtime API envelopes or network protocols</t>
  <t>Storage, indexing, or query semantics for Permits</t>
</list></t>

<t>These remain implementation-defined.</t>

</section>
<section anchor="relationship-to-existing-work"><name>Relationship to Existing Work</name>

<t>A complete reference specification for the Permit object as deployed
by the reference implementation is published at <xref target="KEEL-PERMIT"/>.
This document profiles that specification for SCITT consumption.
Implementations that conform to the Permit specification at
<xref target="KEEL-PERMIT"/> also conform to this profile when they additionally
satisfy the COSE_Sign1 envelope and receipt rules in this document.</t>

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

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>This document uses the following SCITT terms as defined in
<xref target="I-D.ietf-scitt-architecture"/>: Signed Statement, Receipt,
Transparent Statement, Issuer, Transparency Service, Verifier.</t>

<t>Additional terms defined in this document:</t>

<dl>
  <dt>Permit:</dt>
  <dd>
    <t>A Signed Statement of type
application/permit-v1+json that records a pre-execution
authorization decision and a commitment to the canonical request
bytes that will subsequently be dispatched.</t>
  </dd>
  <dt>Closure Record:</dt>
  <dd>
    <t>A Signed Statement, paired with a Permit, that
records the post-dispatch outcome of an authorized AI agent action,
including digests of the bytes received from the provider and the
bytes delivered to the client.</t>
  </dd>
  <dt>binding_request_hash:</dt>
  <dd>
    <t>A SHA-256 digest committed inside a
Permit, computed over the canonical wire-body bytes of the request
that will be dispatched. See <xref target="canonicalization"/>.</t>
  </dd>
  <dt>dispatch_request_digest_v1:</dt>
  <dd>
    <t>A SHA-256 digest committed inside a
Closure Record, equal to the corresponding Permit's
binding_request_hash when no modification of the request body
occurred between authorization and dispatch.</t>
  </dd>
  <dt>Authorized Request:</dt>
  <dd>
    <t>The canonical bytes committed by
binding_request_hash.</t>
  </dd>
  <dt>Dispatched Request:</dt>
  <dd>
    <t>The canonical bytes committed by
dispatch_request_digest_v1.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="background-the-permit-object"><name>Background: The Permit Object</name>

<t>A Permit is a JSON object that records the following information at
minimum:</t>

<t><list style="symbols">
  <t>An identifier and a project (tenancy) scope</t>
  <t>A decision: one of "allow", "deny", "challenge"</t>
  <t>A subject (subject_type plus subject_id)</t>
  <t>A resource (resource_provider and resource_model) and an action
label</t>
  <t>A policy identifier and a policy version</t>
  <t>A request fingerprint (a SHA-256 derived from a stripped form of
the request semantics; used for replay correlation, not for
byte-level commitment)</t>
  <t>A binding_request_hash (the SHA-256 commitment to canonical
request bytes; see <xref target="canonicalization"/>)</t>
  <t>A creation timestamp</t>
</list></t>

<t>A Permit <bcp14>MAY</bcp14> additionally carry decision details, constraints,
budgets, routing metadata, and post-execution accounting fields.
These are descriptive and do not affect the cryptographic shape of
the artifact.</t>

<t>A complete normative specification of the Permit object is in
<xref target="KEEL-PERMIT"/>.</t>

</section>
<section anchor="the-permit-profile-of-scitt"><name>The Permit Profile of SCITT</name>

<section anchor="signed-statement"><name>Signed Statement</name>

<t>A Permit, when its reserved signature field is populated, is a
Signed Statement in the sense of <xref target="I-D.ietf-scitt-architecture"/>.
The Signed Statement structure is a COSE_Sign1 envelope <xref target="RFC9052"/>.</t>

<t>The COSE_Sign1 structure <bcp14>MUST</bcp14> be constructed as follows:</t>

<t><list style="symbols">
  <t>The payload is the canonical JSON serialization of the Permit
object, encoded as UTF-8 bytes.</t>
  <t>The protected header <bcp14>MUST</bcp14> contain at minimum:
  <list style="symbols">
      <t>The algorithm identifier (alg). Implementations <bcp14>MUST</bcp14> support
EdDSA (alg -8) <xref target="RFC9053"/>. Implementations <bcp14>MAY</bcp14> support ES256
(alg -7).</t>
      <t>A key identifier (kid) resolvable through the Issuer's
published key manifest.</t>
      <t>A content type indicating the payload media type:
application/permit-v1+json.</t>
    </list></t>
  <t>The unprotected header <bcp14>MAY</bcp14> contain implementation-specific fields.
These <bcp14>MUST NOT</bcp14> affect verification semantics.</t>
</list></t>

<t>A Permit Signed Statement is the cryptographic commitment of the
Issuer to the authorization decision recorded by the Permit object.</t>

</section>
<section anchor="paired-closure-record"><name>Paired Closure Record</name>

<t>For Permits whose decision is "allow" and whose binding_request_hash
is non-null, the Issuer <bcp14>MUST</bcp14> produce a paired Closure Record after
the authorized request has been dispatched. The Closure Record is a
separate Signed Statement that commits to:</t>

<t><list style="symbols">
  <t>The dispatch_request_digest_v1: equal to the Permit's
binding_request_hash</t>
  <t>The provider_response_digest_v1: a SHA-256 over the raw bytes
received from the provider or tool</t>
  <t>The client_response_digest_v1: a SHA-256 over the raw bytes
delivered to the client response writer</t>
  <t>Status, timing, and accounting fields</t>
</list></t>

<t>The Closure Record's COSE_Sign1 envelope follows the same rules as
the Permit's, with the content type
application/closure-v2+json.</t>

<t>A Permit and its paired Closure Record are cryptographically linked
and jointly required for verification.
Verifiers <bcp14>MUST</bcp14> check that the Closure Record's
dispatch_request_digest_v1 equals the Permit's
binding_request_hash. A mismatch indicates that the request
authorized by the Permit was not the request that was dispatched;
this is the canonical "approved-but-modified" tampering signature.</t>

</section>
<section anchor="receipt"><name>Receipt</name>

<t>This profile uses a linked-chain Receipt format rather than a Merkle
tree inclusion proof. The Transparency Service maintains a per-scope
hash chain where each entry's record_hash incorporates the previous
entry's record_hash, providing append-only tamper-evidence.</t>

<t>A Receipt for a Permit consists of:</t>

<t><list style="symbols">
  <t>The chain segment from a known signed checkpoint to (and
including) the entry that records the Permit's identifier</t>
  <t>The signed checkpoint itself (a COSE_Sign1 over the latest
record_hash, signed by the Transparency Service)</t>
</list></t>

<t>Verification of a Receipt requires:</t>

<t><list style="symbols">
  <t>Recomputing each entry's record_hash in the supplied segment per
the chain entry algorithm specified in <xref target="KEEL-PERMIT"/></t>
  <t>Verifying each entry's prev_hash equals the previous entry's
record_hash</t>
  <t>Verifying the checkpoint signature against the Transparency
Service's published key</t>
</list></t>

<t>Verification time is O(n) in the size of the supplied chain segment,
where n is the distance from the supplied checkpoint to the entry
under verification. Implementations <bcp14>MAY</bcp14> publish checkpoints
periodically to bound n.</t>

<t>Discussion of the trade-offs between linked-chain Receipts and
Merkle-tree Receipts appears in <xref target="canonicalization-and-receipt-choices"/>.</t>

</section>
<section anchor="transparent-statement"><name>Transparent Statement</name>

<t>A Transparent Statement, in the sense of
<xref target="I-D.ietf-scitt-architecture"/>, consists of a Permit (Signed
Statement) accompanied by its Receipt and, for "allow" decisions,
the paired Closure Record (a second Signed Statement) and its
Receipt.</t>

<t>The full delivery envelope for one or more Transparent Statements is
an audit-export bundle, specified normatively in <xref target="KEEL-PERMIT"/>.
Each record in the bundle contains the Permit, the Closure Record
(when applicable), and the chain entries that constitute the
Receipts.</t>

</section>
<section anchor="transparency-service-role"><name>Transparency Service Role</name>

<t>The Issuer and the Transparency Service <bcp14>MAY</bcp14> be the same operator.
The reference implementation in <xref target="KEEL-PERMIT"/> combines both roles;
this is permitted by the SCITT architecture.</t>

<t>Issuers operating in the dual role <bcp14>MUST</bcp14> document this in their
published key manifest and Transparency Service operating
specification, including the keys used for each role.</t>

<t>Issuers <bcp14>MAY</bcp14> externalize the Transparency Service to a third party.
In that case, the Permit Signed Statement is registered with the
external Transparency Service, which returns a Receipt that the
Issuer attaches to the Permit before delivering the Transparent
Statement to a verifier.</t>

</section>
<section anchor="verifier-behavior"><name>Verifier Behavior</name>

<t>A conforming Verifier <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Verify the COSE_Sign1 signature on the Permit against the
Issuer's public key, resolved via the kid header.</t>
  <t>Verify the Receipt: recompute each chain entry's record_hash,
verify prev_hash continuity within the supplied segment, verify
the checkpoint signature.</t>
  <t>For Permits with decision "allow" and non-null
binding_request_hash: verify the existence and validity of the
paired Closure Record. Verify the Closure Record's COSE_Sign1
signature. Verify that the Closure Record's
dispatch_request_digest_v1 equals the Permit's
binding_request_hash.</t>
  <t>For Closure Records with status "closed": verify that
provider_response_digest_v1 and client_response_digest_v1 are
present and that they match the corresponding chain event
payloads.</t>
</list></t>

<t>A Verifier <bcp14>MUST</bcp14> emit a stable failure code on any integrity
violation. The failure-code taxonomy specified in <xref target="KEEL-PERMIT"/> is
the normative output of a conforming Verifier for this profile.</t>

</section>
</section>
<section anchor="canonicalization"><name>Canonicalization</name>

<t>The binding_request_hash is computed over canonical bytes derived
from the request payload via a documented canonicalization pipeline.</t>

<t>The pipeline applies the following steps in order:</t>

<t><list style="numbers" type="1">
  <t>Strip volatile observability metadata keys from the payload
(request IDs, trace IDs, timestamps, idempotency keys). The
normative list is in <xref target="KEEL-PERMIT"/>.</t>
  <t>Strip sensitive credential keys from the payload (authorization
headers, API keys). The normative list is in <xref target="KEEL-PERMIT"/>.</t>
  <t>Canonicalize the resulting payload by sorting object keys
lexicographically, removing insignificant whitespace, and
encoding as UTF-8 bytes.</t>
</list></t>

<t>The pre-canonicalization stripping steps are forensic-safety
properties of this profile. Stripping volatile metadata makes the
digest stable across retries and observability variation, supporting
idempotency-correlated forensic analysis. Stripping sensitive
credential keys prevents long-lived hashes from being credential
brute-force targets.</t>

<t>The canonicalization step in <xref target="KEEL-PERMIT"/> is JCS-inspired
<xref target="RFC8785"/> but does not currently claim strict JCS compliance. The
documented deviations (number serialization edge cases, certain
control-character escapes, Unicode normalization stance) are
enumerated in <xref target="KEEL-PERMIT"/>. Implementations relying on
cross-implementation byte-equivalence <bcp14>MUST</bcp14> validate against the
published test vectors in <xref target="KEEL-PERMIT"/>.</t>

<t>Future versions of this profile <bcp14>MAY</bcp14> align the canonicalization step
with strict RFC 8785 JCS, while preserving the pre-canonicalization
stripping steps as profile-specific input transformations. Such a
migration would be accompanied by a new chain format version
identifier; existing Permits and Receipts remain valid under the
older canonicalization indefinitely.</t>

</section>
<section anchor="cosesign1-envelope-binding"><name>COSE_Sign1 Envelope Binding</name>

<t>The reference Permit object specification in <xref target="KEEL-PERMIT"/> signs
over the hexadecimal string representation of
SHA-256(canonical_json(payload)). The COSE_Sign1 envelope
<xref target="RFC9052"/> signs over a CBOR Sig_structure. These produce
different signed bytes.</t>

<t>This profile addresses the difference through a dual-signature
envelope. Conforming Issuers <bcp14>MAY</bcp14> emit Permits in either of two
modes:</t>

<t><list style="symbols">
  <t>Mode A (legacy envelope only): The Permit carries the Ed25519
signature over hex(SHA-256(canonical_json(payload))) as defined
in <xref target="KEEL-PERMIT"/>. The Permit is not directly consumable as a
SCITT Signed Statement under this profile.</t>
  <t>Mode B (dual envelope): The Permit carries both the legacy
signature and a COSE_Sign1 signature over the same canonical
payload bytes. The COSE_Sign1 signature is the Signed Statement
for SCITT purposes; the legacy signature provides backward
compatibility with non-SCITT-aware Verifiers.</t>
</list></t>

<t>Conforming Verifiers <bcp14>MUST</bcp14> accept Mode B Permits and verify the
COSE_Sign1 signature. Verifiers <bcp14>MAY</bcp14> accept Mode A Permits in
mixed-deployment environments where SCITT compatibility is not
required.</t>

<t>A future version of this profile <bcp14>MAY</bcp14> deprecate Mode A. This
profile-00 does not.</t>

</section>
<section anchor="composition"><name>Composition with Adjacent Profiles</name>

<t>This profile composes with four adjacent IETF profiles, each
addressed in a subsection below. Composition is one-directional in
each case: this profile defines reference mechanisms by which a
Permit may point to artifacts produced under the adjacent profile.
This profile does not require modifications to any adjacent profile.
A final subsection situates the profile against the broader category
of execution-boundary cryptographic trust primitives.</t>

<section anchor="composition-with-wimse-ai-agent-authentication-and-authorization"><name>Composition with WIMSE AI Agent Authentication and Authorization</name>

<t>The WIMSE draft <xref target="I-D.klrc-aiagent-auth"/> specifies how an AI agent
obtains an identity and a runtime authorization grant. That draft
does not define a signed evidence record of the authorization
decision.</t>

<t>A Permit emitted by a WIMSE-authorized agent provides such a
record. Issuers <bcp14>SHOULD</bcp14> set the Permit's subject_type to "spiffe"
and subject_id to the agent's SPIFFE URI when the agent identity is
established via WIMSE. The OAuth access token, when present at
dispatch time, <bcp14>MAY</bcp14> be referenced through an extension claim in the
Permit's decision_details, though this profile does not require it.</t>

<t>A companion profile that specifies WIMSE-side integration in detail
has been prepared as separate work.</t>

</section>
<section anchor="composition-with-scitt-ai-agent-execution"><name>Composition with SCITT AI Agent Execution</name>

<t>The SCITT AI agent execution profile <xref target="I-D.emirdag-scitt-ai-agent-execution"/>
defines an AgentInteractionRecord (AIR) for post-execution evidence
of agent actions. AIR's existing bridge fields (parent_record_id,
workflow_id, trace_id, external_refs) carry the linkage to
pre-execution authorization records.</t>

<t>Issuers that emit both Permits and AIRs <bcp14>SHOULD</bcp14> populate the AIR's
parent_record_id with the corresponding Permit's identifier. When a
Closure Record paired with the Permit is also emitted, Issuers
<bcp14>SHOULD</bcp14> additionally populate the AIR's external_refs with a
reference to the Closure Record's identifier. The mapping makes the
pre-execution authorization, the dispatch binding, and the
post-execution material-action evidence into a continuous
verifiable chain.</t>

<t>This profile does not specify any modification to AIR.</t>

</section>
<section anchor="composition-with-scitt-refusal-events"><name>Composition with SCITT Refusal Events</name>

<t>The SCITT refusal events profile <xref target="I-D.kamimura-scitt-refusal-events"/>
defines four event types (ATTEMPT, DENY, GENERATE, ERROR) for
content-generation refusal at the AI system level. A Permit's
decision field is more general than refusal-events' event-type
field: a Permit decision of "deny" covers content refusal as a
special case but also covers policy-level denial outside the
content-safety context.</t>

<t>Issuers that emit both refusal events and Permits <bcp14>SHOULD</bcp14> reference
the corresponding Permit's identifier in the refusal event's
external claims. The completeness invariant in
<xref target="I-D.kamimura-scitt-refusal-events"/> composes naturally: every
ATTEMPT has exactly one outcome, and the corresponding Permit
captures the outcome's authorization context.</t>

</section>
<section anchor="composition-with-omp-human-authority-binding"><name>Composition with OMP Human Authority Binding</name>

<t>The OMP profile <xref target="I-D.veridom-omp"/> defines a human-authority
binding artifact that records whether a named Accountable Officer
held valid delegated authority for a regulated AI-assisted decision.
OMP's central artifact is the authority_binding object, with
results BOUND, AUTHORITY_UNBOUND, or EXEMPT.</t>

<t>A Permit <bcp14>MAY</bcp14> reference an OMP authority_binding artifact through an
optional authority_context field carrying a URI and digest pointer.
The reference is informational; this profile does not interpret OMP
semantics within the Permit. Verifiers of this profile do not
validate the referenced OMP artifact; they verify only that the
reference is well-formed and that the digest matches if the
artifact is retrieved.</t>

<t>The composition pattern: in a regulated AI-assisted decision, the
OMP authority_binding artifact records whether the human had
authority; the Permit records what the AI was authorized to do.
Both records are required for full evidentiary coverage; this
profile delivers the AI-action-authorization layer and points to
the human-authority layer.</t>

</section>
<section anchor="relationship-to-execution-boundary-trust-primitives"><name>Relationship to Execution-Boundary Trust Primitives</name>

<t>Separately from the four adjacent profiles above, a broader category
of cryptographic trust primitives operates at the execution boundary
itself. Primitives in this category verify the authenticity of an
individual execution payload, for example by checking a
cryptographic signature over the bytes of a single request or
response as that payload crosses the boundary.</t>

<t>Such primitives operate at a different layer than the one this
profile fills. A Permit is a pre-execution decision record: it
captures the authorization decision reached before an AI agent
action is dispatched, and this profile binds that decision to the
canonical bytes of the dispatched request. An execution-boundary
trust primitive instead attests to the authenticity of a payload at
the boundary. The two layers compose: they are not the same slot. A
deployment may emit a Permit as the pre-execution decision record
and also apply an execution-boundary primitive to the payload, with
each providing assurance the other does not.</t>

<t>This profile neither specifies nor requires an execution-boundary
trust primitive. The relationship is noted here as a layering
observation, so that implementers positioning a Permit-emitting
deployment alongside such a primitive recognize the pre-execution
decision record and the execution-boundary authenticity check as
distinct and composable layers.</t>

</section>
</section>
<section anchor="canonicalization-and-receipt-choices"><name>Canonicalization and Receipt Choices</name>

<t>The profile makes two implementation choices that diverge from the
most common SCITT conventions to date: a JCS-inspired (rather than
strict-JCS) canonicalization, and a linked-chain (rather than
Merkle-tree) Receipt format. This section names the trade-offs.</t>

<section anchor="linked-chain-vs-merkle-tree-receipts"><name>Linked-Chain vs. Merkle-Tree Receipts</name>

<t>The reference implementation in <xref target="KEEL-PERMIT"/> uses a per-scope
linked-list hash chain. Each entry's record_hash incorporates the
previous entry's record_hash. Tamper-evidence is established by
recomputing the chain segment and verifying continuity.</t>

<t>Merkle-tree-based transparency logs (as exemplified by Certificate
Transparency <xref target="RFC9162"/> <xref target="RFC6962"/>) produce O(log n) inclusion
proofs. The linked-chain construction produces O(n) inclusion proofs
where n is the distance from the supplied checkpoint to the entry
under verification.</t>

<t>The SCITT architecture <xref target="I-D.ietf-scitt-architecture"/> does not
mandate Merkle-tree-based receipts. It mandates the integrity
property: append-only, tamper-evident, verifiable inclusion. Both
constructions satisfy that property.</t>

<t>The trade-offs:</t>

<t><list style="symbols">
  <t>The linked-chain construction is structurally simpler and matches
the reference implementation as deployed today.</t>
  <t>Inclusion proofs are larger and verification is linear in chain
segment size. Periodic checkpoints bound this size.</t>
  <t>Migration to a Merkle-tree-based transparency log is a separate
consideration not addressed in this profile.</t>
</list></t>

</section>
<section anchor="canonicalization-1"><name>Canonicalization</name>

<t>The canonicalization pipeline in <xref target="canonicalization"/> composes
volatile-key stripping and sensitive-key stripping with a
JCS-inspired serialization. The stripping steps are forensic-safety
properties of this profile and <bcp14>MUST NOT</bcp14> be omitted.</t>

<t>The serialization step's deviations from strict RFC 8785 JCS
<xref target="RFC8785"/> are enumerated in <xref target="KEEL-PERMIT"/>. Implementations
producing or consuming Permits across language boundaries <bcp14>MUST</bcp14>
validate against the published test vectors.</t>

<t>A future revision of this profile <bcp14>MAY</bcp14> adopt strict RFC 8785 JCS for
the serialization step, while preserving the stripping steps. Such
a transition would be accompanied by a new chain format version
identifier; legacy Permits remain valid under the older
serialization indefinitely.</t>

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

<section anchor="omission-attacks"><name>Omission Attacks</name>

<t>A Verifier consuming a Transparent Statement learns only about
events that appear in the supplied chain. Events that were never
recorded are not detectable by this profile in isolation.
Architectural deployments that route all AI dispatch through a
Permit-emitting layer reduce the risk of unlogged events;
architectural review of the deployment is required.</t>

</section>
<section anchor="log-equivocation"><name>Log Equivocation</name>

<t>A Transparency Service operator may, in principle, present
different chain views to different Verifiers. This profile does
not by itself defend against log equivocation. Deployments
requiring such defense <bcp14>SHOULD</bcp14> anchor checkpoints via independent
witnesses (RFC 3161 timestamp tokens <xref target="RFC3161"/>, externally-anchored
notary services, or multi-witness anchoring patterns).</t>

</section>
<section anchor="approval-dispatch-divergence"><name>Approval-Dispatch Divergence</name>

<t>The two-sided byte binding between Permit.binding_request_hash and
the paired Closure Record's dispatch_request_digest_v1 is the
canonical defense against modification of the request body between
authorization and dispatch. Verifiers <bcp14>MUST</bcp14> check this equality.</t>

<t>Equality across two independently signed records (Permit and
Closure Record) makes after-the-fact substitution of the authorized
artifact detectable: an attacker who modifies the Permit must
re-sign it, and an attacker who modifies the Closure Record must
re-sign it, and any modification creates a verifiable mismatch.</t>

</section>
<section anchor="canonicalization-brittleness"><name>Canonicalization Brittleness</name>

<t>Byte-level canonicalization is sensitive to floating-point
representation, number serialization, and Unicode handling. This
profile addresses brittleness by:</t>

<t><list style="symbols">
  <t>Documenting the canonicalization rules explicitly
(<xref target="canonicalization"/>, <xref target="KEEL-PERMIT"/>)</t>
  <t>Requiring volatile-key and sensitive-key stripping before
canonicalization</t>
  <t>Recommending cross-implementation test vectors</t>
</list></t>

<t>Implementations relying on cross-language byte-equivalence <bcp14>MUST</bcp14>
validate against the published test vectors.</t>

</section>
<section anchor="credential-containment"><name>Credential Containment</name>

<t>The sensitive-key stripping step in <xref target="canonicalization"/> removes
common credential headers (authorization, apikey, x-api-key, and
provider-specific variants) from the payload before
canonicalization. This prevents long-lived hashes from being
credential brute-force targets.</t>

<t>Implementations <bcp14>MUST NOT</bcp14> skip the stripping step. The stripping
step is a forensic-safety property of this profile, not an
optimization.</t>

</section>
<section anchor="subject-identifier-privacy"><name>Subject Identifier Privacy</name>

<t>When subject_type is "spiffe" and subject_id is a SPIFFE URI, the
subject is identified by trust domain and workload path. When
subject_type identifies a human user, the subject_id may directly
or indirectly identify a person. Issuers <bcp14>SHOULD</bcp14> consider whether
the subject_id requires pseudonymization for the audience consuming
the Transparent Statement.</t>

</section>
<section anchor="hashes-of-prompt-content"><name>Hashes of Prompt Content</name>

<t>Hashes of LLM prompts can be subject to dictionary attacks if the
prompt space is small and predictable. The request_fingerprint
defined in <xref target="KEEL-PERMIT"/> is computed over a stripped, canonical
form, not the raw prompt; it is intended for replay correlation,
not for prompt-content confidentiality. The binding_request_hash
is computed over canonical request bytes (after stripping) and
similarly does not commit the raw prompt.</t>

<t>Issuers deploying this profile in contexts where prompt-content
confidentiality matters <bcp14>MAY</bcp14> supplement the digests defined here
with salted or HMAC-based commitments.</t>

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

<section anchor="sensitive-data-in-wire-bodies"><name>Sensitive Data in Wire Bodies</name>

<t>The bytes committed by binding_request_hash and
dispatch_request_digest_v1 are the canonical bytes of the request,
after stripping volatile and sensitive keys. Implementations <bcp14>MUST</bcp14>
verify that no sensitive data outside the stripped key set is
present in the request body before computing the hash.</t>

</section>
<section anchor="cross-border-considerations"><name>Cross-Border Considerations</name>

<t>When Permits and the artifacts they reference cross jurisdictional
boundaries, the data minimization properties of the profile (no
raw prompt, no raw credential, no raw provider response) apply.
Issuers <bcp14>SHOULD</bcp14> nevertheless consider whether the structured fields
of the Permit (subject identifiers, policy identifiers, resource
identifiers) contain regulated data that requires additional
handling.</t>

</section>
<section anchor="logged-identifiers"><name>Logged Identifiers</name>

<t>Subject identifiers, policy identifiers, and request fingerprints
in the Permit may, in aggregate, support re-identification of
end-users or correlation across requests. Issuers <bcp14>SHOULD</bcp14> apply
appropriate access controls to the Transparency Service log and
audit-export bundles.</t>

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

<t>This document requests the registration of a media type for the
Permit object: application/permit-v1+json.</t>

<t>The proposed registration template:</t>

<t><list style="symbols">
  <t>Type name: application</t>
  <t>Subtype name: permit-v1+json</t>
  <t>Required parameters: none</t>
  <t>Optional parameters: none</t>
  <t>Encoding considerations: 8bit. JSON; UTF-8 encoded; see
<xref target="KEEL-PERMIT"/> for canonicalization rules used in
hash-input contexts.</t>
  <t>Security considerations: see <xref target="security-considerations"/> of this
document.</t>
  <t>Interoperability considerations: see <xref target="KEEL-PERMIT"/>.</t>
  <t>Published specification: this document and <xref target="KEEL-PERMIT"/>.</t>
  <t>Applications that use this media type: SCITT-aware verifiers, AI
governance evidence systems, audit log processors.</t>
  <t>Fragment identifier considerations: as per RFC 6838 for
+json structured syntax suffix.</t>
  <t>Person and email address to contact for further information:
Christian Munoz christian@keelapi.com</t>
  <t>Intended usage: COMMON</t>
  <t>Restrictions on usage: none</t>
  <t>Author/Change controller: IETF</t>
  <t>Provisional registration: no</t>
</list></t>

<t>A future revision of this profile <bcp14>MAY</bcp14> request additional
registrations for the closure record media type
(application/closure-v2+json) and for COSE header parameters
specific to this profile.</t>

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

<t>This section is to be removed before publication as an RFC.</t>

<t>A reference Issuer implementation, a reference Verifier
implementation (pip-installable as keel-verifier), and a complete
Permit specification (including JSON schemas, canonical-JSON rules,
chain entry algorithm, and an audit-export bundle format) are
published at <xref target="KEEL-PERMIT"/> under the Apache License 2.0. The
specification is at version 1.0.0 as of this writing.</t>

<t>The implementation does not currently emit COSE_Sign1 envelopes;
adding the dual-signature envelope described in this profile is
work in progress.</t>

<t>A 14-framework control mapping artifact (CCPA, CPPA ADMT, EU AI
Act, GDPR Art 17, AICPA SOC 2, NIST AI RMF, ISO/IEC 42001:2023,
OWASP LLM Top 10 (2025), MITRE ATLAS, OWASP API Security Top 10
(2023), OWASP ASVS v5.0.0, FedRAMP / NIST SP 800-53 Rev 5, CIS
Controls v8.1, PCI DSS v4.0.1) is also published in the same
repository.</t>

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

<t>The author thanks the SCITT working group, the authors of
<xref target="I-D.emirdag-scitt-ai-agent-execution"/>,
<xref target="I-D.kamimura-scitt-refusal-events"/>, <xref target="I-D.klrc-aiagent-auth"/>,
and <xref target="I-D.veridom-omp"/> for their work on adjacent profiles.</t>

</section>


  </middle>

  <back>


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

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



<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="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</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 a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</reference>
<reference anchor="RFC8785">
  <front>
    <title>JSON Canonicalization Scheme (JCS)</title>
    <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
    <author fullname="B. Jordan" initials="B." surname="Jordan"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
      <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8785"/>
  <seriesInfo name="DOI" value="10.17487/RFC8785"/>
</reference>
<reference anchor="RFC3161">
  <front>
    <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
    <author fullname="C. Adams" initials="C." surname="Adams"/>
    <author fullname="P. Cain" initials="P." surname="Cain"/>
    <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
    <author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/>
    <date month="August" year="2001"/>
    <abstract>
      <t>This document describes the format of a request sent to a Time Stamping Authority (TSA) and of the response that is returned. It also establishes several security-relevant requirements for TSA operation, with regards to processing requests to generate responses. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3161"/>
  <seriesInfo name="DOI" value="10.17487/RFC3161"/>
</reference>

<reference anchor="I-D.ietf-scitt-architecture">
   <front>
      <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Cedric Fournet" initials="C." surname="Fournet">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
         <organization>ARM</organization>
      </author>
      <author fullname="Steve Lasker" initials="S." surname="Lasker">
         </author>
      <date day="10" month="October" year="2025"/>
      <abstract>
	 <t>   Traceability in supply chains is a growing security concern.  While
   verifiable data structures 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, interoperability between different
   transparency services, and compliance with various auditing
   procedures and regulatory requirements.

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

<reference anchor="I-D.ietf-scitt-scrapi">
   <front>
      <title>SCITT Reference APIs</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Jon Geater" initials="J." surname="Geater">
         <organization>Bowball Technologies Ltd</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <date day="21" month="April" year="2026"/>
      <abstract>
	 <t>   This document describes a REST API that supports the normative
   requirements of the Supply Chain Integrity, Transparency, and Trust
   (SCITT) Architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-09"/>
   
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

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



<reference anchor="RFC6962">
  <front>
    <title>Certificate Transparency</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="A. Langley" initials="A." surname="Langley"/>
    <author fullname="E. Kasper" initials="E." surname="Kasper"/>
    <date month="June" year="2013"/>
    <abstract>
      <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate 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>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="6962"/>
  <seriesInfo name="DOI" value="10.17487/RFC6962"/>
</reference>
<reference anchor="RFC9068">
  <front>
    <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
    <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
    <date month="October" year="2021"/>
    <abstract>
      <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9068"/>
  <seriesInfo name="DOI" value="10.17487/RFC9068"/>
</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="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="I-D.emirdag-scitt-ai-agent-execution">
   <front>
      <title>AI Agent Execution Profile of SCITT</title>
      <author fullname="Pinar Emirdag" initials="P." surname="Emirdag">
         <organization>VERIDIC Inc.</organization>
      </author>
      <date day="11" month="April" year="2026"/>
      <abstract>
	 <t>   This document defines a SCITT (Supply Chain Integrity, Transparency,
   and Trust) profile for creating independently verifiable, tamper-
   evident records of autonomous AI agent actions.  The profile defines
   the AgentInteractionRecord (AIR) as the COSE_Sign1 signed statement
   payload for material agent actions; maps SCITT roles to the agent
   execution context, with the Agent Operator as Issuer and an
   independent Evidence Custodian as Transparency Service; specifies
   Registration Policy requirements including hash chain integrity,
   temporal ordering, and sequence completeness; defines a redaction
   receipt mechanism for privacy-preserving evidence custody; and
   provides compliance mappings to EU AI Act Articles 12 and 19, DORA,
   NIST AI RMF, MAS AI Risk Management Guidelines, PCI DSS v4.0, and
   MiFID II.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-emirdag-scitt-ai-agent-execution-00"/>
   
</reference>

<reference anchor="I-D.kamimura-scitt-refusal-events">
   <front>
      <title>Verifiable AI Refusal Events using SCITT</title>
      <author fullname="TOKACHI KAMIMURA" initials="K." surname="Tokachi">
         <organization>VeritasChain Standards Organization</organization>
      </author>
      <date day="29" month="January" year="2026"/>
      <abstract>
	 <t>   This document defines a claim set for recording AI content refusal
   events.  The claim set specifies the semantic content and correlation
   rules for refusal audit trails, independent of any particular
   serialization format.  The claims are designed to be carried within
   SCITT Signed Statements and verified using SCITT Receipts.

   This specification addresses claim semantics and verification
   requirements; it does not mandate a specific encoding.  A CDDL
   definition is provided for CBOR-based implementations, and equivalent
   JSON representations are shown in an appendix for illustration.

   This specification provides auditability of logged refusal decisions.
   It does not define content moderation policies, classification
   criteria, or what AI systems should refuse.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-kamimura-scitt-refusal-events-02"/>
   
</reference>

<reference anchor="I-D.klrc-aiagent-auth">
   <front>
      <title>AI Agent Authentication and Authorization</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>Open AI</organization>
      </author>
      <date day="30" month="March" year="2026"/>
      <abstract>
	 <t>   This document proposes a model 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-klrc-aiagent-auth-01"/>
   
</reference>

<reference anchor="I-D.veridom-omp">
   <front>
      <title>Operating Model Protocol (OMP) Core -- Version 01: Invariant 3 -- Verifiable Delegation Binding</title>
      <author fullname="Tolulope Adebayo" initials="T." surname="Adebayo">
         <organization>Veridom Ltd</organization>
      </author>
      <author fullname="Oluropo Apalowo" initials="O." surname="Apalowo">
         <organization>Veridom Ltd</organization>
      </author>
      <date day="1" month="May" year="2026"/>
      <abstract>
	 <t>   This -01 version of the Operating Model Protocol (OMP) Core
   specification introduces Invariant 3: Verifiable Delegation Binding.

   OMP version -00 establishes two invariants: (1) deterministic routing
   and (2) immutable trail.  These invariants are necessary but not
   sufficient for adversarial evidentiary defensibility.  A tamper-
   evident record of an unauthorised decision is still an unauthorised
   decision.

   This amendment adds Invariant 3, which closes the gap between record
   existence and authority validity by requiring that every ASSISTED or
   ESCALATED routing state bind the Named Accountable Officer field to a
   verifiable DelegationInstrument object at the moment of decision.

   When no valid binding can be established, the system sets
   authority_binding_result to AUTHORITY_UNBOUND -- a sealed, positive
   evidentiary declaration of the absence, not a silent failure.  The
   routing_state is preserved; execution_permission is set to BLOCKED.
   Three axes are orthogonal: routing_state, authority_binding_result,
   and execution_permission.

   This amendment is additive and non-breaking.  All twelve existing OMP
   profile drafts inherit Invariant 3 from the core specification.
   AUTONOMOUS routing states are exempt unless a profile-specific
   Watchtower gate requires binding.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-veridom-omp-01"/>
   
</reference>

<reference anchor="KEEL-PERMIT" target="https://github.com/keelapi/keel-permit/blob/1818c3e04eddf9a2ab6231486ca2cdb2d250ec74/spec/permit-chain-v1.md">
  <front>
    <title>Keel Permit Specification</title>
    <author >
      <organization>Keel API, Inc.</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

</references>


<?line 732?>

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

<section anchor="example-permit-informative"><name>Example Permit (informative)</name>

<t>The following is an informative example of a Permit object in its
JSON form, before COSE_Sign1 wrapping:</t>

<figure title="Example Permit JSON"><sourcecode type="json"><![CDATA[
{
  "id": "9c8b7a6e-5d4c-3b2a-1f0e-d9c8b7a6e5d4",
  "project_id": "0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
  "decision": "allow",
  "reason": "policy-eval-pass",
  "actions_json": [],
  "subject_type": "spiffe",
  "subject_id": "spiffe://example.org/agent/x123",
  "action_name": "chat.completions.create",
  "resource_provider": "example-llm",
  "resource_model": "example-model-1",
  "estimated_input_tokens": 1024,
  "estimated_output_tokens": 512,
  "request_fingerprint":
    "3b8d6e0e7f4c2a1d5b9e0c3a7f1d4e6b8a2c5f0d3e6b9a1c4f7d0a3e6b9c2f5d",
  "idempotency_key": "req-2026-05-14-abc",
  "policy_id": "default-allow-policy",
  "policy_version": "v3",
  "created_at": "2026-05-14T10:15:30Z",
  "binding_request_hash":
    "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2"
}
]]></sourcecode></figure>

</section>
<section anchor="example-composition-reference-informative"><name>Example Composition Reference (informative)</name>

<t>A Permit referencing an OMP authority_binding artifact:</t>

<figure title="Example Permit with OMP authority_context reference"><sourcecode type="json"><![CDATA[
{
  "id": "9c8b7a6e-5d4c-3b2a-1f0e-d9c8b7a6e5d4",
  "decision": "allow",
  "subject_type": "spiffe",
  "subject_id": "spiffe://bank.example/agent/loan-decision",
  "action_name": "loan.decision.assess",
  "resource_provider": "internal-llm",
  "resource_model": "loan-model-3",
  "decision_details": {
    "decision": "allow",
    "code": "policy.allow",
    "authority_context": {
      "uri":
       "https://example.bank/authority/officer-12345/2026-05-14",
      "digest":
       "sha256:b7d1c0e5a4f6b2d3c8e9a0f1b4c5d6e7f8a9b0c1d2e3f4a5",
      "signed_by": "bank.example.authority.root.2026"
    }
  },
  "binding_request_hash":
    "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="open-issues-for-01-and-beyond"><name>Open Issues for -01 and Beyond</name>

<t>This section is to be removed before publication as an RFC.</t>

<t>The following issues are open as of this -00 revision:</t>

<t><list style="numbers" type="1">
  <t>Whether to retain the dual-signature transition pattern (Mode A
plus Mode B) or to deprecate Mode A in a future revision.</t>
  <t>Whether to migrate the canonicalization step to strict RFC 8785
JCS, while preserving the stripping steps. Discussed in
<xref target="canonicalization-and-receipt-choices"/>.</t>
  <t>The exact normative format of the linked-chain Receipt: field
layout, checkpoint signature binding, partial-segment encoding
for transport.</t>
  <t>Whether the COSE Sign1 protected header should carry chain
integrity claims directly (sequence_number, prev_hash,
record_hash) as an alternative to relying on a separate Receipt.</t>
  <t>IANA registration timing: in parallel with this draft, or after
WG adoption.</t>
  <t>Whether to define a strict-mode profile-02 that requires Mode B
only and aligns canonicalization with RFC 8785 strictly.</t>
  <t>Several normative elements are currently specified in
<xref target="KEEL-PERMIT"/> rather than in this document: the Permit
object's complete field-level specification, the canonical-JSON
rules and their deviations from RFC 8785, the chain-entry
record_hash algorithm, the Verifier failure-code taxonomy, and the
audit-export bundle format. This externalization is intentional for
this -00 revision. A future revision is expected to migrate these
elements into this document, or into an adopted companion
specification, so that the profile is interoperable without
dependence on an external document.</t>
</list></t>

<t>Feedback on any of these is welcome on the SCITT mailing list.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA8V96XLbSJrg/3yKXNWPomYJWpQsH/LszNKy3KUZ29JK8tT2
dnQokkBSQhsEuAAomVPhfpZ5lnmy/a48AIKyq3s3tiO6TBGJPL787otJkqg2
bwt7ovdm+vr0/OZGX9bVIi+sXlQ1fLbJ2Vebrtu8KvXsXM9S/rRu76s6/3dD
f13ZtKqzZk+Z+by2DzCXe49egbHdqfdUVqWlWcKqWW0WbbJcl9W/J02at22y
svUyh394aHJwoFLT2ruq3pzovFxUKl/VJ7qt1017eHDw+uBQZfD8RB8eHL5I
Do6T6aH6YjePsKETpXXCK9MnU7f5Ik9zU8BErS2K/M6WqaVnsE8Df7U8MD4d
fdPWpmxWpobxG/ri9OL6TMZmOb9lH/LMz2fStFqXrZnnRd5ulGpaU2a3pqhK
2OrGNmqVn+g/tVU61k1Vt7VdNPBps8QPf1aKd0AHgP9r2G9zok8n+iMCir5h
8J3e13nT5qaMnlT1nSll8yf6X60t9OzyfKzPy3RCA+zS5MWJTt27//0LjDGr
fJJWSxqwrmFz9227ak6ePYsfqrKqlzDxg8WtXb0/fX1wfBg+HsnHVy9fHcvH
o+mLKX48T95Nctsu5JJNnd7nrU3bdW0HHjdpDUueKIUX3l3xxesXYcUXr9zH
afj2+aFf0S7zOjN3btE8oTtOrMNoN+6LWebLdW1kIFzCujFFYh9gdOMHFXUK
c/AUeEHuwYOt86xaJtVyhV/969nZh+Ty7Orj+c0JgbM19Z1tA0Tv8vZ+PUeA
OuDSv4L5/ArTJF3eJX2tr1c2RfR1SKl1QBK59sHbDtShVJIAZs4bwOa0Verm
Pm80UOJ6CSfSDc9vG22EWkfX69Wq2ACSmbyECYEKa0Dmsb6JqGGsALHhGyDH
fb2KWMcKWIAHdJekdM0MQ1eLQHiGOEsz0Tf31k+U2UVe8pbyu9Jm+rqF49B+
283KjnV7b9Vej0sN8KY9PTJFU+nUFAXMYgSo+ziBaZXbj9GrqsjTDdy8Kdaw
UgY7SPMGJ2orDS9Xj2P4qgQgwBHTe5yuvLPalModRPNB9NwCFCzN775CcOcA
uDa9h5lxQr2sMrgxOC4yj3qs2qoqaO7G1g95arvgSOvNqq3ugDjuczzKRs/z
EvaNUOhCON42PIWDl1WJ7+j5prUEefy6tv97bZuWd5k3qlnPG/yqbGHusNex
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
1s+3e2Z8AAA=

-->

</rfc>

