Tools that watch, and what to ask them
These four tools are bought to answer what happened; we have not read their pages closely enough to quote them, so the right-hand column is the question, not a claim.
| Intercis | Arize, HoneyHive, Langtrace and MaximWe have not read their pages closely enough to quote them, so this column states nothing about those four products. It holds the question to put to whichever one you are talking to. | |
|---|---|---|
| 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. |
Ask whether it sits in the request path, or inside your process as code you add to the agent. |
| 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. |
Ask what your code receives when a call is not allowed, and ask for the response body. If the answer is an alert, a score or a span, the stop is still your code's job. |
| 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. | Ask to see one record from a real deployment: which fields it holds, how long it is kept, and how you would show an auditor it was not edited afterwards. |
| Published pricing | Yes. $200 a month for the first agent and $190 for each additional agent, on the pilot page. | Ask what ten agents cost, in writing. |
| Certification | No. Intercis is not SOC 2 certified and no audit is underway. | Ask which entity and which product any report covers, and read it. |
| Self-hosted | No, hosted only today; self-host licensing is undecided. | Ask whether you can run it in your own infrastructure, and on what licence. |
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.