ECL AARM Binding Profile 1

Requirement-IDs: compiled Version: 1.0 Status: normative profile of ECL-1 Version 1.0

This profile states how a control plane that implements AARM (Autonomous Action Runtime Management) connects to an ECL-1 deployment without weakening the guarantee: every in-scope action crosses an enforcement boundary that the governed AI system cannot bypass, under a decision that the governed AI system cannot change, a failure that leaves the action without required proof ends closed, and every decision leaves evidence that a third party can check and, from L2, verify offline. An AARM control plane takes one of two roles for each in-scope action class. It implements the ECL Decision Layer, and then answers DCMP-2 decision requests itself; or it supplies judgment inputs to a separate ECL Decision Layer, and then its outputs can make an outcome stricter and nothing else. In both roles the signed ECL evidence bundle is the record of whether an action was released, and an AARM receipt is bound to it by digest.

The profile adds requirements to a claim that declares it. It removes none of the core requirements or of the requirements of DCMP-2, EBMP-2 and TRUST-POLICY-1.

Under this profile an action crosses its release boundary (ECL1N-0185) when an ECL enforcement point releases it on the verified admit of its DCMP-2 decision request (AB1-002, AB1-004); where an AARM deployment issues a credential for an admitted action under R9 (AB1-012), the boundaries to name are the credential's issuance and the resource server's use of it, as OAUTH-AUTHORITY-1 names them for an OAuth access token.

Pinned sources

The AARM text this profile binds to is fixed by revision and SHA-256 digest of the raw UTF-8 bytes, as docs/crosswalk.md fixes the sources it maps. The machine-readable record is conformance/binding-sources.json.

Source Revision File SHA-256
AARM specification version 1.0 (February 2026), rendered at https://aarm.dev/spec aarm-dev/aarm commit c1f9b27cef60f7035cc8d854b0ae6d1ea9781680 src/app/spec/page.tsx 9794ca90b4899538459cf25478419fbfe147353dd8e206c31fc6a157c2d1ec11
AARM conformance requirements (last updated 2026-03-26) aarm-dev/docs commit 5bd02fdb5d5f6483a16a42539e38cfe8743c3a97, unchanged at 8eff208b98786b2c9a578b26cb7eaca440ec4020 conformance/requirements.mdx d5b88e2343114a282d04a4b421bf0d13b27eba82f82b9acee0cb62723bb6b5c2
AARM receipt schema (informative component page) aarm-dev/docs commit 8eff208b98786b2c9a578b26cb7eaca440ec4020 components/receipts.mdx a105fd2ad75b00fa416fcb3defbfce1f0e4dc2f444506f3ca96dc374c89720c0

The conformance requirements file has the same bytes that the mapping packet conformance/crosswalks/aarm-r1-r9.json records. The names of the five AARM authorization decisions (ALLOW, DENY, MODIFY, STEP_UP and DEFER) and of requirements R1 to R9 are used as the pinned text spells them.

Roles and declarations

AB1-001§ — A claim of this profile MUST identify the AARM revision it implements by the version, revisions and digests that this profile pins, and MUST declare, for each in-scope action class, whether the AARM control plane implements the ECL Decision Layer for that class or supplies judgment inputs to a separate ECL Decision Layer.

AB1-002§ — When the AARM control plane implements the Decision Layer, it MUST answer each DCMP-2 decision request with a DCMP-2 decision response that binds the exact request (DCMP2-044 to DCMP2-051) and is signed under the claim's trust policy with a key that the policy accepts for the decision-response purpose (TRUST-POLICY-1), and an enforcement point MUST release an action only on such a response; an AARM decision, receipt or other AARM artifact MUST NOT release an action by itself.

Decisions

AB1-003§ — The ECL outcome for an action that an AARM decision governs MUST be at least as strict, in the strictness order of the core standard (Section 4.3), as the outcome this mapping gives: ALLOW maps to admit only when policy evaluated over verifiable inputs permits the action under the one-way rule of the core standard (Section 5.2), and otherwise to deny; DENY maps to deny; STEP_UP maps to challenge naming the approval required (ECL1N-0174, ECL1N-0177), or to hold; DEFER maps to hold; MODIFY maps to deny of the original request, with the modified action handled under AB1-004.

