Talk to sales
Recording · v1.4
For CCO & Head of AI RiskRegulated finance · 2026

Prove what youragents did.To anyone. At any time.

ledger · productionREC
Sealed 1,475,216Chain ● continuous

Runfile is the flight recorder for AI agents — a tamper-evident record of every prompt, tool call, retrieval, approval and refusal, signed and replayable for the auditors who’ll ask what happened.

Active retention6 mo – 10 yr
Chain of custodySHA-256 · Merkle
EU AI Act · high-risk2 Dec 2027
DORA · live17 Jan 2025
01 — The gapThe audit problem

AI agents make real decisions. Can you prove what they did?

Agents already approve loans, route claims and move money. Sooner or later a regulator, a court or an auditor will ask to see exactly what happened, and an ordinary log can’t prove it hasn’t been changed.

credit_review · agentDay 1
Application #4812£248,000 loanDENIEDSigned off by j.tomlin · 09:14
01

The decision

An AI agent turns down a loan, a person signs off on it, and everything looks fine.

Supervisory reviewMonth 6

“Show us every step the system took on application #4812, who approved it, and prove the record hasn’t been changed.”

Response due in 14 days
02

The question

Months later, a regulator asks for proof: every input, every step and every approval.

app.logEditable
09:14:03policy.escalate
09:14:41approved_by: j.tom
09:14:42agent.complete
Edited? Deleted? No way to tell.
03

The gap

Ordinary logs can be edited or deleted without leaving a trace, so they prove nothing.

Try it

Change one line of the record.

Someone quietly edits who approved the loan. Watch what each kind of log can tell you afterwards.

An ordinary logWhat most teams rely on todayEditable
  1. 09:14:02llm.invoke assess #4812
  2. 09:14:02tool.credit_bureau score 612
  3. 09:14:03policy.threshold → escalate
  4. 09:14:41human.approval by j.tomlin
  5. 09:14:42agent.complete → denied

The edit leaves no trace. As evidence, this log is worthless.

Log looks normal
A Runfile recordEvery line sealed to the one before itTamper-evident
  1. 09:14:02llm.invoke assess #481273e5b1a2
  2. 09:14:02tool.credit_bureau score 612ab21f80d
  3. 09:14:03policy.threshold → escalate4e19c0b7
  4. 09:14:41human.approval by j.tomlin61bfe90cSeal doesn’t match: this line was changed
  5. 09:14:42agent.complete → denied2e7a64c9Chain broken from here on

Caught instantly. Anyone can re-check the seal without having to trust us.

Sealed · verified
What the rules now say
— 01
“A mutable log has evidentiary value of zero before a regulator.”
EU AI Act commentary · 2025
— 02
“Reconstruct, for any decision, the prompt, model version, retrieved documents and any human override.”
SR 11-7 replacement · Apr 2026
— 03
“Automatic recording of events over the lifetime of the system.”
EU AI Act · Article 12(1)
02 — How it worksCapture → Seal → Prove

Watch one agent step become a proof anyone can check.

Scroll to send a single credit-review run through the pipeline: captured at the SDK, sealed into a Merkle root, published to a public log, then verified offline.

01/ 06
Capture

The SDK records every prompt, tool call, retrieval, guardrail and human approval as it happens.

run_8f2c41Live
Events
0 / 8
Tokenized
0 / 8
Blocks
0 / 8
Merkle root
—
HSM signature
—
Rekor entry
—
Proof
—
runfile verify evt_05offline
Inclusion proof · 3 hashes✓
Root signature · HSM✓
Root = Rekor #94,082,328✓
Verified · untampered
Scroll to run the pipeline
03 — The SDKOpen capture · closed custody

Two lines. Then the auditor stops asking.

The capture SDK is open-source, OpenTelemetry-compatible and free to inspect. The platform that signs, stores and explains the data is closed-source SaaS — so we can stand behind chain of custody. Nothing about your runtime changes.

Frameworks
LangGraph, OpenAI Agents SDK, any OTel GenAI producer
Languages
Python & TypeScript today; Go on request
Redaction
Deterministic, with a customer-held re-identification key
Residency
EU / UK / US. Single-tenant available at $150K+ ACV
Supported frameworks
credit_review.py
# pip install runfile
from runfile import capture
from langgraph.graph import StateGraph
@capture(agent="credit_review", version="3.2.1")
def run(principal, request):
graph = StateGraph(State)
# …your agent…
return graph.invoke({"client": principal,
"loan": request})
$ python credit_review.py
● captured run_8f2c41 · 6 events · PII tokenized
● chained 73e5b1a2 ← 9c0fd6e4
● stored your region · object lock
04 — The artefactOne command · three readers

An evidence package, not a dashboard.

Auditors don’t want a Grafana login. They want a PDF they can email, a JSONL they can grep, and a binary they can run to confirm nothing has moved.

Point at a reader to see what they check

AArticle 12 monthly log integrity report
BIncident reconstruction — single-decision drill-down
CAnnual model-documentation pack (MRM successor)
DDORA major-ICT-incident packet
View sample package
Runfile · Evidence packageRF-2026-Q1-04812

Article 12 — Monthly log integrity report

Scope: 01 Mar → 31 Mar 2026 · Agent: credit_review_v3.2.1
Integrity
Runs in scope184,402
Events captured1,475,216
Hash chain● Continuous
Merkle root31573581 0cdfb03c f4b1eb05
Anchored toSigstore Rekor · #94,082,328
Controls
EU AI Act Art. 12● Satisfied · 1,475,216 / 1,475,216
EU AI Act Art. 14● Satisfied · 3,317 / 3,317
GDPR Art. 22● Satisfied · 3,317 / 3,317
FCA SS1/23 §5.2● Satisfied
$ runfile verify ./RF-2026-Q1-04812.zip14 pp · signed
05 — The windowTalk to us

The deadlines are dated. The evidence shouldn’t be improvised.

GDPR Art. 22

Live for eight years.

DORA

Live.

Interagency MRM principles

SR 11-7 successor, in force.

Digital Omnibus

AI Act high-risk date fixed — no longer standards-conditional.

Today

The window to be ready is now.

EU AI Act · high-risk

421days to go

We’re working with a small set of design partners across US, UK and EU regulated finance. If you’re the CCO, Head of AI Risk or Head of Internal Audit at a bank, insurer or asset manager — come talk to us.