Daevix Docs

What Daevix is

Daevix is an execution-time control plane for autonomous agents. It observes what an agent does, audits it against the record, and contains it by default — split across two planes so sovereign data never leaves the enclave that owns it.

View as Markdown Edit on Tangled

Two planes, one boundary

Daevix is one Go binary, dvx, run as two planes. The controlplane (dvx serve controlplane) and the sovereign-plane processes (dvx serve broker, dvx serve imds, and the gateways) are all the same binary — the split is a lint-enforced package boundary, not two products.

The controlplane holds identity, policy, audit metadata, and the operator API. It never receives or stores sovereign data. The enclave is the sovereign data plane — a collection of processes that runs in your Kubernetes and does the mediated work. Sovereign data never flows to the controlplane, and the sovereign path never depends on it.

Agents never hold a controlplane credential and never reach one directly. Egress toward the controlplane is terminated at the enclave gateway like any other egress; the gateway carries the agent’s attested identity on its behalf and presents any operator credential itself. Agents talk to their local enclave over a mounted unix socket (an IMDS-like metadata service) for identity and configuration.

What you get

Observe what an agent did, audit it against the record, and contain it by default. Egress is mediated by the enclave gateway; a destination outside policy is denied. Refusal is the platform working: the denial is the feature.

Audit is first-class and kept separate from application logging — both go to stdout, told apart by a top-level stream key, so the record of what an agent did is never entangled with operational noise. Errors are RFC 9457 problem documents; servers are TLS-only.

Daevix is alpha. It is self-hosted: you run both planes in your own infrastructure. There is no hosted console.