How it works

A checkpoint your agents can't argue with, and a record nobody has to take our word for

Think of Scopebond as the approvals desk a coding agent passes through. It doesn't read the agent's conversation, only what it's about to do, and it answers the same way every time: allowed, blocked, or "ask a person."

Your coding agentAsks to do somethingedit a file · push a branch · run a command
Scopebond checks your rulesAllowed · blocked · ask a personthe same answer every time, in milliseconds
Your systemsOnly allowed actions get throughblocked means it never happens
The recordSigned, kept, verifiablefor you, your auditor, your customers

How it works, in three steps

1

Write the rules once, in plain terms

Which files an agent may change, which branches it may push, which commands it may run, no reading secrets, what needs a person's OK. Each rule is either enforced (stopped on the spot) or watched (allowed, flagged, recorded for review).

2

Put the checkpoint where the agent works

Claude Code or Cursor on a developer's machine, a required check on GitHub, or an MCP server. One command in the project root. Your developer does it once.

3

See every action, explained

"Claude Code tried to drop the production database, blocked by the prod-db rule, not carried out, record verified." Name who's responsible, review rules with a colleague, export evidence when asked.

What happens when an agent breaks a rule?

It depends on where Scopebond is connected. Each setup page tells you the result and what you need to turn on.

On a developer's computer

Claude Code, Cursor and Codex ask Scopebond before supported actions run. If a rule blocks the action, the coding agent does not run it. Actions outside the configured hook are not included.

Before a pull request merges

The GitHub Action checks the change in your own runner. Make it a required check so a pull request that breaks your rules cannot merge.

When a platform can only report

Scopebond keeps the evidence and says plainly that it recorded the action rather than stopped it. These connections remain on the roadmap.

Why a record, not just a log, matters

A log lives in one vendor's dashboard and says what they say it says. A Scopebond record is signed, so anyone — your auditor, your customer, the other side of a dispute — can check it themselves, even with our servers switched off. It's the difference between "trust us" and "see for yourself."

This is the technical record behind a blocked database drop. Press Tamper with it to change one word and watch the signature fail. The check runs in your browser; nothing leaves the page.

Make your own decisions in the live demo →

scopebond:record signed
{
  "type": "scopebond:receipt",
  "decision": "deny",
  "reason": "blocked: DROP DATABASE on production (rule prod-db-protected)",
  "action_ref": "sha256:9f2c0b7ad1e4c6f80b3a2d15c7e9f4a1a71b",
  "policy_digest": "sha256:41d0e2a9c7b3f6108d4e5a2c9b0f7e13c88e",
  "issued_at": "2026-09-21T14:14:07Z",
  "issuer_id": "sb_hook",
  "kid": "ed25519:3b9f",
  "executed": false,
  "external_effect": "not_independently_verified"
}

Verified against the published Ed25519 key. Offline: npx @scopebond/gateway@latest verify record.json

What Scopebond doesn't do

It doesn't read prompts or conversations, judge code quality, or catch manipulation inside the agent. It decides whether a specific action is within your rules, and it proves what was decided. A record proves what was requested and decided, never that a business result happened.

For your developers

Open source, one command to install in the project root, works with Claude Code, Cursor, GitHub and MCP, verifies offline. The technical docs, record format and policy language are on GitHub.

npx @scopebond/hook@latest init

On Windows, type npx.cmd instead of npx in PowerShell: its default script policy blocks npx, and npx.cmd works in PowerShell and Command Prompt alike.

Install →

Why native permissions aren't enough

A coding agent is fast, tireless, and occasionally very wrong

The danger isn't the words in a prompt — it's the action the agent takes because of them. A hidden instruction in a README or an issue reads as ordinary text; what's dangerous is the rm -rf, the force-push, the dropped database it provokes. Scopebond checks the action against your rules, so a clever prompt can't talk it past a limit — and it signs a record you can show, not a log only you can see.

What a coding agent can tryWhat Scopebond doesRule (real)Where it is stopped
A prompt hidden in a README or issue tells the agent to delete files or drop a databaseThe action is checked against your rules before it runs; a blocked action never happensaction_allowlistBefore the tool runs
A "cleanup" git push --force straight to mainPush is allowed only to the agent's own branch, never with --force to a protected branchparam_bounds on git.pushBefore the command runs
Editing or deleting files outside the project it was asked to work inWrites and deletes are allowed only under approved paths (e.g. src/)path-bound action_allowlistBefore the file change
An agent pull request that touches production configThe change fails a required check and cannot mergeGitHub Action, required status checkBefore merge
Reading secrets — .env, keys, credentialsBlocked once you set the rule to Block (recorded until then), and secrets are scrubbed before anything is signedaction_allowlist on secret pathsBefore the read

Scopebond decides whether an action is within your rules; it doesn't read prompts or judge code quality (explained above). Run these against the live policy →

Going deeper on one of these: blocking dangerous commands · auditing Claude Code · Cursor hooks · a required check on agent pull requests · all guides. Comparing options? How Scopebond differs from native permissions and audit tooling.

Start with one agent, free