Skip to main content
Risoluto is designed for local-first, operator-controlled, high-trust environments. It runs on your machine or a VDS you control. A managed cloud option is planned, but the self-hosted model remains the primary deployment path.

Trust Layers

Three components form a chain of trust. Each layer controls a different decision boundary.

Sandbox Policies

The thread_sandbox setting controls what the Codex agent is allowed to do inside its container.
danger-full-access gives the agent full control inside the container. Only use it for trusted, well-understood workloads — never in shared or production environments.

Default Trust Posture

Recommended posture by environment:
  • Local developmentworkspace-write with approval_policy: "never" (the default). Fast iteration, scoped writes.
  • Shared stagingworkspace-write with approval_policy: "unless-allow-listed". Require explicit approval for unknown tools.
  • Untrusted workloadsworkspace-read with a strict egress allowlist. Maximum containment.

Docker Sandbox Boundary

Agents run inside Docker containers with configurable security hardening.

Security Hardening

Egress Allowlist

Restrict outbound network access from agent containers:
Enabling the egress allowlist adds CAP_NET_ADMIN back despite --cap-drop=ALL. This partially weakens the default capability posture but is required for iptables-based filtering inside the container.

Credentials

All credentials are stored in an AES-256-GCM encrypted store (secrets.enc) protected by the master key generated during setup. The master key never leaves your machine.

Provider Boundary

Risoluto supports three auth modes for connecting to the model provider:
Standard OpenAI API key (sk-...). Risoluto validates and encrypts it during setup.
Any OpenAI-compatible endpoint. Useful for cost tracking proxies, self-hosted models, or enterprise gateways.
Authenticates via PKCE in your browser. Uses your ChatGPT/Codex subscription directly.
When running in Docker, containers cannot reach 127.0.0.1 on the host. Risoluto transparently rewrites host-bound URLs to host.docker.internal.

Network Security

See the Network Security guide for bind address, write tokens, and rate limiting configuration.

What’s Next

How It Works

Full architecture walkthrough — polling, workspaces, sandboxes, delivery.

Network Security

Bind address, write tokens, rate limiting, and TLS.

Custom Sandbox

Build a custom sandbox image with your own dependencies.

Configuration

Customize sandbox policies, auth modes, and security hardening.
Last modified on April 3, 2026