All comparisons

Intercis and WitnessAI

WitnessAI names the MCP server as an enforcement point, which is the surface we are blind on.

Six things a security reviewer can check on both sides, from public pages.
Intercis WitnessAI, from their own pagesRead 12 September 2026: witness.ai, witness.ai/product/, witness.ai/control/, witness.ai/pricing.
In-path proxy or SDK In-path proxy, out of your process. Your base URL points at us and the agent's code does not change. We govern Anthropic's POST /v1/messages and OpenAI's POST /v1/responses and POST /v1/chat/completions. witness.ai/product/ carries a diagram placing WitnessAI between AI clients above and AI services, LLMs and agents below. Whether that is a proxy you point a base URL at, their pages we read do not say.
What happens to a denied action The tool_use block is taken out of the model's response and one text block naming the policy takes its place, so the agent runtime has no tool call to run. "Govern every form of agent deployment, from custom cloud agents to agentic IDEs, with enforcement at the tool call and MCP server level." (witness.ai/control/) What the caller receives when a call is blocked, their pages we read do not say.
What the buyer sees per event One row per governed tool call: the agent, the tool name, a short excerpt of the target, the verdict, the policy, the wire route, a command fingerprint and the structured tool input. Rows are hash-chained per tenant by a database trigger. "Every blocked call generates an audit record with user, agent, tool, and rule, and every agent action maps back to a human identity." (witness.ai/control/)
Published pricing Yes. $200 a month for the first agent and $190 for each additional agent, on the pilot page. No. witness.ai/pricing returned 404 on 12 September 2026, and we found no price on the pages we read.
Certification No. Intercis is not SOC 2 certified and no audit is underway. Yes. Two SOC 2 badges, Type 1 and Type 2, both dated 2025, in the footer of witness.ai.
Self-hosted No, hosted only today; self-host licensing is undecided. Whether you can run it in your own infrastructure, their pages we read do not say; they offer "a single-tenant environment with your own key encryption".

What we do to a denied call, and the five costs

When policy denies a tool call, the proxy does not hand a verdict back to your code: it replaces the provider's response. The model's tool_use block is gone, one assistant text block naming the policy is in its place, and stop_reason is end_turn, so the agent runtime has nothing to execute. That is _make_blocked_response in apps/proxy/main.py, read at commit 87ccd47 on 12 September 2026.

Being in-path is a setting, not a law

Your base URL points at us and a compromised process can point somewhere else, so the control holds only if you also stop the agent reaching the provider directly.

Only the provider API wire is visible

We read tool calls that cross the Anthropic and OpenAI API wire, and a hosted MCP call never crosses it: we ran one, and a response body carrying mcp_call and mcp_list_tools items yields no tool call to judge and no audit row.

Streaming is buffered before anything is judged

The proxy collects a streamed response in full before judging it, so your agent waits the length of the stream, and nothing in the repository measures that delay.

We are a new place your prompts pass through

Your prompts and tool inputs cross our proxy in plaintext, the classifier call goes out on an Intercis credential carrying the tool name and the full tool input, and how a self-hosted deployment would be licensed is not decided.

The provider routes are ours to maintain

We speak Anthropic's messages route and OpenAI's responses and chat-completions routes, and another provider is engineering work on our side.