Skip to content

Runtime infrastructure for AI agents · Live

Every AI agent needs a control layer.

Firewalls protect networks.

Identity systems protect users.

Causalor protects autonomous decisions.

It monitors, constrains, repairs, and explains every action your agents take in production, in real time, before each one runs.

pip install causalor
The Causalor console showing risky actions stopped in the last 24 hours, with each governed agent enforcing and blocking
The live console: real governed agents, real blocks, every decision proof-backed.

Two ways it holds the line

A hard stop for the action. A live correction for the drift.

Most agent failures are one of these two, and they happen at different moments. The repair works while the agent is still reasoning, so the bad action is often never proposed. The block sits at the commit point and makes crossing the line impossible. Two layers of one control.

The block

deterministic · proof-backed

Stops the action itself, not the words around it.

Each tool call is checked against the typed constraints before it executes. If it violates one, the call never runs, and Causalor writes a proof recording the state, the rule, and the verdict. Re-run the proof on the same inputs and you get the same answer. This is the guarantee you can take to a compliance review.

The repair

continuous · measured

Catches an agent drifting off-plan and puts it back on course.

Not every failure is a single bad tool call. Some are slow drift over a long task, and by the time it reaches a tool call the damage is already in the reasoning. Causalor scores that drift and writes a correction into the next turn, often before a violating action is ever proposed. You never diagnose the drift or author the fix. Every correction is then measured on the turns that follow, so the effectiveness you see is observed rather than asserted, and it sharpens per agent over time.

Connect

Three ways to put Causalor in the path.

Same deterministic guarantee on every route. Pick by trust boundary, move between them later without re-authoring anything.

See it work, end to end

Hosted gateway

Trying it out. Two lines, no deploy.

Point your existing OpenAI or Anthropic SDK at the gateway. Governed on the first call.

OpenAI(base_url="gw.causalorlabs.com/v1")

Sidecar

Production. Traffic stays in your VPC.

The same gateway image in your own VPC, so LLM traffic never leaves it. One container, one host to reach.

docker run ghcr.io/causalorlabs/causalor-gateway

In-process SDK

Maximum control. No new failure point.

Enforce in-process: block the action and pull live repairs. Or run fully airgapped, hard block only.

pip install causalor

Blocking needs no key at all

In-process, pre_commit is a local call: the verdict is computed in your process, with no model call and no account. A cal_ key, shown once on sign-in, is what adds correction and the audit record. The Quickstart starts with the part that needs neither.

The sidecar is one container

Nothing else installs on your side. ClickHouse, the causal graph, embeddings, and the repair workers all stay in Causalor's cloud; the container just reaches them over HTTPS.

You set the limits

You decide what the agent may do. It stays as open-ended as you built it.

You are not rewriting the agent into a rulebook. You are drawing the lines it must not cross, and Causalor holds it to them from the outside. To skip the blank page, it reads the agent’s prompt and tool schemas and proposes limits you can accept. Edit one, drop one, or add a limit the prompt never mentioned. What you confirm is enforced exactly, on every call.

Set your agent’s limits
The guardrails editor: two rules derived from a refund agent's prompt (amount at most 500, currency USD), editable, with Save and Activate

Start in observe mode

Watch your live agents first. Then govern them.

Point a production agent at Causalor with no limits set and every run is white-boxed: where it drifted, which limits it would have crossed, which failure modes keep repeating, on real traffic, not a fixed test set. When the picture is clear, turn on correction and blocking and it governs those same agents in production.

The immutable audit record: blocked actions with the constraint that failed, the state snapshot hash, and the engine version, plus ungoverned bypasses caught

Where it fits

The rest of the stack watches. Causalor acts.

The rest of the stack

  • ·Observability (Langfuse, LangSmith): shows the trace, after the fact
  • ·Eval suites: score the agent in staging, on a fixed test set
  • ·Guardrail libraries: keyword and regex filters on text
  • ·None of them act on what they find, in production

Causalor

  • +Scores every action live, on real production traffic
  • +Corrects the agent, or blocks the action, in real time
  • +Every decision carries a replayable proof
  • +The limits are yours, enforced deterministically

Institutional memory

The longer your agents run, the more Causalor knows how they fail.

Every drift, block, and repair is kept permanently and scoped to your account, never dropped when it scrolls off a dashboard. The exact state, the exact rule, the exact fix, retained and queryable.

It is yours to export, and it is the part of your governance a competitor cannot clone.

Retained · permanentseen 1,418×
constraint
loan.fraud_required
state
fraud_check_done = false
fix
constraint_reinforcement
proof
sha256:f735f27c…

First recorded on day 3. Still queryable, and feeding the guardrails your next agent inherits.

Start free

Put your agents under control today.

Connect an agent, watch where it breaks, then turn on correction and blocking. Two minutes, no card.