Data & Privacy

This is not a privacy policy. It is an architectural description — where your agent runs, where its data lives, and what leaves the machine.

The short version: the runtime runs where you run it. The loop, the capsule, your tools, your data — all of it executes on your machine in local development, or inside your agent's own container when deployed. What crosses the network is determined by two things you choose: your engine, and your policy.

The kernel is the perimeter

Every action the agent takes — every file read, every shell command, every network call — is checked by the kernel against the policy you declared in axon.config.ts before any code runs. There is no path around it: the agent process has no direct access to the filesystem, network, or shell.

export default defineAgent({
    policy: {
        fs: {
            read:  ["./src/**"],
            write: ["./output/**"],
            deny:  [".env", "**/secrets/**"],
        },
        network: {
            allow: ["api.github.com"],
        },
    },
})

An agent with this policy cannot read .env, cannot write outside ./output/, cannot reach any host but api.github.com. The model may want to. The kernel won't let it.

Your privacy posture is your policy — committed to git, auditable, version-controlled. Tighten it to what the agent genuinely needs. See Kernel & Policy for how enforcement works.

Where tokens go

Inference is the one flow that necessarily leaves the agent, and the engine decides where it goes:

Axon() — managed inference through Axon Cloud, billed to your account. Context windows flow to Axon and on to the model provider.

OpenRouter(), Codex(), Cerebras() — tokens flow from your machine directly to your provider. Axon is not in that path. Your provider contract governs that surface.

Ollama() — inference on your own hardware. No tokens leave your machine. The full runtime — loop, capsule, tools — was already local; with a local engine, everything is.

The isolation spectrum

Different threat models, increasing separation — each step is a deployment choice, not a configuration system:

Local development — everything on your machine; inference via whichever engine you chose. With Ollama(), fully self-contained.

Axon Cloud deployment — your agent runs in its own isolated container with its own durable data/. Axon manages the infrastructure; your policy still governs everything the agent does inside it.

Self-managedaxon build produces a container image you can run on your own infrastructure, with your own engine choice. Combined with local inference, no tokens leave hardware you control.

You define the environment. You define the policy. The agent operates within both.