SafeCommit: your agent can act, now it can undo<br>Sign in
00A brake for autonomous change<br>Your agent can act.<br>Now it can undo.<br>SafeCommit wraps every deployment and database migration an agent proposes in a protected run. Checkpoint first. Gates in isolation. Apply, then watch the monitors, and restore the checkpoint automatically the moment one of them breaks.<br>Protect a change Read the API
Checkpoint · gate · apply · watch · restore
Runs protected
Rolled back automatically
Blocked before apply
$36.80<br>Spent on protection
01What changed when agents got write access<br>Review was the safety net. Agents move faster than review.<br>It ships<br>An agent with deploy access does not hesitate. The change is live before anyone has read the diff, and the first signal that it was wrong comes from a customer.
It migrates<br>A schema change is not covered by your deployment rollback. Once the column is dropped, the previous build has nothing left to read.
It cannot undo<br>Retrying is not reverting. Without a checkpoint taken before the change, there is nothing to go back to, only a second guess on top of the first.
02Five phases, one guarantee<br>Nothing applies until it can be taken back<br>01Checkpoint<br>Before anything is touched: a Postgres snapshot, or an immutable pin to the build currently serving production.
02Gate<br>Every test runs against an isolated copy. A migration is applied to a shadow database first, and its reverse is replayed to prove it works.
03Apply<br>Only once the gates are green. If any of them fail, nothing reaches the target environment at all.
04Watch<br>Error rate, latency and saturation are compared against the pre-change baseline for the length of the monitoring window.
05Settle<br>Clean window: the change is held. A breach: the checkpoint is restored automatically, with the evidence written to the run.
Every run ends in one of three states<br>CommittedGates passed, monitors stayed inside baseline. The change is held and the checkpoint is retained in case you want it later.
Rolled backThe change went out, a monitor breached, and SafeCommit restored the checkpoint without waiting to be asked. Evidence attached.
FailedA gate caught it before apply. Nothing reached the target environment, and the checkpoint is retained so the change can be re-attempted against a known state.
03You set the ceiling, not the agent<br>A token that cannot exceed its brief<br>Every agent gets its own token with a per-run ceiling, a daily ceiling, an explicit list of approved repositories, and a production switch that is off by default. Spending draws down a prepaid credit balance, so an agent in a retry loop runs out of money long before it runs out of things to break.<br>Manage tokens<br>Sample runs from the demo ledger<br>Add idempotency keys to the payment capture endpoint<br>Committedelevated45Vercel deployment$6.95
Retire the legacy shipping address text column constraint<br>Rolled backhigh64Supabase migration$8.50
Rebuild the events table under the new partition scheme<br>Failedcritical100Supabase migration$10.30
Rotate the session cookie name and shorten its TTL<br>Rolled backhigh55Vercel deployment$7.45
04Quote, execute, poll, undo<br>Four endpoints your agent already knows how to call<br>Quote a change to learn its price and risk before committing to anything. Execute to authorize payment and run it. Poll for status. Roll back on demand if something the monitors could not see turns out to matter.<br>Full API reference<br>quote → executeCopy<br># 1. price the change and read the risk assessment<br>curl -X POST https://safecommit.dev/api/quote \<br>-H "Authorization: Bearer $SAFECOMMIT_TOKEN" \<br>-H "Content-Type: application/json" \<br>-d '{<br>"kind": "supabase_migration",<br>"repository": "northwind/checkout-api",<br>"target": "production",<br>"summary": "Retire the legacy shipping address constraint",<br>"payload": "BEGIN; ALTER TABLE orders DROP CONSTRAINT …; COMMIT;"<br>}'
# → { "run_id": "run_9c2f5e10",<br># "risk": { "level": "high", "score": 64, "factors": [ … ] },<br># "quote": { "total_cents": 850 } }
# 2. authorize from the credit balance and run it<br>curl -X POST https://safecommit.dev/api/execute \<br>-H "Authorization: Bearer $SAFECOMMIT_TOKEN" \<br>-d '{ "run_id": "run_9c2f5e10", "max_price_cents": 1000 }'
# → { "status": "rolled_back",<br># "rollback": { "trigger": "monitor_breach",<br># "restored_checkpoint_id": "ckpt_…" } }
Give your agent an undo button.<br>Open the dashboard