AB1-004§ — A MODIFY decision MUST NOT release the original action. The modified action, if it is to go ahead, MUST be submitted as a new DCMP-2 decision request that carries the modified parameters, as the same JSON values, in action.parameters and action.parameters_digest, carries the original request's issuer, actor, subject, delegation_chain, authority_request, constraints and integrity_policy, and its action with only action_id, parameters and parameters_digest changed, names the original request as a causal predecessor by identifier and digest with the relation ecl.relation.modification-of.v1, and is evaluated and admitted on its own; an enforcement point MUST release only the parameters that the new request's admit binds. A MODIFY whose modified parameters change the action's target or operation, as the deployment derives them from the parameters, MUST end in deny of the original with no new request. An exchange record of a MODIFY that holds neither a modification_request nor a release records a deny of the original with no new request and MUST NOT be reported for the missing new request, since the record does not show why the modified action did not go ahead; one that holds a modification_response without its modification_request MUST be reported as ecl.rule.aarm-modification-new-request.v1. A decision other than MODIFY has no new request: the enforcement point MUST release the action, if at all, only on the admit of the original request, and an exchange record whose aarm_decision is not MODIFY and that holds a modification_request or a modification_response MUST be reported as ecl.rule.aarm-modification-new-request.v1.

The new request keeps the original's target and operation, so a MODIFY that changed the parameter from which the deployment derives the target, such as the account to be debited, would release, under an admit for one resource, parameters that act on another. An exchange record does not show how the deployment derives the target and operation from the parameters. A checker of the record accepts the record of a MODIFY that ends as AB1-004 requires, with no new request and no release, as it accepts that of any MODIFY whose modified action did not go ahead. It cannot see whether the modified parameters of a new request that went ahead changed the target or operation; the assessor checks that against the deployment's mapping, which for an MCP tool is the mapping that MG1-003 declares.

AB1-005§ — A hold or challenge mapped from DEFER or STEP_UP MUST carry an expires_at no later than the deadline of the deferral or approval, and a safe_state under which the waiting action is not released: ecl.state.fail-closed.v1, ecl.state.quarantine.v1, ecl.state.emergency-halt.v1 or ecl.state.restricted.v1. The expiry of that deadline, or the AARM control plane's failure to answer within its declared timeout, MUST end in an outcome that releases nothing (DCMP2-018, DCMP2-041).

The registry of operational values marks the first three states permits_new_effects false. It marks ecl.state.restricted.v1 and ecl.state.degraded.v1 profile-bounded, but the two differ for a waiting action: the restricted state permits only bounded diagnosis, recovery and safe-shutdown operations, while the degraded state permits a declared subset of ordinary operations, which can include the action that waits. A fail-open or degraded state therefore never decides an expiry.

Judgment inputs

AB1-006§ — The outputs of AARM R2 (context accumulation, including the data classifications it records), R3 (policy evaluation with intent alignment, including any confidence score) and R7 (semantic distance), and in the judgment-source role every AARM output including the AARM decision itself (R4), MUST be treated as judgment inputs: the Consequential Action Register MUST declare each of them judgment; the exchange record MUST list each one that the decision consulted in inputs with that class and its aarm_requirement, and the decision response MUST record it in ecl.ext.decision-basis.v1 with that class (AB1-013); each of them MUST NOT be part of the basis of an admit, and an admit MUST rest on verifiable inputs only. An AARM DENY, STEP_UP or DEFER that rests on them MAY make the outcome stricter. In the judgment-source role, the inputs MUST include exactly one input whose aarm_requirement is R4, of class judgment. These classes hold in every decision basis that the exchange record holds: an entry of the ecl.ext.decision-basis.v1 of the record's modification_response whose input is an input that the record lists with an aarm_requirement that this requirement makes judgment MUST have the class judgment.

R3 covers both static policy and intent alignment. Because the profile classes all R3 output as judgment, a deterministic AARM policy result can support an admit only when the ECL decision point evaluates the same policy over verifiable inputs itself.

Receipts and evidence

AB1-007§ — Each AARM receipt for an in-scope action MUST be bound to the ECL evidence of that action: the action's execution_terminal event MUST carry the registered extension ecl.ext.aarm-receipt.v1 with the receipt's identifier (its receipt_id), the ecl.digest.sha-256.v1 digest of the RFC 8785 canonical form of the receipt as retained, signature included, and the AARM decision that the receipt records in decision.result; that decision MUST be the decision the exchange record holds and consistent with the ECL outcome under AB1-003, and the receipt's action.parameters MUST have, under DCMP2-007, the digest that the decision request carries in action.parameters_digest.

