External Control Layer

The ECL-1 Version 1.0 specification

ECL-1 Version 1.0 is a set of documents: the core standard, the protocols and profiles it relies on, and the schemas, registries, and tests that make its requirements checkable. The text of each document is in the repository on GitHub, and this site hosts a copy of each, rendered for reading. Every link on this page to a document’s text, the licenses, the schemas, registries, and tests opens Version 1.0 at the repository’s tag v1.0, which does not change when the main branch does.

Version
ECL-1 Version 1.0, published on 5 November 2026. Maintained by G-14, Inc.
Rights
Text under CC BY 4.0, and schemas, registries, tests, and code under Apache-2.0, with G-14’s patent pledge

The document set at a glance

ECL-1 core standard, Version 1.0The guarantee, the six control layers, 628 requirements, the levels and claims, and the checklist an assessor applies. Every other document serves it.

The core standard states the requirements. The protocols define the messages and evidence, the profiles tighten the core for a declared context, the binding profiles state how ECL-1 works with other systems, and the schemas, registries and tests make the requirements checkable. The Standard page lists every document.

The core standard

The core standard states what a deployment must do and what a claim must say. Its Section 7 sets the conformance levels and the claim rules, and its Section 11 is the checklist an assessor works through.

Protocols

The protocols define the messages, evidence, and signatures that pass between the parts of a control layer. They are normative companions of the core standard, which cites each by version in its Section 3.4.

Trust policy and offline verification

A verifier checks evidence under the checking party’s own trust policy, so that keys and policies carried with the evidence never vouch for it. These documents say what that policy holds and how evidence reaches a reader with no network path to its producer.

Profiles

A profile tightens the core for a declared deployment or assurance context. It may add requirements and prohibit optional behavior, but it may not weaken a core requirement while claiming the same conformance scope, and it applies only to a claim that declares it.

Binding profiles

A binding profile states how ECL-1 works with another system. It claims no conformance with that system and no endorsement by its owners, and under each profile an action is released only on an ECL-1 admit for that exact request.

Informative guides and records

These documents state no requirement of their own. Each obligation they describe is set, with its identifier, in the core standard or a normative companion that they cite.

The repository also holds guides for buyers, implementers, and assessors in its docs folder, among them the integration contract, which states what an agent, a tool server, or a gateway must expose, and must not hold, to be controllable.

Schemas, registries, and tests

The core standard lists the schema set, the registry set, the validator, and the conformance vectors among its companion artifacts, which are part of the normative assessment package at every level (Section 3.4). They do not override the core, and a contradiction between them and the text is an error to report.

schemas
JSON Schemas for every DCMP-2 message, EBMP-2 record, envelope, claim, register, assessment package, trust policy, and offline package.
registries
The compiled requirements, the semantic rules, the error codes, the extensions, the algorithm suites, and the terms, each with a stable identifier.
conformance
The conformance tests: positive and negative vectors with their expected results, signed fixtures, the incident replay scenarios, and the report format. The conformance page explains them.
formal
A TLA+ model of the runtime control invariant and a Tamarin model of DCMP-2 signing and binding. Why these models are used explains the ordering problems, assumptions, deliberately broken variants, reachability witnesses and recorded results. They check the modelled design, not an implementation.
web/verifier
The offline verifier for a web browser, and the TypeScript library and command line it is built on, in packages/ecl-ts.
packages/ecl-verify
The Python verifier and its command line, ecl-verify.
go/crosscheck
The Go verifier and its command line, ecl-verify-go.

Versions

Each document has its own version. A claim names the core version and the version of each companion it uses, as Section 7.7 of the standard requires. DCMP-2 and EBMP-2 messages also carry the version of their format in schema_version.

Requirement identifiers are never reused. A change follows the change process in the repository, and each new minor or major version has a public review window before it is published. Six release candidates, RC-1 to RC-6, preceded Version 1.0. None was published, and all are retired.

Citing ECL-1

Cite the version you used:

ECL-1 Version 1.0, External Control Layer Standard. Maintained by G-14, Inc. Published 5 November 2026. https://externalcontrollayer.ai/specification

The repository also provides citation metadata for reference managers.

A conformance claim needs more than a citation. The conformance page lists what a claim must state.

Report a problem in the text

Open an issue in the repository for an error, an ambiguity, or a contradiction between documents, and give the requirement identifier where there is one. A confirmed error is corrected through the change process, as an erratum or in a later version. The working group page explains how to propose a change.