Agent governance
Your agents act.
You answer for it.
Daevix is the control plane for autonomous agents. It gives every agent its own identity, runs it in a sandbox you control, and records every action it takes. When an agent oversteps, it is contained at the boundary, and the attempt is on the record.
The questions
Four questions you should be able to answer.
An agent gets out of the box, and you find out later. Daevix answers these from the record.
Which agents are running, and what may they do?
Every agent has an identity and a policy, set at org, group or agent scope.
Identity and policyWhat did this agent touch in the last hour?
Filter the audit stream by agent, destination or outcome, and get the answer from the record.
The audit streamWhere are your agents’ API keys?
Not with the agents. Credentials are injected at the enclave boundary, so an agent has nothing to leak.
Secret injectionHow fast can you contain it, and prove you did?
One command contains it. Every denied attempt after that is on the record.
ContainmentKnow every agent. See every action. Contain every mistake.
01Observe
Every agent has its own identity, so every request it makes traces back to a named agent, live.
Identity and policy02Audit
Every decision is recorded in the enclave, separate from application logs, and never leaves it.
The audit stream03Contain
Policy decides where each agent may go. One command contains an agent while the rest of the fleet keeps working.
Containment from the CLIArchitecture
Sovereign by construction.
Daevix runs in your infrastructure, so agent data never passes through ours. It splits in two: the controlplane decides who an agent is and what it may do; the enclave is where the work happens, and where the data stays.
Controlplane
CentralHolds who agents are, what they may do, and what they did. Operators drive it through one API.
- Identity
- Policy
- Operator audit
- Operator API
Never handles sovereign data
Enclave
YoursRuns where your data lives. A broker and its satellites sit on the agent's request path and enforce policy there.
- Broker
- IMDS
- Gateway
- LLM proxy
- Relay
- Audit stream
Sovereign data and its audit stay here
Policy
Checked at execution time.
You define the policy. The enclave enforces it, on the request path, before a tool call or a model request goes out. Every request gets a verdict: allow, deny, review or redact.
Agent agt_7f3a calls tickets.create through the gateway.
Example decision. Policy matched; request forwarded; verdict recorded.
An identity for every agent
The enclave's IMDS serves agents their identity the way a cloud instance gets its own. Every action traces back to a named agent.
Policy on the request path
The gateway and LLM proxy sit between the agent and the outside world. Decisions happen where the request is, not in a dashboard after the fact.
A dedicated audit stream
Verdicts go to their own stream inside the enclave, separate from application logs. The audit is sovereign data too: it never leaves for the controlplane.
Contain an agent in one click
Pull one agent off the network mid-run while the rest of the fleet keeps working. Its identity is revoked and every request it makes is denied at the boundary, with the attempt on the record.
Agents never hold secrets
Credentials are injected into requests at the enclave boundary, on the way out. The agent never sees an API key or token, so it has none to leak, log or exfiltrate.
Bring your own agent
No SDK, no code changes. Inference is forced through a proxy you can reroute: the agent believes it is talking to Provider A while you send it to Provider B, translated between Anthropic and OpenAI formats on the way.
Audit stream
Every decision, on the record.
Who acted, what they touched and what policy said. Every record names the actor, the action, the target and the outcome, in UTC, in order, in one place.
CLI
Operate it from the terminal.
One binary, dvx, from placing an agent to pulling it off the network. Policy is set at platform, org, group or agent scope, and a lock keeps narrower scopes from overriding it.
Every command and flag is in the docs. Building from source? See the README.
$ dvx login$ dvx agent create --org acme --enclave enc-eu1 --image triage:1.4 --tier kata$ dvx policy destination --org acme --allow api.github.com --deny paste.example.net$ dvx policy llm credential-mode --org acme --mode inject
$ dvx policy llm upstream --org acme --set anthropic=https://llm.acme.internal$ dvx audit stream --agent agt_7f3a$ dvx agent contain --org acme --uid agt_7f3aOpen source
Put your agents under governance.
Daevix is AGPLv3. Contributions are welcome under the CLA. It is alpha.