AB1-008§ — The signed ECL evidence bundle MUST be treated as the record of whether an action was authorized and released (EBMP2-045): an AARM receipt supports claims about the AARM evaluation, such as the context it accumulated, the intent alignment it computed, the policy it matched and its reasons, and MUST NOT be used to establish that an action was authorized or released; a receipt that disagrees with the ECL evidence MUST be reported as a verification finding, and the ECL evidence governs.

AB1-009§ — An adapter that retains exchange records for this profile MUST write each one as ecl_aarm_exchange_v1, valid against https://externalcontrollayer.ai/ns/schema/binding/aarm-exchange/1, and every value of ecl.ext.aarm-receipt.v1 it emits MUST validate against https://externalcontrollayer.ai/ns/schema/extension/aarm-receipt/1.

Interception, telemetry and credentials

AB1-010§ — An AARM interception point (a protocol gateway, SDK instrumentation, a kernel eBPF hook or a vendor integration) MUST NOT be claimed as an ECL enforcement point unless it meets ECL1N-0043 and ECL1N-0046 and the Consequential Action Register records its enforcement class with its rationale and residual bypass risk (ECL1N-0044, ECL1N-0045). An interception point that runs in a process, container or account in which the governed AI system can execute code, or that the governed AI system can start, stop or reconfigure, MUST NOT be claimed as an ECL enforcement point; it MAY carry an AARM decision to an ECL decision point.

AB1-011§ — Telemetry that the AARM control plane exports under R8 MUST be treated as a copy: when it carries ECL decisions or evidence it MUST follow OTEL-EVIDENCE-EXPORT-1, and it MUST NOT be the record a claim relies on for ECL1N-0047, FR-107 or FR-108.

AB1-012§ — A credential that an AARM deployment issues for an admitted action under R9 MUST NOT carry more authority than the action's ECL authorization: no wider scope, no other audience, no later expiry and no more uses; it MUST NOT be held by the governed AI system; an OAuth access token meets this requirement when it follows OAUTH-AUTHORITY-1.

Decision basis

AB1-013§ — The inputs of an exchange record MUST be the entries of the decision basis that its response records in ecl.ext.decision-basis.v1: each input of the record, without its aarm_requirement, MUST equal the entry of the extension's value whose input is the same, and each entry MUST appear in the record exactly once. A response that does not carry the extension records no inputs, and a response that carries it more than once matches no record. A record that breaks this MUST be reported as the verification finding ecl.rule.aarm-inputs-match-basis.v1. The record's response, and its modification_response when it holds one, MUST each carry exactly one ecl.ext.decision-basis.v1 and MUST also satisfy DCMP2-053, each with the record's request or modification_request as the request it answers, with the response clock-skew allowance of the reference verification profile, zero (DCMP2-047); a record whose response fails either MUST be reported with ecl.rule.decision-basis-one-way.v1. Each DCMP-2 message that the record holds MUST satisfy the semantic rules of DCMP-2, and a record that holds one that fails a rule MUST be reported with that rule. The decision basis of the record's modification_response MUST carry the register reference of the decision basis of the response, member for member, and MUST record the same inputs, compared as input names are, each with the class, required, source and derived_from that the record's inputs give it; a record that breaks this MUST be reported as ecl.rule.aarm-inputs-match-basis.v1.

The record is the adapter's account of a decision, and the response is the decision point's signed account of the same decision. If the two could disagree, each could pass its own check: a record could class an AARM output as judgment while the signed basis classes it verifiable and rests the admit on it. The record's inputs use the vocabulary of the decision basis (an entry of ecl.ext.decision-basis.v1 with the AARM requirement added), so every member is compared, including the status and reference of an input that was unavailable, late or malformed and the effect of each input. Agreement alone would let a record and its response agree on a basis that breaks the one-way rule, such as an admit while a required input was unavailable, or a verifiable input computed from the intent-alignment score; the response is therefore held to DCMP2-053 as it would be in a signed evidence bundle.

The decision basis of the modification response is compared with the record for the same reason, since its admit releases the modified action. The new request is the original action with the modified parameters (AB1-004), of the same action class, so the register version declares the same inputs for both decisions; the status, effect, reference and times of each input describe the new decision and may differ. The new request is decided under the register version of the first decision; if that version is no longer in force, the modification is not admitted.

Decision mapping (informative)

