Skip to content
01

Enforce

Runtime Security

Cirvix sits between the agent and the tool. Every call is parsed, normalized, and checked against the policy set before any side effect occurs. The agent receives a structured refusal it can reason about, not a crash.

The problem

An agent that can call tools can be induced to call them by anyone whose text reaches its context — a README, a ticket comment, a web page, a PDF. The model cannot reliably distinguish instructions from data, so the boundary has to exist outside the model.

Capabilities

How Runtime Security works

  • 01

    Argument-level inspection

    Calls are decoded into a canonical form before evaluation, so a path traversal, an encoded payload, and a symlink that resolves outside the workspace are all the same object to policy.

  • 02

    Deterministic refusal

    A blocked call returns a typed error naming the policy that denied it. Agents recover and re-plan instead of retrying blindly or hanging.

  • 03

    Injection heuristics as signal, not gate

    Content classifiers score tool results for instruction-like text and attach the score to the trace. Scores can raise an approval requirement; they never silently permit.

  • 04

    Egress control

    Outbound destinations are matched against an allowlist at resolved-IP level, so a hostname that resolves into link-local or internal ranges fails closed.

In practice

What it looks like

Refusal returned to the agentJSON
{  "error": "cirvix.policy.denied",  "decision_id": "dec_01JQ8F2K7M",  "reason": "Reading .env* is denied outside an approved secrets flow.",  "policy": "deny-dotenv-read",  "resource": "fs://repo/.env.production",  "remediation": "Request the value as a secret handle: secrets.get(\"STRIPE_KEY\")",  "appealable": true}

Limits

What this does not do

Stated plainly, because a control plane that claims no limits has either not been deployed or is not being described accurately.
  • Cirvix authorizes actions, it does not make a model trustworthy. A compromised agent still produces compromised reasoning — what changes is the set of actions that reasoning can reach.
  • Injection detection on natural-language content is probabilistic. It is used to raise friction, never as the sole control protecting a sensitive resource.
  • Calls that bypass an instrumented surface entirely — a subprocess the agent spawns outside a wrapped runtime — are outside enforcement until that surface is instrumented too.

Get started

Let the agents do real work.

Start with the free local scanner — it needs no account and tells you what is already ungoverned on your machine. Move to a governed runtime when you are ready.

Cirvix AgentControl is in private beta. Pricing is published and plans are not yet chargeable — early access confirms your place and we will tell you before anything bills.