Docs
Understanding decisions
Docs/Understanding decisions

Understanding decisions

Every action your agent issues receives one of four verdicts. Understanding what each means — and what you need to do — is the core of using Belay.

The four outcomes

Allow — action proceeds

The action is within policy and poses no consequential risk. Belay lets it run immediately without interrupting your agent's workflow. You will not see anything unless you are watching the audit log.

Most of what your agent does every day falls into this category: reading files, running tests, editing code, querying non-production databases.

Confirm — agent asks you to check

The action is lower-risk or in an uncertain context. Rather than blocking or holding, Belay surfaces the action for the agent to present to you. Your agent will ask whether to continue before proceeding.

This is a lighter-weight check than a full approval hold — it is the agent confirming intent, not Belay requiring human authorization.

Hold — waiting for your approval

The action is consequential enough to require explicit human authorization. The agent stops and waits. You will see the action listed when you run belay pending, along with what the action is, what it targets, and why it was held.

A held action has a time window. If it is not resolved within that window, it is automatically denied — it never auto-approves on timeout.

To resolve a held action, use belay approve from your terminal, or reply in your connected notification channel (Telegram) if you have set one up.

The approval boundary: Your agent cannot approve its own actions. An approval requires a separate act — your keychain credential, or a reply from your authenticated external account. This is the fundamental guarantee Belay provides: the agent can request, but a human must authorize.

Deny — refused outright

The action is catastrophic and irreversible on a production system. Belay blocks it immediately, before the agent can run it. This verdict cannot be approved — there is no approval path for these actions.

Examples include dropping a production table, truncating production data, or deleting an entire production database. Belay evaluates these without needing to contact any external service: the check happens locally, even if the network is unreachable.

Audit records

Every decision Belay makes — allow, confirm, hold, or deny — is recorded in a signed audit log on your machine. You can verify the integrity of this log at any time with belay verify.

The audit log does not contain your source code or database data. It records the decision, the action evaluated, the target, the verdict, and a timestamp.