One line before each action
Call guard() before acting, or wrap a tool so it runs only when the permission covers the call. Node.js and Python.
For agent developers: before your agent pays, books or changes anything, it checks that the person’s permission covers it. What isn’t covered never gets attempted.
const payBill = agent.wrapTool({
action: 'pay', token,
amount: (a) => a.amount,
payee: (a) => a.payee,
}, runPayment);
await payBill({ amount: 250,
payee: 'city-electric' });
Call guard() before acting, or wrap a tool so it runs only when the permission covers the call. Node.js and Python.
Whether the person cancelled the permission, how much of this month’s limit is used, and whether they asked to approve amounts this large.
If Permissionn can’t be reached, the token is checked against our published keys: the action, the amount limit and the payees.
Through the consent page, as usual.
guard() answers in milliseconds, and records and bills nothing.
Covered: go ahead. Over the approval line: ask the person. Not covered: don’t.
Its own rules have the final word, so a guarded agent is simply turned away less often.
Plans. Free on every developer plan. Guardrail checks are never billed. See pricing
Start a 14-day trial in watch-only mode: nothing is blocked until you choose, and you see every agent from the first request.