Control every byte that leaves your sandboxes
One egress proxy for every sandbox: Kubernetes sidecar, VM, or microVM.
- Every byte inspected: dozens of wire protocols, from DNS to layer 7
- No secrets in the sandbox: credentials are injected at the proxy level, so agents never hold them
- Tied to a human: short-lived OIDC identity across Cursor, Devin, AWS, Azure, and GCP
“Going from 0.0.0.0/0 to an allowlist felt like progress, until we realized every allowed domain is still an exfiltration channel. Formal lets our production agent do the work safely.”
Kevin Qiu · Lead Security Engineer
ALLOW dns A registry.npmjs.orgALLOW tls github.com:443ALLOW http POST api.anthropic.com/v1/messages masked 2 secretsALLOW pg SELECT email FROM usersALLOW ssh git push origin feat/retryBLOCK http PUT paste.example.com/raw not in egress allowlist
sandbox POST api.github.com/repos/acme/api/pulls authorization: <none>formal policy allow · acting for [email protected] + authorization: Bearer ghp_••••••••github 201 Createdsandbox 201 Created the token never entered the sandbox
VERIFY cursor agent-7f3a → [email protected]VERIFY devin session-41c → [email protected]VERIFY aws lambda/triage → [email protected]VERIFY gcp run/eval-job → [email protected]VERIFY azure aca/agent-02 → [email protected] tokens expire in 15m · no static keys every request traced to a human
