GateAgent GuardProtocolMCPGovGuardSovereigntyFinGuardQuorumDemoTry itVerifyPricingDocsRequest Pilot
Formally verified · Apache 2.0
26 TLA+ theorems · 35 Alloy factsView Spec →Trust Model →
Pre-Execution Accountability for AI Agents

No receipt, no execution.

EMILIA is the authorization-receipt layer for irreversible AI-agent actions. Before an agent moves money, changes a record, deploys code, or deletes data, a named human signs the exact action on their own device — and afterward, anyone can verify who approved exactly what, offline, without trusting EMILIA or a compromised agent.

4,220
Tests Passing
26
TLA+ Theorems
85
Red Team Cases
AGENT CONSOLE · pre-execution gate
agent> reconciling invoices…
agent> about to wire $2,400,000 to a new account
⛔ BLOCKED — 403 SIGNOFF_REQUIRED
The agent cannot self-authorize an irreversible money move. A real human must sign off.
✗ self-approval rejected — separation of duties
✓ Controller approved · ✓ CFO Delegate approved
✓ COMMITTED · signed receipt
Or run it yourself, offline: npx -y @emilia-protocol/crash-test
4,195
Automated Tests
passing — per proof-stats.json
26
TLA+ Theorems
TLC 2.19, zero errors
35
Alloy Facts
22 assertions verified
3
Independent Verifiers
JS · Python · Go, proven to agree
Apache 2.0
License
Open specification
The proof

We didn’t just claim it’s safe. We proved it — with machine-checked math.

Most “AI governance” is policy documents and good intentions. EMILIA’s core guarantees are written as formal specifications and verified by a model checker on every commit. The proofs are open — read them, or try to break them.

26
TLA+ invariants
35
Alloy facts + 15 assertions
CI
machine-checked every commit
An authorization can be consumed exactly once — never replayed.
ConsumeOnceSafety
No path can write a committed state by bypassing the protocol.
WriteBypassSafety
Once an action is committed or refused, that outcome is irreversible.
TerminalStateIrreversibility
A signoff is bound to the exact action it approved — nothing else.
SignoffBindingMatch
A delegated agent can never exceed the authority of its principal.
DelegateCannotExceedPrincipal
No actor can approve or contest its own action.
SelfContestImpossible

Bounded model-checking of the authorization state machine (TLA+ / Alloy 6.0.0) — not a proof of any AI model’s behavior. It proves the protocol cannot be replayed, forged, or partially executed.

Read the spec →How the verification works →
How EMILIA Works

A control layer between approval and execution.

01
Observe

Start in observe mode: see every irreversible action that would require stronger approval — payments, overrides, vendor changes, autonomous AI actions — with zero blocking. The safe on-ramp before you enforce anything.

02
Verify

EMILIA Gate sits between approval and execution. Before a high-risk write reaches the system of record, it binds verified actor identity, authority chain, policy-pinned action context, and a one-time nonce.

03
Own

Where policy requires it, a named, accountable human signs off on the exact action — on their own device, bound to the exact action hash. Self-approval fails by construction. For the highest-stakes actions, a multi-party quorum — the two-person rule, in order, each human bound to the exact action — is enforced before execution.

04
Seal

A signed, Merkle-anchored authorization receipt is produced — an auditor-grade evidence packet, publicly verifiable offline with `npm install @emilia-protocol/verify`.

See a real receipt →
Why it’s hard to dismiss

Eight bindings, one invariant.

If an agent or system changes money, permissions, code, records, or regulated state through an EMILIA-integrated path, it is either rejected before mutation or it produces an offline-verifiable receipt proving the exact action, policy, authority, signoff strength, and execution binding. Each line below names the attack it closes.

01Reject before mutation

Consume must succeed before the write runs. An unauthorized action is stopped, not logged after the fact.

02Exact-action binding

Action hash plus a WYSIWYS display hash close “signed the wrong thing” — the human signs the exact action they saw.

03Policy binding

The receipt binds the policy content that was in force, not just a policy name or version label.

04Authority binding

Holding a credential is separate from holding permission to approve. The authority registry proves the signer was allowed to.

05Class-A enforcement

High-risk actions require a passkey / WebAuthn device signoff — or stronger. Weaker assurance fails closed.

06Execution attestation

After approval, an attestation proves what actually ran — and flags drift between the approved and executed action.

07Strict offline verifier

Outside parties verify pinned keys, RP identity, and policy hash without trusting EMILIA’s server. npm install @emilia-protocol/verify.

08SDK wrapper

Developers adopt the invariant directly around a dangerous write with requireReceipt(...) — no rebuild of the call site.

No receipt, no irreversible action. If it runs, anyone can verify who authorized exactly what.

The developer wedge

Wrap dangerous tools.
Require receipts.
Verify forever.

MCP is already the tool-action layer for agents. EMILIA is one wrapper around the irreversible ones — release_payment, delete_repo, deploy_production — so the tool refuses to run without a receipt. Verticals like FinGuard and GovGuard are where this is already proving out; the tool-call wrapper is how you adopt it.

