How Passrail works
Every action gets a decision. Not every action needs a human.
Passrail sits between an agent and the tools it wants to use. The agent asks first, Passrail returns a decision, and the agent acts only when it is permitted.
Example: an agent can draft an email automatically, pause before sending it to a customer, and be blocked from deleting files.
This overview is public. To run the live test with your own agent key, request beta access and open the hands-on quickstart in the app.
One decision for every action
Safe actions are allowed automatically
Low-risk actions like read, search, and draft run without waiting on anyone.
Sensitive actions require approval
Actions with real-world effects pause for a human to approve or deny.
Dangerous actions are denied
Destructive actions are blocked by policy before they ever run.
Whether allowed, approved, or denied, every decision is recorded as a signed receipt and an audit trail.
No approval = no action. No Passrail decision = no action.
The agent executes a real tool only when Passrail returns execution_permitted: true. If Passrail is unreachable, or returns pending, denied, expired, or failed, the agent fails closed and does nothing.
Jailbreaks can change what an agent attempts. Passrail controls what it can actually do.
What the agent gets back
A simplified decision response for each outcome. The agent reads execution_permitted and obeys it.
Allowed action
{
"decision": "allow",
"status": "completed",
"execution_permitted": true,
"agent_instruction": "Passrail allowed this action. Execute it through the approved tool path and store the receipt ID.",
"receipt_id": "8c2c81f3-4d34-408c-af7d-7857b0ff6b7f",
"receipt_number": "RCP-000124"
}Approval-required action
{
"decision": "require_approval",
"status": "pending_approval",
"execution_permitted": false,
"agent_instruction": "Pause. Do not execute this action until the approval request is approved.",
"receipt_id": "b41f9d22-1e08-4c77-9a3e-2f6c5d0b8a14",
"receipt_number": "RCP-000125"
}Denied action
{
"decision": "deny",
"status": "denied",
"execution_permitted": false,
"agent_instruction": "Stop. Passrail denied this action. Do not execute it and do not retry.",
"receipt_id": "f7a0c6b9-3d51-42ae-8b6c-9e1d7a4f2c30",
"receipt_number": "RCP-000126"
}Ready to try it on your own agent?
Request private beta access, then run the hands-on quickstart inside the app with your own agent key and copy/paste curl commands.