Every vendor says they govern their AI. Here is what proof looks like.
Every table below comes from Keel's own estate: the record our agents, pipelines, and controls keep of what they did, and of what we did.
Five questions a careful buyer asks, answered with records.
Evidence as of 2026-08-28 · recording since 2026-08-05Every actor writes to one graph. Humans, pipelines, and AI agents alike.
Each change, deployment, and control run lands in one ledger: who acted, under which identity, against which requirement, with what outcome. Agents are not a special case. They get their own identity, cryptographically separate from any person's, and each one carries the name of the human accountable for it. When an agent writes a change, the approval check runs against the human who asked for it, not the bot account it ran under.
The ledger's non-human actors, one per row, and where accountability for each one lands.
| Actor | Accountability |
|---|---|
| Claude Code | the founder, named on every session |
| keel-ops controls | typed as a service in the ledger: scheduled automation, not an agent and not a person |
The AI that helped build Keel is itself governed by Keel. Its working sessions are in the graph, attributed to the human who supervised them.
Every control leaves a heartbeat. Silence is the alarm.
Most governance tooling only writes a record when it finds something. That makes "no findings" indistinguishable from "the control never ran", and the day something goes wrong, that distinction is the whole investigation. Keel's controls write a record at the end of every run, clean or not, including what they covered. A control that goes silent shows up as a gap, not as good news.
| Control | What it checks | Last run | Findings (last run) |
|---|---|---|---|
| scm-drift | live branch protection vs the reviewed manifest | 2026-08-28 17:38 | 1 (see Act 3) |
| dashboard-verify | evidence dashboard vs its governed source | 2026-08-28 17:38 | 0, no drift |
| adr-ingest | architecture decisions vs the code that implements them | 2026-08-28 17:32 | 0, all decisions linked (see Act 5) |
adr-ingest ran daily for two days without writing a heartbeat, so this tile could not prove it had operated. Caught while building this page, fixed the same day.
Findings are records with a lifecycle. Right now, one is standing, about us.
When a control finds drift, meaning the live setup no longer matches what was agreed, it raises a finding in the same ledger. When a later clean run confirms the problem is gone, the finding closes itself and the history stays. Nothing is edited, nothing disappears.
| Control | Finding | Status |
|---|---|---|
| scm-drift | our own repo's branch protection cannot be enforced on its current GitHub plan | open |
That row is our own repository. Branch protection is not available on our current plan, so the discipline is practiced rather than enforced. The finding stays open until that changes.
The system flags its own founder every time he merges his own work.
Every change reaching production carries its authorship chain, captured at merge time: who wrote it, who approved it, who merged it, and a computed separation-of-duties verdict. Keel is pre-launch and single-handed, so its founder merges his own work. The board records every one of those as a violation.
| Merged | Change | Author | Approver | Verdict |
|---|---|---|---|---|
| 2026-08-27 | keelport/website@5dccdf2145fe | the founder | (none) | violation |
| 2026-08-27 | keelport/keel@152840ccc267 | dependabot[bot] | (none) | violation |
| 2026-08-27 | keelport/keel@822e90e05a24 | the founder | (none) | violation |
The control does not care who built it. When a second engineer joins, the healthy state is an empty tile, and this one will hold us to it.
Even our architecture decisions are held to evidence.
Every architecture decision is a record in the same ledger, linked to the changes that implement it. A decision with nothing implementing it is a claim. Two labels keep that honest: a link stamped on the commit when the work shipped, and a link backfilled afterwards, which is weaker evidence and is recorded as such.
The decision to govern decisions this way is backed by the commit that implements it.
What this means in your auditor's language
Each surface above is a control that produces its own operating evidence, which is the substance behind the frameworks regulated buyers answer to.
See it live, on your stack.
Everything above is one estate. The same substrate deploys onto Azure, Microsoft Fabric, or Databricks. Name where your agents run and the reply covers what the evidence layer looks like on that stack.
Request a walkthroughReplies come from the person who built Keel.