Governance for AI agents

Your agents act.
You answer for it.

Autonomous agents already touch customer data, spend money and call systems on your behalf — and almost nobody can say precisely what they did, or stop them mid-run. Daevix is the governance layer: observe every action, keep a record you can hand to an auditor, and contain an agent in one move.

Alpha · AGPLv3 · runs inside your own boundary
observabilityauditcontainment
The failure mode

An agent gets out of the box, and you find out later.

Agents improvise. Given a tool, a budget and a goal, they will reach for things nobody wrote a ticket for. The public escapes so far have all had the same shape: the action was possible, nothing was watching the boundary, and the record of what happened was reconstructed from application logs days afterwards.

Isolation The agent runs as untrusted code, in a box it cannot argue its way out of.
Observability Every reach is seen at the boundary, while the run is still live.
Containment One agent stops. The fleet keeps working. The record is sealed.

Observe. Audit. Contain.

Three things you need before you can let an agent near anything that matters. Daevix does them at the boundary of the agent, so they hold even when the agent misbehaves.

Observe

Every action an agent takes, as it happens.

Agents are not services: they improvise, and the interesting behaviour is the call you did not anticipate. Daevix watches the boundary of every agent — what it reached for, what it read, what it spent — so the fleet is legible while it is still running, not after an incident.

nothing runs unobserved
Audit

A record built to be handed to someone else.

The trail is a first-class, tamper-evident stream with its own schema — not application logs that a later release can reword or drop. When risk, legal or a regulator asks what the agent did on the 14th, the answer is a query, not an archaeology project.

records may not be dropped
Contain

Stop one agent without stopping the business.

Policy is default-deny at the edge of the agent, so an agent reaches only what you allowed. When something goes wrong you contain that agent alone — reach cut, run frozen mid-step, record sealed — while the rest of the fleet keeps working.

one agent, one move
The record

What the agent did, in one line each.

Actor, action, target, outcome. Readable by the engineer on call and by the reviewer who has never seen your stack — which is the point of an audit record. Filter it, tail it live, or query the same stream from the API.

Audit stream · production fleet Live tail
Tailing
14:02:11.884 planner-3 payment.blocked charge €4,120 · outside policy 2ms
14:02:11.402 planner-3 record.read customer 41c8 · orders 41ms
14:02:10.998 tool-runner-11 agent.identified attributed to run 8f2a, org acme 8ms
14:02:09.771 risk@acme.example agent.contained planner-7 · reach cut, run frozen 12ms
14:02:08.310 ops@acme.example agent.created tool-runner-11 · support tier
Actions blocked / 1h1,208
Records dropped0
The governance gap

Four questions most teams cannot answer yet.

01 Which agents are running right now, and on whose authority?
02 What did this one touch in the last hour?
03 Who approved the action that cost us money?
04 How fast can you stop it, and prove that you did?
The premise

An agent is untrusted code acting in your name. Governance cannot live inside it, and it cannot be a prompt — it has to sit outside the agent, where the agent cannot argue with it.

Built for the people who get asked

Your boundary. Your keys. Your record.

  • Runs inside your own infrastructure — agent data never transits us
  • Every action attributed to an agent, a run and a human owner
  • The audit trail is yours, exportable, and outlives the vendor
  • Containment is an operator action with a record, not a support ticket
securityriskplatformcompliance

Put your agents under governance.

Daevix is alpha and open source. Read the source, run it against one agent you already have in production, and tell us which question it still cannot answer.

AGPLv3 · CLA required for contributions