// one wrapper around your tool dispatcher
import { withMcpGuard } from '@emilia-protocol/mcp-guard'
const guarded = withMcpGuard(handleTool, {
  annotations: {
    release_payment:  { irreversible: true, action: 'payment.release' },
    delete_repo:      { irreversible: true, action: 'github.repo.delete' },
    deploy_production: { irreversible: true, action: 'deploy.production' },
  },
}) // missing receipt → refused, never a silent pass
// see it in 60s, fully offline:
$ node examples/mcp/payment-server.mjs
The Wall of Regret

Every one of these passed. None of them had an owner.

The actions that drain accounts and break production are rarely “hacks.” They’re authenticated users, legitimate tools, approved channels — and afterward, no one can say who approved this. That unanswered question is the whole problem.

01

The vendor wire that passed

A payment destination changed inside a valid session, approved through the normal process, to a vendor whose bank details quietly moved. Business email compromise — not a hack.

02

The beneficiary swap

A remittance beneficiary was updated through approved channels. The system saw a legitimate change and let the money go.

03

The production credential

An infrastructure credential was rotated and a deploy was pushed without action-bound authorization. Every access was valid; the blast radius was not.

04

The agent that executed

An AI agent with broad tool access ran a high-risk, irreversible action. No human assumed responsibility for that specific operation.

Who approved this? In every case, no one could say.

EMILIA assigns a named human owner before the action runs — so the question always has an answer, on the record, that anyone can verify.

Control Surfaces

When an agent acts on money or someone’s livelihood, identity isn’t enough

The same tool-call wrapper, proven where the stakes are highest. Identity and access tools check who is acting. EMILIA checks whether this exact action should happen — and binds a named, accountable human to it. vs. legacy controls →

All use cases →

EMILIA Gate — the Consequence Firewall

The productized firewall for machine action. Deny-by-default at the actuator boundary: a consequential action runs only with a valid, sufficiently-assured, non-replayed receipt — then emits proof it ran. Software, cloud, and robots. Antivirus scanned files; firewalls filtered packets; EMILIA verifies actions.

CONSEQUENCE FIREWALLSHIPPED

MCP & Agent Tool-Calls

Wrap a dangerous MCP tool — release_payment, delete_repo, deploy_production — so it refuses to run without a receipt. One wrapper, fail-closed, works with any framework. This is the developer wedge.

MCPTOOL-CALL ENFORCEMENT

Energy — Verifiable Demand Response (GRACE)

Authorize, shed, measure, and prove datacenter curtailment so the grid pays against cryptographic proof, not self-report. COSA moves the megawatts; EMILIA proves the move was authorized and delivered.

GRACEPROOF-OF-CURTAILMENT

Financial — Money Movement

Ceremony-grade authorization on wire releases, beneficiary changes, account modifications, and privileged treasury actions before funds move.

BEC PREVENTIONSOX-READY

Government — Benefit Integrity

Bind identity, authority, and action context before a benefit determination, redirect, or override. Accountable decisions, due process proven.

NIST AI RMFEU AI ACT

Enterprise Privileged Actions

Require bound authorization for infrastructure changes, data exports, permission escalations, and production deployments.

ZERO TRUSTPAM LAYER
Implementation Surface

Start anywhere. Go as far as you need.

Zero-dependency verification. Interactive playground.
Embeddable trust badges. Integrate in minutes.

Verify It Yourself

Drop a receipt or a Face ID device signoff and watch every cryptographic check verify — entirely in your browser, nothing uploaded, no account, no EP server trusted.

/verify

Trust Playground

Walk through the EP lifecycle interactively. Create entities, issue receipts, run handshakes — all from one page.

/playground

Trust Explorer

Verify any receipt, proof, or entity. Like Etherscan for trust. Public, transparent, cryptographically verified.

/explorer

Embed Widget

Drop a trust badge on any page. One script tag, one web component. Live data from the EP operator.

<ep-trust-badge />
Get started

Three doors.
One protocol.

Start free and self-hosted, add the managed control plane when you scale, or bring it on-prem with the assurance a bank or agency needs to clear you.

Developer
Start with EP Core

Free and Apache 2.0. Grab a sandbox API key in 30 seconds — or self-host the SDK, MCP server, and Agent Guard.

Start free
Team
Run it on EP Cloud

Hosted control plane — managed policy registry, signoff orchestration, and auditor-grade evidence, no infrastructure to run.

See pricing
Enterprise
On-prem + assurance

VPC and air-gapped deployment; SAML/OIDC SSO + SCIM provisioning built in. Sector packs, compliance mappings, SLA. Procurement-ready paperwork.

Talk to us
Stay in the loop
Follow the protocol as it ships.

Updates on the standard, the verifier, and pilots — sent only when there’s something worth your time. No spam.

No spam. One email field, nothing else.

EMILIA Protocol — The Accountability Layer for AI Agents