AARM decision ECL outcome Release Notes
ALLOW admit, or deny when ECL policy over verifiable inputs does not permit the action Only on a verified admit The AARM decision is one input; ECL's own authority, scope, validity, budget and approval checks still apply.
DENY deny None The reason code ecl.reason.native-policy-disposition.v1 keeps the AARM reason in its detail.
MODIFY deny of the original; a new request for the modified action, if it is to go ahead Only the new request's admitted parameters The new request names the original with ecl.relation.modification-of.v1. A MODIFY that changes the target or operation has no new request (AB1-004).
STEP_UP challenge (or hold) until the approval is recorded None until a new evaluation admits The approval follows ECL1N-0174 and EBMP2-063.
DEFER hold None The deadline and a safe_state that releases nothing decide expiry (AB1-005).

Receipt fields (informative)

AARM receipt field (pinned R5 list) ECL counterpart
Action: tool, operation, parameters, timestamp DCMP-2 request action.operation, action.parameters and action.parameters_digest, issued_at
Context: session identifier, accumulated context workflow.workflow_id; accumulated context is a judgment input recorded by digest
Identity: human principal, service identity, agent identity, role or privilege scope subject, issuer, actor; scope is checked against the ECL authorization
Decision: result, policy matched, reason DCMP-2 response outcome, policy and reasons
Approval EBMP-2 human_intervention event with ecl.ext.approval-record.v1
Deferral hold response, its deadline and the follow-up evaluation
Outcome execution_terminal event state and side_effects
Signature Not mapped: ECL evidence carries its own INTEGRITY-ENVELOPE-1 signatures, and the receipt keeps its own

Exchange record (informative)

An ecl_aarm_exchange_v1 record holds one action's exchange. Its members are the role; the aarm_decision with its decision, decided_at, the deadline of a DEFER or STEP_UP and the modified_parameters of a MODIFY; the inputs of the ECL decision, each an entry of the decision basis (input, class, required, status, effect and, where they apply, reference, source and derived_from) with the aarm_requirement it comes from, the AARM decision itself listed once as R4 in the judgment-source role; the DCMP-2 request and response, and for a MODIFY whose modified action went ahead the modification_request and modification_response; a release member only when the action was released; and the receipt with the terminal event that binds it. The inputs are the inputs that the response records in ecl.ext.decision-basis.v1 (AB1-013). The rules registered for this profile, whose names begin ecl.rule.aarm-, check a record after its schema.

Security considerations

In the Decision Layer role a compromised control plane is a compromised decision point: it can admit requests that policy does not permit, within what DCMP2-044 to DCMP2-050 bind; the claim's independence class and Section 9.8 of the core standard bound that risk. In the judgment-source role its outputs cannot be the basis of an admit, so a compromised control plane can make outcomes stricter and cannot widen ECL authority. Intent alignment and semantic distance are computed over content that the governed AI system influences, and an embedding model can be steered; that is why the profile classes them as judgment. An AARM receipt signed with a key that the governed AI system can use gives no assurance against that system; the ECL evidence-signing key custody rules (Section 9.8 of the core standard) apply to the ECL evidence that binds the receipt. Instrumentation inside the governed AI system's own process can be disabled or bypassed by that system, which is why AB1-010 never lets it count as an enforcement point. SDK instrumentation can also miss paths it does not instrument, so the register's reconciliation with the reachable capability inventory (ECL1N-0008) decides which paths the claim covers.

Conformance

Kind What the citation establishes
Vectors The aarm-binding suite accepts a MODIFY that ends in deny with no new request and no release, and refuses an outcome weaker than the mapped decision, a modification released under the original request, not linked to it, or whose new request carries a number where the modified parameters hold a boolean, a modification response without its new request, a new request recorded, and released, after a decision other than MODIFY, a deferral that outlasts its deadline or expires into a fail-open state, an AARM output classed as anything but judgment or used as the basis of an admit, the admit that releases a modification among them, an AARM decision listed without its requirement in the judgment-source role, a release without an admit, outside its window or with other parameters, and a receipt whose digest, decision or parameters disagree with the ECL evidence; the binding-basis suite refuses a record whose inputs disagree with the decision basis of its response, and a record whose response or modification response carries no decision basis, or records one that breaks DCMP2-053
Assessor procedure Role declarations, interception points, telemetry, credential scoping, and how the deployment derives each action's target and operation from its parameters, which decides whether a MODIFY can be applied, so that no modification that changes them is released (AB1-004)

The vectors establish the behavior of exchange records, not the conformance of an AARM product, and this profile claims no AARM conformance or endorsement.