Deployment Checklist
Compile-time sandboxing constrains generated programs. A production deployment must also secure users, trusted implementations, processes, stored data, and model-provider access.
Identity and session scope
Authenticate users before they can start a turn. Derive user and tenant scope from trusted session state, not from identifiers supplied by the model.
Isolate each session’s files, transcript, and approvals. The PDF processing agent and Telegram bot demonstrate per-session data directories. Define authentication, authorization, retention, and deletion for your application.
Capability review
Review capability interfaces and implementations:
- remove capabilities the agent does not need
- prefer domain operations over raw filesystem, network, database, or shell access
- separate read and write authority
- attenuate broad authority into tenant-scoped or operation-scoped interfaces
- keep credentials and provider SDKs in trusted runtime code
Consequential operations
Require human approval inside the trusted implementation
of consequential capabilities. Validate and scope the request before presenting
it for approval. Perform the effect only after Approvals.Approved.
Make externally visible operations idempotent where retries could duplicate them. Record the request, decision, and resulting effect in the audit log.
Process isolation
Use an external sandbox to limit the guest program’s CPU and memory, and set system-level file system and network policies. File system and network restrictions add defense in depth around the compile-time capability boundary.
Follow Add Defense in Depth to configure the external sandbox.
Model and data policy
Review the model provider’s retention, regional processing, and training policies for the data your agent handles. Configure provider-side storage to match your requirements.
For high-stakes workflows or highly sensitive data, consider deploying a local open-weight model.
Define retention and deletion policies for prompts, outputs, files, generated programs and audit events. Restrict who can query or export them, and redact secrets and personal data.
Serving HTTP
Keep HTTP requests short while agent turns run in the background. Match body limits across routes, the WSGI server, and any proxy, and account for concurrent uploads in your memory and storage budgets. Keep requests for a session on the process that owns its running turns and pending approvals.
Follow Serving HTTP for server configuration, request policy, upload handling, and deployment checks.
Behind a reverse proxy
Configure TLS, preserve the public host, and serve only public assets directly. Follow the reverse-proxy configuration for header forwarding, body limits, caching, and cookies.
Evaluate agent behavior
Compare task success, prompt-injection outcomes, latency, and cost against the current deployment before changing prompts, context strategies, skills, tools, or model providers. Set release criteria for important workflows and critical policy violations, and retain the evidence behind each comparison.
Follow Evals to build cases, grade outcomes, and make evaluations part of the release process.
Test the boundaries
- Test that forbidden capability use fails to compile.
- Test authorization across users and tenants.
- Test approval rejection, timeout, replay, and duplicate decisions.
- Test malformed and oversized uploads at the proxy, server, and route.
- Test sandbox timeouts and resource limits.
- Test restart behavior for sessions.