Skip to main content
NullClaw provides multiple layers of security controls to safely execute agent actions. Configure sandboxing, resource limits, and autonomy policies to match your risk tolerance.

Autonomy Level

Control how much independence the agent has:
string
default:"supervised"
Autonomy level:
  • supervised — Require approval for medium/high risk actions (default)
  • autonomous — Execute all allowed actions without approval
  • restricted — Only execute explicitly allowed commands
boolean
default:"true"
Restrict file operations to the workspace directory (~/.nullclaw/workspace).
number
default:"20"
Maximum number of tool actions per hour (rate limit).
boolean
default:"true"
Require user approval for medium-risk actions (file edits, API calls).
boolean
default:"true"
Block high-risk commands entirely (rm -rf, sudo, etc.).
array
Explicit allowlist of shell commands (only used in restricted mode).
array
Additional directories the agent may access beyond the workspace.
Setting workspace_only: false allows the agent to read/write anywhere on the filesystem. Only disable this if you trust the agent completely.

Sandbox Configuration

Run shell commands in an isolated sandbox:
boolean
Enable sandboxing for shell commands. null (default) enables sandbox if a backend is available.
string
default:"auto"
Sandbox backend:
  • auto — Auto-detect best available backend
  • landlock — Linux Landlock LSM (kernel 5.13+)
  • firejail — Firejail sandbox wrapper
  • bubblewrap — Bubblewrap (bwrap) sandbox
  • docker — Run commands in Docker containers
  • none — No sandboxing (unsafe)
array
Additional arguments passed to Firejail (e.g., ["--net=none", "--private"]).

Sandbox Backend Comparison

Resource Limits

Constrain CPU, memory, and disk usage:
number
default:"512"
Maximum memory per command (MB).
number
default:"80"
Maximum CPU usage percent.
number
default:"1024"
Maximum disk space for temp files (MB).
number
default:"60"
Maximum CPU time per command (seconds).
number
default:"10"
Maximum number of subprocesses.

Audit Logging

Track all agent actions:
boolean
default:"true"
Enable audit logging.
string
default:"audit.log"
Audit log file path (relative to ~/.nullclaw/).
number
default:"90"
Keep audit logs for this many days.
number
default:"100"
Maximum audit log file size before rotation (MB).
boolean
default:"false"
Cryptographically sign audit events (requires key setup).

Runtime Configuration

Configure the execution environment:
string
default:"native"
Runtime adapter: native (host system), docker, wasm, or cloudflare.
string
default:"alpine:3.20"
Docker image for containerized execution.
string
default:"none"
Docker network mode: none (no network), bridge, or host.
number
default:"512"
Memory limit for Docker containers (MB).
boolean
default:"true"
Mount container root filesystem as read-only.

Tool-Level Security

Configure specific tool restrictions:
number
default:"60"
Timeout for shell commands (seconds).
number
default:"1048576"
Maximum shell output size (1 MB).
boolean
default:"false"
Enable browser automation tools. Disabled by default.
array
Allowlist of domains the browser can access (empty = all domains blocked).
boolean
default:"false"
Enable HTTP request tools. Disabled by default.
array
Allowlist of domains for HTTP requests (empty = all blocked).

Example: Paranoid Security

Maximum security configuration:

Example: Autonomous Mode

Trusted environment with minimal restrictions:
Autonomous mode disables most safety checks. Only use in trusted environments where the agent can’t cause harm.