Counter 17 · San Francisco · intaglio specimen

Agents that act, safely.

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.

Book a demo → Apply for pilot

Agentguard · decision 0184 SPECIMEN
Proposed action
update_appointment · John → Friday, 4:30 PM
Policy
Record-changing actions require verified identity.
Evidence
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

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.

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.

Book a demo → Apply for pilot