Skip to main content
Give each agent an owner and explicit limits. Before a sensitive tool call, the agent’s current permission decides whether the call runs, waits for approval, or stops.

What you can limit

A missing, expired, or revoked permission grants nothing.

Set it up

1

Give the agent limits

Add Proofable, then ask your assistant:
2

Load its permission where the tool runs

This writes the agent’s current permission to .proofable/mount.json. For other hosts, replace cursor with claude, codex, hermes, openclaw, or opencode. If the CLI asks for a credential, run npx -y @proofable/sdk auth --oauth first.
3

Check before the tool call

Guard an agent action walks through the same flow with every decision code.

Where the check runs

The system that owns the tool call enforces the decision.

Built-in guardrails

  • Connected apps. Only the capabilities you enable can run. Sends, creates, and deletes still pass through agent permissions. Connections
  • Secrets. Stored encrypted and never returned in plaintext through MCP. Connected tools run without handing credentials to the model. Security
  • Payments. Allow make_payment with allowedPaymentTypes: ["x402"] and a maxSpend cap. Your application checks the cap before it signs each payment. Pay per call
  • Jobs. A run that needs approval waits for you. Approve to continue, or deny to stop it. Jobs

Next

Agent permissions

Every permission field, with examples.

Prove what happened

Keep a record of each decision and result.

Agents

Owners, limits, and proof history for every agent.
Last modified on October 25, 2026