Policy as Code for Continuous Compliance and Continuous Enforcement. Intutic sits in the tool-call path between your AI agents and production — every file write, API call, and shell command passes through a synchronous, in-process evaluation chain, turning every decision into compliance evidence and enforcement action in real time.
# Install the Intutic developer CLI & native Rust proxy
npm install -g @intutic/cli @intutic/proxy
# Start the native proxy gateway. No account needed.
intutic start
The agent's tool call reaches for curl -d @.env. When the agent sends that call
back to the model, the open-core proxy flags DATA_EXFILTRATION and answers
403 policy_denied. The request never reaches the provider, and the agent loop stops.
Together, these capabilities form shared infrastructure for AI agent governance across enterprise systems.
| Capability | LLM Observability (Langfuse, Arize, LangSmith) |
Intutic (Agent Governance) |
|---|---|---|
| Where it acts | On the model call: traces, evaluations, and guardrails on model input and output | On the agent’s tool call, before it runs |
| Tracing & evaluation | Deep traces and LLM-as-judge evaluations — their core strength | Traces every model call through the proxy with its enforcement decision to a local log; spans and metrics export over OpenTelemetry |
| Blocking a tool call | Guardrails act on model input and output, not on the shell command, file write or MCP call the agent then runs | Native pre-execution hooks; the call waits on the verdict and fails closed if the gate crashes |
| Human approval | Review happens after the run |
Calls an SOP lists under review_before: are refused by the gate before they run
|
| Sensitive data | Langfuse and LangSmith mask trace data; LangSmith’s gateway also redacts PII and keys on model traffic | API keys, cloud credentials and tokens, payment card numbers, IBANs and US Social Security numbers found by validated PII detectors, and patterns you define, redacted or blocked before they leave the machine, and in responses before the agent sees them |
| Cost control | Cost tracking; LangSmith’s gateway adds hard spend caps | A daily spend cap on each machine, enforced before the request leaves |
| Coding agents | Instrument your own application through an SDK or OpenTelemetry | 43 harnesses, from Claude Code, Cursor and Gemini CLI to Copilot and LangGraph |
| Containment | Outside their scope | Sandboxed runs behind a default-deny firewall that only reaches the proxy, and an egress allow list once you switch it on, so an agent cannot route around governance |
| Custom policy | Custom evaluators and scorers | SOPs in git, WASM rules and Rego policies, evaluated in the call path |
A local Rust proxy on port 4000 and a tool-call gate in each harness, with the hook
gates and rules files written from your SOPs by intutic gates install. Model calls pass through the
proxy on their way to your provider; tool calls wait on the gate’s verdict before they run.
Intutic provides the shared infrastructure to run, observe, and secure AI agents across enterprise perimeters.
Unlike rigid security tools, Intutic steers agents via real-time corrective context, performing continuous audits and breaking off recursive failure chains.
SOPs written as Markdown files in .intutic/sops/, checked into the repository with the code. intutic gates install compiles them into the rules file and hook gate of each harness, and intutic start refreshes both as the files change.
A daily spend cap on each machine, maxDailyBudgetUsd in ~/.intutic/config.json: the local proxy refuses a request that would take today’s spend past it. intutic budget shows the cap and what the machine has spent, and intutic traces list the cost of each request.
Hook gates in each harness refuse a write that would plant a credential, an edit to the governance hooks themselves, and an attempt to switch hooks off. The local proxy redacts keys and PII before a request leaves the machine, pins every tool definition, refuses exfiltration the model sends, and enforces an egress allow list once you switch it on.
Governs Claude Code, Cursor, Gemini CLI, AWS Bedrock AgentCore Runtime, LangGraph, and proprietary custom agent harnesses. Autonomous self-configuration via the Kitkat agent skill. Anthropic Managed Agents is governed by the same gate SDK in your backend, outside the auto-detected harness list; the QM and AWS Bedrock AgentCore Gateway integrations call a control plane.
The Rust proxy gateway every agent request passes through. It runs on the developer's machine, so the extra hop is over loopback. Installed alongside the @intutic/cli
A suite of local developer tools, harness gate writers, and agent-framework adapters to orchestrate governance.
Intercepts, filters, and logs stdio JSON-RPC tool frames.
Writes each harness's hook gate and rules file from your SOPs; the library behind intutic gates install.
Programmatic TypeScript client wrappers and proxy connection adapters.
intutic traces list / inspectmaxDailyBudgetUsd) enforced by the local Rust proxy before each request leavesrequires_before: action:run_tests[ok] · closed_lanes: irreversible · test results read in Claude Code, Gemini CLI and at the proxy/v1/systemone and /v1/decisions through the local proxy · unpinned models refusednpx @intutic/cli init except the bridge-gated one. Hook gates need no change to your agent code; SDK-gated frameworks add an in-process gate to your agent code:
@intutic/gate / intutic-clawde) — LangGraph, LangChain, CrewAI, AutoGen, Google ADK, OpenAI Agents SDK, Pydantic AI, AWS Strands Agents, Microsoft Agent Framework, Mastra, Vercel AI SDK, and more.HarnessType and aren't auto-detected: Anthropic Managed Agents, governed by the same gate SDK in your backend, and QM's securityScreen contract and the AWS Bedrock AgentCore Gateway, which call a control plane’s HTTP endpoints and so need one.
npm install -g @intutic/cli @intutic/proxy, then run intutic init, intutic gates install and intutic start. Init detects your harnesses, gates install writes each one’s hook gate and rules file from the SOPs in .intutic/sops/ (add --route to also point the harness at the proxy), and start runs the proxy. intutic disconnect undoes it.
packages/proxy/benches/ab_latency_bench.rs. Decide rules, if you write any, are the one place a model sits in the path: the call waits while a model you host answers, within a time budget (at the proxy, INTUTIC_DECIDE_BUDGET_MS, default 7,300 ms), and an enforcing rule that gets no answer refuses the call.
npm install -g @intutic/cli @intutic/proxy.
~/.intutic/logs/, with its model, verdict and cost, which intutic traces list and intutic traces inspect query; set OTEL_EXPORTER_OTLP_ENDPOINT and it also exports its spans and metrics over OpenTelemetry to the collector you already run. Guard-liveness probes re-test the detectors and the DLP scanner against the live configuration at startup and every 15 minutes, and log a guard that no longer fires as an error, so a control that has quietly stopped working shows up. Real-time proxy checks keep data handling inside the policies you set.
intutic-proxy / @intutic/proxy), onboarding CLI (@intutic/cli), TypeScript SDK (@intutic/clawde), stdio interceptor (@intutic/mcp-governance-proxy), harness gate writer (@intutic/sync-daemon), and shared types — is fully open-source (MIT licensed) and runs on its own; a local Valkey cache is optional. Centralized governance registries, SOP Optimizer compilers, compliance dashboards, and active network controllers belong to the control plane, which is not part of the open core.
intutic gates install compiles your SOPs in .intutic/sops/ into the rules file each harness reads, such as .claude/rules/intutic-governance.md, .cursor/rules/intutic-governance.mdc or a marked section of AGENTS.md, and never writes CLAUDE.md; it also writes each recorded harness’s hook gate, and intutic start refreshes both as your SOPs change. The harness gates and the local Rust proxy enforce the rules compiled from them on your machine. All spend metrics are saved to local JSONL files, and daily limits are enforced natively by the local Rust proxy.
A control plane, which is not part of the open-source core, is needed for team-wide dashboards, approving held calls (locally, a review_before: or closed_lanes: call is refused), loop runs and per-session budgets, SSO and SCIM, the AI inventory, SIEM export, notifications and sealed traces. Decide rules run on a model you host, with or without one.
deny_tools: and blocked before execution, and output streams are scanned line by line as they arrive, with secrets redacted before the agent sees them. When a detector catches the agent misbehaving (a loop, a denied tool, an exfiltration attempt), the proxy adds corrective guidance to the request before the model sees it, or refuses the request outright. A proxy connected to a control plane that cannot read Valkey refuses requests rather than admit spend it cannot check; a standalone proxy keeps its daily cap in local files.
maxDailyBudgetUsd in ~/.intutic/config.json). However long the session runs, each request is checked against what is left. intutic budget shows the cap and today’s spend, and intutic traces list the actual cost of each request.
.intutic/sops/. intutic gates install compiles it into the rules file each harness reads and into the harness’s hook gate, and intutic start refreshes both whenever the SOP changes, so every agent on the machine is told the rule on its next turn and a tool call the SOP denies is refused before it runs. When a detector catches an agent repeating itself anyway, the proxy adds corrective guidance to the request before the model sees it, or refuses the request.
packages/wasm-sdk in the open-core repository; it is not published to npm) to author custom validation logic. The compiled WebAssembly module is executed inside the proxy's isolated, fuel-limited WASM sandbox, which enforces a hard fuel and wall-clock limit per rule. You can test rules locally using the CLI command intutic policy test --wasm before dynamically hot-reloading them into the running proxy. Rules can also be written in Rego: intutic rules build compiles a policy with OPA into the same kind of WebAssembly module, which runs in the same sandbox in the proxy and the MCP governance proxy and can allow, deny, re-ask or hold; with no control plane to approve it, a held call stays refused.
intutic-mcp-proxy --server-name <name> -- <server command>) and each call is checked as well: arguments carrying a secret, a private key, a card number, IBAN or US Social Security number, rm -rf / or a SQL DROP or TRUNCATE are blocked, credentials in results are redacted before the agent reads them, and the server’s tool list is pinned on first use so a later change is caught.
~/.intutic/logs/, with its model, verdict and cost, which intutic traces list and intutic traces inspect query and any log shipper can tail. Set OTEL_EXPORTER_OTLP_ENDPOINT and the proxy also exports its spans and metrics over OpenTelemetry, so the collector and alerting you already run see them. A guard-liveness probe that fails is logged as an error.
Intutic gives AI teams the governance layer to deploy agents with confidence.