Your developers are accountable.
Your agents aren't.

Greenkeel gives coding agents a governed place to work inside your own tenancy, then turns everything they do into evidence you can certify.

Agents write faster than teams can understand. Greenkeel keeps the reasoning.

Running in regulated tenancies
logo
logo
logo
logo
logo

Agents work in an isolated workspace, every model call is inspected and logged, and nothing merges until it passes the gate — so the evidence trail is a by-product of normal work, not a programme of its own.

LedgerAn evidence trail you can hand to an auditorAnd the one your next engineer will actually read
WaterlineNothing merges until it passes the gate
GatewayEvery model call, inspected and logged
HarbourA governed place for agents to work
Your tenancyCloud, on-premise, or air-gapped
100%
Model calls logged
0
Egress to vendor clouds
3
Cloud · on-prem · air-gapped
01 / Harbour

A governed place for agents to work.

Agents run in an isolated workspace inside your tenancy — with the tools, repositories and network access you grant them, and nothing else.

Agent runs
Active
Refactor billing reconciliation
+214-88claude-sonnet
2m
Add idempotency keys to webhooks
+96-12gpt-5
6m
Migrate auth to short-lived tokens
+41-30claude-sonnet
11m
Recent
Backfill audit timestamps
+132-4gpt-5
1h
Tighten CORS on public API
+18-22claude-haiku
3h
Generate OpenAPI from routes
+470-0gpt-5
5h
harbour / run 9f3a

Refactor billing reconciliation

Agent is editing 6 files in an isolated checkout of billing-core. Network is scoped to the package registry and the model gateway only.

workspace isolatedeu-west-2claude-sonnet
gateway / activity
InitiatorPromptTokensModelGate
RARai Achebe
Summarise the diff and flag secrets1.2k  ↑480claude-sonnetpass
MOMara Okoro
Draft migration for the ledger table3.4k  ↑1.1kgpt-5pass
TSTom Sørensen
Rewrite regex to strip PII from logs820  ↑260claude-haikuhold
IVInes Vidal
Explain the failing gate on PR 41822.0k  ↑640gpt-5blocked
KBKojo Boateng
Add tests for the token bucket limiter1.6k  ↑910claude-sonnetpass
LPLena Pärn
Propose index for slow evidence query740  ↑300gpt-5pass
02 / Gateway

Every model call, inspected and logged.

One egress point for every agent and every model. Each prompt and completion is inspected against policy, priced, and written to the record before it returns.

03 / Waterline

Nothing merges until it passes the gate.

Required checks run on every change an agent proposes. The merge stays blocked until each one is green — no override, no exceptions buried in a config.

waterline / pr 4182
merge blocked
Secret scan0 findings
Dependency audit0 critical
Static analysis (SAST)2 to review
Licence policyGPL-3.0 introduced
Human reviewer namedunassigned
Provenance trailerpresent
ledger / run 2210af
certified
14:02:11harbourWorkspace opened · region eu-west-2ws-9f3a
14:02:44gatewayModel call inspected · policy passcall-7710
14:06:19agentChange proposed · 214 + 88 −pr-4182
14:06:52waterlineGate blocked · licence policygate-51c
14:12:03r.achebeReviewer assigned · override deniedusr-204
14:18:37ledgerRun certified · evidence sealedrun-2210af
04 / Ledger

An evidence trail you can hand to an auditor.

Every run, model call and gate verdict lands in an append-only record — certified, timestamped and queryable, so an audit is an export and not a project.

For the engineer who inherits it
Bearings

Why the code exists, not just who approved it.

Comprehension debt is the distance between what your systems do and what anyone still in the building can explain. Agents widen it faster than people can close it, because the reasoning behind a change now lives in a conversation that ends when the session does.

Greenkeel keeps the conversation. Every prompt, every response, every rejected attempt stays attached to the change it produced — not filed away as a compliance artefact, but sitting where the next engineer will look.

  • The person who wrote it has left. The reasoning hasn't.
  • Onboarding stops being an oral tradition.
  • Review can ask what the agent was told, not only what it produced.

Often the next reader is another agent. It picks the work up in the same governed workspace and reads the record through the same gateway that inspects and logs every other model call. The context travels with the change and never leaves your tenancy — the handover is covered by the controls that cover the work.

You still have to read it. You're just not excavating.

bearings / pr 4182
reasoning attached
billing-core/reconcile.tsL142–1683 attempts
instructionr.achebe · 14:01

Make settlement idempotent. Do not touch the payout schedule — legal signed off on the current timing.

Attempt 1Introduced money-lib (GPL-3.0)rejected · gate · licence policy
Attempt 2Moved the payout window to 24h — out of scoperejected · r.achebe
Attempt 3Keyed on settlement_id; schedule untouchedmerged · run 2210af
Context read by agent run 9f3ainspected at the gateway · logged

Let the agents work. Keep the record.

Deployed in your tenancy in a day. Nothing leaves it.