A control layer for AI agents

Control what
your AI agents
can do.

Put policy, human approval and a tamper-evident record between your agents and the actions that matter.

Working prototype · Pilot conversations open

Cairn Ledger · demo sample data head d02b6f19
seqagentactionverdicthash
  1. 18204ops-agent-07payments.transferholdd02b6f19
  2. 18203ops-agent-07docs.searchallow7be04c1a
  3. 18202ops-agent-07crm.readallow4a91c7e2
  4. 18201research-03mail.senddeny9c12e8b7
  5. 18200research-03docs.searchallowe37f10aa
  6. 18199ops-agent-02crm.updateallow51ab8d03
  7. 18198ops-agent-02crm.exporthold310764e6
  8. 18197ops-agent-02crm.readallow149402c0
  9. 18196support-11kb.fetchallow08e87353
Illustrative actions. No live customer data.
01 Policy before action 02 People at the decision point 03 Evidence after every verdict
01

Agents act faster than anyone can watch.

An agent that can call tools can move money, change records and send messages thousands of times an hour. When an agent controls its own record, that record alone is not enough to establish what happened.

Cairn makes the record independent of the agent that produced it.

  1. 01

    One control point

    Connected tool calls pass through Cairn before they reach the tool.

  2. 02

    Policy beside the verdict

    Decisions record the policy identity and the rule that fired.

  3. 03

    One chain

    Each entry links to the one before it, so verification can detect changes to the retained chain.

02

One action, three mechanisms.

Follow a single tool call from the agent to the record.

01

Intercept

Connected tool calls pass through Cairn before they reach the tool. The agent sees an ordinary MCP endpoint. Cairn sees the action, its arguments and the identity of the agent that asked.

02

Decide

A policy engine evaluates the call against versioned rules. Low-risk actions pass. High-risk actions are held for a named human, or denied. The verdict is one of three words: allow, hold, deny.

03

Record

The verdict is written to a hash-chained ledger with the policy version that produced it. Each entry includes the hash of the one before. Remove or reorder an entry and the chain breaks where it happened.

01 · interceptThe call reaches Cairn, not the tool. 02 · decideRule transfer-high-value returns hold. 03 · recordEntry 18204 seals 18203.
03
Console

Follow a decision from request to record.

Explore an interactive preview of the ledger, policies, approvals and test scenarios.

head d02b6f19 · anchor 07:00Z sample data
seqtsagentactionpolicyverdicthash
1820407:41:12Zops-agent-07payments.transferpay-core v3.2holdd02b6f19
1820307:41:09Zops-agent-07docs.searchpay-core v3.2allow7be04c1a
1820207:41:07Zops-agent-07crm.readpay-core v3.2allow4a91c7e2
1820107:40:58Zresearch-03mail.sendcomms v1.4deny9c12e8b7
1820007:40:51Zresearch-03docs.searchcomms v1.4allowe37f10aa
1819907:40:44Zops-agent-02crm.updatepay-core v3.2allow51ab8d03

Every entry, in order, with its hash and the hash it seals.

policy pay-core v3.2   active · published 2026-08-30 · 14 rules

rule transfer-high-value:
  match    payments.transfer
  when     amount > 10000 GBP
  verdict  hold
  approver role:treasury
  timeout  15m -> deny

rule transfer-sanctioned:
  match    payments.transfer
  when     counterparty in list:sanctions
  verdict  deny

Rules as code, versioned. The version is pinned in every entry it produced.

held atentryagentactionpolicystatusDecision
07:41:12Z18204ops-agent-07payments.transfer · 24,500 GBP · Northwind Ltdtransfer-high-valuehold
07:40:40Z18198ops-agent-02crm.export · 1,204 records · to object storageexport-bulkhold
07:22:05Z18190research-03mail.send · external · 3 recipientscomms-externalallow · a.khan 07:24Z

Held actions wait for a named person. The decision, the person and the time go on the record.

scenarioattemptshelddeniedresult
INJECT-DOC-011239No unapproved action reached a tool
TOOL-HOSTILE-03826No unapproved action reached a tool
EXFIL-APPROVED-0215150All exports held for approval
ESCALATE-SLOW-05406133 low-risk actions allowed by rule

Adversarial scenarios run against the agent behind Cairn. The score is read from the ledger, not from a questionnaire.

04

Built for the people who have to sign.

CISO

A control point that does not depend on the agent vendor

Cairn sits outside the agent. It evaluates connected tool calls outside the model, giving your team a distinct place to define policy and inspect evidence.

Policy · Approvals
Auditor

Evidence that can be checked without trusting the operator

The prototype ledger and verifier use an open format. An exported record can be checked independently of the product interface.

Ledger · Verify
Regulated operator

A record built for the examiner

Replay any decision with the inputs, the policy version and the person who approved it. The record is written at the moment of the action, not reconstructed after the question.

Replay · Anchors
05
Open core

Evidence you can take with you.

The prototype includes an Apache-licensed ledger and verifier. We are building the managed product around the same record, so evidence remains readable outside Cairn.

Cairn supports MCP tool interception. Each pilot starts with an agreed workflow, tool boundary and deployment configuration.

The current reference workflow uses synthetic payments scenarios. Pilot scope and deployment controls are agreed before customer use.

Read the assurance page
cairn-verify sample data
$ cairn verify ledger.jsonl
reading 18,204 entries
chain intact · 0 gaps · 0 reorders
anchor 2026-09-05T07:00:00Z matches
policy versions referenced: v3.1, v3.2
ok
Evidence, not assurances

See Cairn hold an action and put it on the record.

A briefing takes forty minutes. We show the control point, the ledger and a replay, on your scenario if you send one.