The four denials
We don't ask the model to behave. It never sees the key.
No model is immune to prompt injection, so we don't rely on asking: we limit what the agent can reach. Here are four things the system refuses to do, and how finished each one is.
D-1 · EgressEnforced today
A jailbroken agent still can't phone home.
The agent's container can reach only the model API, through an allow-list proxy, and our tool proxy. Eight probes run on every deploy, and the deploy fails if one gets through.
Not yet: blocking and testing DNS exfiltration.
D-2 · SecretsEnforced by design
Your tool tokens never enter the model's context.
Tool and Slack tokens stay encrypted in the control plane. The agent holds only a 15-minute pass to the tool proxy, which adds the real token on the way out.
Not yet: catching a key someone pastes into a message.
D-3 · PublishingIn development
Nothing publishes without a signed approval of that exact draft.
Approving will mint a signed record bound to the draft's fingerprint. A missing approval, or a single changed byte, will be refused.
Today: the agent holds no channel credential, so the worst a prompt injection gets you is a draft nobody approved.
D-4 · IsolationEnforced by design
One client's credentials can't open another client's brain.
Separate storage and one encryption key per brain, with access scoped to the client it belongs to. Credentials for one brain have no permission on another brain's storage or key.
Also per brain: Slack app, agent container, tool connections and sessions.