An agent proposes an action. Agentguard checks the policy and evidence behind it before your backend executes.
Refunds issued. Records written. Patients booked. Once an agent commits, you live with what it did. Agentguard makes commit-time the moment of judgment — then gives the agent structured feedback to correct what was unsafe.
Missing: caller identity · three matching “John” records
Decision
CLARIFY · Backend executed: no
Feedback
Verify the caller using date of birth or phone.
Safe retry
Identity verified → Allow
CLARIFY
One unsafe write intercepted. One specific correction. The completed action remains auditable.
I. Controlled evaluations
Safety that survives contact.
Enforcement is judged where the tool call meets the record of truth — not in a prompt sandbox. We do not publish another lab’s scores as our own. The plates below are the protocol, not a borrowed leaderboard.
Prompt-injection contact
Banking-style traces. Attack success is measured at the tool call, after policy and evidence, not at the chat turn.
Matched repetitions
The same risky action, run more than once. A single lucky hold is not a receipt. Matched runs are.
Utility under enforcement
Workspace tasks still complete while unsafe writes are intercepted. Safety that forbids all work is not safety.
III. How it ships
One protected route. Shadow first.
Start with the action where a mistake would hurt most. Replay recent traces, author the policy, run alongside production, then promote that route to live enforcement when you trust the decisions.
Import recent traces.
Inspect proposed actions without touching customers. The plate is still a proof — nothing has been committed.
Write one explicit policy.
Turn the requirements for one risky action into a rule the runtime can check: identity, amount, record, evidence.
Compare before you cut over.
Agentguard decides beside live behavior. You see the receipts. The backend still executes as it does today.
Put Agentguard on the path.
Live enforcement, with a decision receipt for every intervention. Commit-time is the moment of judgment.
Illustrative endpoint change for one protected action route.
POST /tools/update_appointment
− return backend.execute(payload)+ receipt = agentguard.commit(payload, policy)+ if receipt.allow: return backend.execute(payload)+ return receipt.feedback
IV. Works with
Your stack, still yours.
Models
OpenAIAnthropicGeminiany tool-calling LLM
Orchestration
LangChainLangGraphCrewAILlamaIndexyour own loop
Voice
RetellVapiany audio loop
Tools
MCP serversRESTSDKsinternal services
V. Bring one risky workflow
See what Agentguard would decide differently.
Bring one action that touches money, customers, or your record of truth. We will start in shadow and show the decisions before anything goes live.