How it works
A decision between intent and execution
One call wraps the place your agent already executes tools. Verdict returns ALLOW, DENY, or REQUIRE_CHANGES before a high-risk action runs.
The integrated stack
One integration point, one consistent record from intent to evidence: the gateway that decides, the obligations that run, the chain that records, the pack a reviewer signs.
01 / Your agent
Proposes a tool call
Any framework, any model. One call wraps your executor.
OpenAI · Anthropic · LangChain · custom
02 / The runtime
Policy gateway
Deterministic Rego, evaluated in-process.
versioned bundles · shadow or enforce · ~5 ms measured
03 / The decision
Allow, deny, or send it back
Real rules are yes-if. REQUIRE_CHANGES names what is missing.
rate quote → ALLOW · below-floor discount → DENY · $500 refund → repair, then retry
04 / The obligations
The step the rule required
Consent, disclosure, approval, identity. The action retries once they return.
requireConsent · addDisclosure · addApproval · requireIdentityVerification
05 / The record
Cryptographic audit chain
Signed into a hash chain, pinned to the policy version that made it.
SHA-256 chain · Ed25519 signed · policy version pinned
06 / The evidence
Evidence pack
One file a reviewer reads end to end, chain verified inside.
JSON · one-page HTML · chain verified inside the file
Rollout
One call, then shadow, then enforce
Everything above the enforcement point (models, orchestration) and below it (payments, cases, data) stays yours.
Step 1
an afternoon
Wrap tool execution
One call wraps the place your agent already executes tools. No new framework, no replatform: TypeScript and React SDKs, plain HTTP from any language.
Step 2
a week or two of traffic
Shadow on live traffic
Verdict logs what it would have allowed, blocked, or repaired on real volume. Long enough that your risk owners are reading real decisions rather than a sample, and no customer is affected either way.
Step 3
when risk signs off
Enforce, then evolve
This step is a decision, not a build, and it is the one we cannot schedule for you. After it, rule changes are policy bundle updates that take effect without redeploying the agent.
The whole integration
import { VerdictClient, PolicyEnforcer } from "@verdict/sdk"; const client = new VerdictClient({ gatewayUrl });const verdict = new PolicyEnforcer(client); const result = await verdict.execute({ tool: "issue_refund", args: { amount: 500, customer: "C-4471" }, context, // who is acting, for whom executeFn: runTool, // your existing executor shadow: true, // observe first});// ALLOW | DENY | REQUIRE_CHANGES + repairsTypeScript shown. Plain HTTP underneath, so any language works.
Where it attaches
Pick whichever seam you already have
Verdict is agent-agnostic and model-agnostic. It cares about the action, not about which framework proposed it, and not about whether you have agents running yet.
- TypeScript and React SDKs
- Typed clients over a documented OpenAPI contract, with published JSON Schemas for every request and response.
- MCP gateway
- Sit in front of MCP servers and govern tool calls in both directions: the request going out and the results coming back.
- Salesforce Agentforce
- Governed through Flow and an External Services callout, so an Agentforce action is checked on the same path as everything else.
- LiteLLM
- A pre-call guardrail plugin, for estates that already route their model traffic through LiteLLM.
- Portkey
- Webhook integration for teams standardised on Portkey's gateway.
- n8n
- An estate poller that brings existing n8n automations under the same policy and evidence plane.
- Any HTTP client
- The evaluate endpoint is a documented OpenAPI contract with published JSON Schemas. No framework adoption required.
And wherever you are starting
You already run agents
Add Verdict at the one place your agent executes tools. Keep your models, orchestration and systems exactly as they are.
You are starting from zero
We co-build your first workflow on Verdict, disputes or fraud or onboarding or servicing, then your team runs it day to day.
Bring the seam and the engineer who owns it
Thirty minutes, live, on one workflow. We map where enforcement attaches in your stack and what your risk owners get out the other side.
For architects and risk owners: where it runs and what leaves your environment, or the benchmark method and raw runs.