Security - Neotask by Neotask Documentation | Neotask
Security
Overview
Open Claw is designed with a security-first architecture. The Gateway binds to localhost by default, all sensitive data is encrypted at rest, and agent execution can be sandboxed in isolated containers.
Network Security
Loopback by Default
The Gateway only listens on 127.0.0.1 (localhost) unless you explicitly change the binding mode. No external network exposure by default.
Authentication
All WebSocket connections require authentication:
Token auth — Bearer token (UUID or custom string)
Password auth — Bcrypt-hashed password
Trusted proxy — Pre-authenticated headers from reverse proxies
Local trust — Loopback connections are implicitly trustedRemote Access Security
For remote access, the recommended approach is Tailscale VPN or SSH tunneling — never expose the Gateway directly to the internet.
Device Pairing
How Pairing Works
Every client that connects to the Gateway must be paired:
Device presents its identity (fingerprint + public key)
Gateway issues a pairing challenge (nonce)
Device signs the nonce with its private key
You approve the device through the UI
Gateway issues a device token for future connectionsTrust Model
Local devices (loopback) are auto-approved for convenience
Non-local devices require explicit approval
Device tokens are stored locally and reused on reconnect
Devices can be revoked at any timeEncryption
Data at Rest
AES-256-GCM — All tokens, secrets, and API keys are encrypted at rest
Machine-derived keys — Encryption keys derived via scrypt from device identity
No plaintext storage — Tokens are never stored in plaintextData in Transit
TLS — HTTPS for API communication
WSS — WebSocket Secure for Gateway connections (when using Tailscale Serve or reverse proxy)
HMAC signing — Request integrity with nonce and timestampSandboxing
Docker-Based Isolation
Agent command execution can be sandboxed in Docker containers:
Per-agent profiles — Each agent can have its own sandbox configuration
Resource limits — Configurable CPU, memory, and timeout limits
Network isolation — Containers can be network-isolated
Filesystem confinement — Agents only access their workspace
Custom images — Use pre-built images with specific tools installedSandbox Scopes
| Scope | Description |
|-------|-------------|
| Per-session | Fresh container for each session |
| Per-agent | Persistent container per agent |
| Shared | Shared container across agents |
Workspace Access
Sandboxed agents can access their workspace directory (mounted into the container) but cannot access the host filesystem outside their workspace.
Exec Approvals
Control what commands agents can execute on nodes and the Gateway host:
Modes
| Mode | Description |
|------|-------------|
| Allowlist | Only pre-approved commands execute |
| Ask | Unknown commands prompt for user approval |
| Full | No restrictions (use with caution) |
Per-Node Configuration
Each node (macOS, headless host) has its own exec approval configuration, stored locally. You can allow specific binaries (e.g., /usr/bin/docker, /usr/local/bin/terraform) while blocking everything else.
Elevated Mode
Some operations require running on the Gateway host directly (not in a sandbox). Elevated mode is:
Gated by explicit permission in agent config
Only available on the Gateway host
Disabled by default
Auditable through loggingSecurity Audit
The built-in security audit checks:
Configuration file permissions (should be 600)
Session file permissions
Node.js version (security patches)
Plaintext secret detection
Plugin allowlist validation
Open network interface audit
Auth configuration completenessThe audit can automatically fix many issues when given permission.
Best Practices
Keep the Gateway on loopback — Use Tailscale or SSH for remote access
Enable sandboxing — Run agent commands in Docker containers
Use exec allowlists — Restrict what commands agents can run on nodes
Set auth tokens — Always configure token auth, even for loopback
Review agent permissions — Use minimal tool profiles where possible
Keep Open Claw updated — Updates include security patches
Audit regularly — Run security audits to catch misconfigurations
Restrict plugin loading — Only install trusted plugins
View full documentation