Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dallay/corvus/llms.txt
Use this file to discover all available pages before exploring further.
Security Philosophy
Corvus enforces security at every layer — not just the sandbox. The framework is designed with defense-in-depth:Gateway Security
The gateway server requires pairing and authentication by default:Pairing Flow
Configuration Fields
Gateway port. Use
0 for random port (security-hardened mode).Gateway host binding:
127.0.0.1: Localhost only (default, secure)0.0.0.0: All interfaces (requires tunnel orallow_public_bind)
Require pairing code exchange before accepting requests.
Allow binding to non-localhost without an active tunnel.
Maximum
/pair requests per minute per client.Maximum
/webhook requests per minute per client.Trust proxy-forwarded client IP headers (
X-Forwarded-For, X-Real-IP).Only enable behind a trusted reverse proxy.TTL for webhook idempotency keys (5 minutes).
Autonomy Levels
Corvus supports three autonomy levels:- Readonly
- Supervised (Default)
- Full
No state-modifying actions. Agent can only:
- Read files
- Recall memories
- Execute read-only shell commands
Autonomy Configuration
Configuration Fields
Autonomy level:
readonly, supervised, or full.Restrict file access to workspace directory only.
- Blocks 14 system directories
- Blocks 4 sensitive dotfiles (
.ssh,.gnupg,.aws,.config) - Prevents null byte injection
- Detects symlink escape attempts
Allowlist of shell commands the agent can execute.
Blocklist of paths the agent cannot access. Default:
["/etc", "/root", "/proc", "/sys", "~/.ssh", "~/.gnupg", "~/.aws"]Maximum actions per hour (rate limit).
Maximum cost per day in cents (budget limit).
Require explicit approval for medium-risk shell commands.
Block high-risk shell commands even if allowlisted.
Tools that never require approval (read-only tools).
Tools that always require interactive approval, even after “Always” confirmation.
Runtime Configuration
Corvus supports two runtime modes:- Native (Default)
- Docker
Direct execution on the host system:Best for:
- Development
- Trusted environments
- Maximum performance
Docker Runtime Settings
Runtime kind:
native or docker.Docker image for shell command execution.
Docker network mode:
none: No network access (most secure)bridge: Bridge networkhost: Host network (not recommended)
Memory limit in MB.
None = no explicit limit.CPU limit (number of cores).
None = no explicit limit.Mount root filesystem as read-only.
Mount workspace into
/workspace inside the container.Optional allowlist for workspace mount validation.
OS-Level Sandboxing
Additional sandboxing beyond Docker:Enable OS-level sandboxing:
None: Auto-detect (default)true: Force enablefalse: Disable
Sandbox backend:
auto: Auto-detect best available (default)landlock: Linux kernel LSM (native, requires Linux 5.13+)firejail: User-space sandboxbubblewrap: User namespacesdocker: Docker container isolationnone: No OS-level sandboxing
Resource Limits
Limit resource usage for command execution:Maximum memory in MB per command.
Maximum CPU time in seconds per command.
Maximum number of subprocesses.
Enable memory usage monitoring.
Audit Logging
Tamper-evident audit logs:Enable audit logging.
Path to audit log file (relative to
~/.corvus/).Maximum log size in MB before rotation.
Sign events with HMAC for tamper evidence.
Secrets Encryption
Encrypt API keys in config file:Enable encryption for API keys and tokens in
config.toml.Encrypted values are prefixed with enc: and are tied to the local machine via a key file in ~/.corvus/.Security Checklist
1. Gateway not publicly exposed
1. Gateway not publicly exposed
✅ Binds
127.0.0.1 by default✅ Refuses 0.0.0.0 without tunnel or explicit allow_public_bind = true2. Pairing required
2. Pairing required
✅ 6-digit one-time code on startup✅ Exchange via
POST /pair for bearer token✅ All /webhook requests require Authorization: Bearer <token>3. Filesystem scoped (no /)
3. Filesystem scoped (no /)
✅
workspace_only = true by default✅ 14 system dirs + 4 sensitive dotfiles blocked✅ Null byte injection blocked✅ Symlink escape detection via canonicalization4. Access via tunnel only
4. Access via tunnel only
✅ Gateway refuses public bind without active tunnel✅ Supports Tailscale, Cloudflare, ngrok, or custom tunnel
Complete Example
Tunnel Configuration
Expose gateway securely using tunnels:- Cloudflare
- Tailscale
- ngrok
- Custom
Next Steps
Provider Configuration
Set up AI model providers and API keys
Channel Configuration
Enable messaging platform integrations