Safety¶
Vandelay includes a safety system for shell command execution. Since the agent has system access, guardrails prevent accidental damage.
Safety Modes¶
| Mode | Behavior |
|---|---|
trust | All commands auto-approved. Use only on isolated servers. |
confirm | Every shell command requires user approval before execution. |
tiered | Safe commands auto-approved, risky commands require confirmation. (Default) |
Configure in config.json:
Tiered Mode¶
In tiered mode, commands are classified:
Auto-Approved (safe)¶
Commands in the allowed_commands list run without confirmation:
Requires Confirmation (risky)¶
Any command not in the allowed list prompts for approval.
Blocked (dangerous)¶
Commands matching blocked_patterns are rejected outright:
Command Timeout¶
All shell commands have a configurable timeout (default: 120 seconds):
File Write Protection¶
The FileTools toolkit includes a write allowlist. By default, writes to src/vandelay/ (the source code) are blocked to prevent the agent from modifying its own code.
Best Practices¶
- Use
tieredmode for most deployments - Use
trustmode only on dedicated, isolated servers - Lock Telegram to a single
chat_idto prevent unauthorized access - Store secrets in
~/.vandelay/.env, never inconfig.json - Use a strong
VANDELAY_SECRET_KEYfor JWT signing