Repository navigation
0.9.0
Undo, signed records, Face ID approvals, spend limits and proof of work
- An undo copy before risky changes. Before an action that waits for a person (or a command that can't be undone) runs, Squidbrake keeps a copy of what it changes: files and git changes on the agent's computer (
squidbrake undo, now also for Claude Code's Write and Edit), the record behind an API call through/proxy(read with a GET first), or what aclient.pysnapshot function returns. Withsnapshots: required(the default), an action whose copy can't be made doesn't run. Setsnapshot: best_efforton a rule to relax it. - Stop an agent from the notification. Phone notifications carry a Stop agent button, and the one-tap approval page a Stop button.
- Signed checkpoints. Every 50 audit entries are signed with the gateway's ledger key (Ed25519). The public key is at
/v1/audit/public-key;python verify.py FILE --key KEYproves an export wasn't rewritten. - Approve with Face ID or fingerprint. Register a phone or laptop as a passkey; each approval is signed by the device and the signature is kept and checked by
verify.py. Settings can require it for approvals. - People's details masked. Emails are stored as
p.redacted-3f2a9c@domain, card numbers as[card ending 4242]; lists, phones and notifications show at most 2 KB of a value. - Each rule decides what happens while Squidbrake is down (
when_unreachable: allow | block, default block). Agents keep a copy so they follow it offline. - Owner, admin, approver, viewer. Viewers change nothing; only owners make admins and owners.
- Spend limits (
budgets:): pause an agent over its daily or monthly token or dollar limit. Claude Code reports its tokens by itself. - Proof of work (
proof_checks:): after an agent says it's done, look in Stripe, GitHub, a SQL database or any HTTP API, and flag "not actually done". - AI approval briefs (optional, your own Anthropic key,
pip install "squidbrake[ai]"): a short plain-English risk note on each held action. Advice only; it never decides. - Evidence pack maps the new controls to SOC 2, ISO/IEC 42001 and the EU AI Act.
Worth knowing before you upgrade: approved actions now need an undo copy by default, so a delete too big to copy (over 500 MB) or a proxied API that can't be read with GET is refused. MCP tools' changes can't be copied; held ones run without a copy and the record says so.
Upgrade: run the install line again, or pipx upgrade squidbrake
Install this version (0.9.0)
Windows (PowerShell):
$env:SQUIDBRAKE_VERSION="0.9.0"; irm https://pilots.squidbrake.com/install.ps1 | iexmacOS / Linux:
curl -fsSL https://pilots.squidbrake.com/install.sh | SQUIDBRAKE_VERSION=0.9.0 shWith pip: pip install squidbrake==0.9.0. Docker: docker pull ghcr.io/batrapulkit/squidbrake:0.9.0
Running the line again without SQUIDBRAKE_VERSION goes back to the newest. Every version:
https://github.com/batrapulkit/squidbrake/releases