Security¶
Best practices for securing your Vandelay deployment.
API Key Management¶
Never put API keys in config.json. Use ~/.vandelay/.env:
Vandelay automatically migrates secrets found in config.json to .env on startup.
File Permissions¶
JWT Secret¶
The server uses a JWT secret for WebSocket authentication. Change the default:
Add to ~/.vandelay/.env:
Telegram Chat Lock¶
Lock your Telegram bot to a single chat ID to prevent unauthorized access:
Without this, anyone who finds your bot can chat with it.
Safety Modes¶
For production servers:
tiered(recommended): Auto-approves safe commands, blocks dangerous ones, confirms everything elsetrust: Only use on isolated, dedicated servers where the agent needs full autonomy
Network Security¶
- Bind to localhost if using a reverse proxy: set
"host": "127.0.0.1"in server config - Use TLS via Nginx + Let's Encrypt (see VPS guide)
- Firewall: Only expose ports 22, 80, 443
File Write Protection¶
The FileTools toolkit blocks writes to src/vandelay/ by default, preventing the agent from modifying its own source code. Custom blocked paths can be configured.
Checklist¶
- [ ] API keys in
.env, notconfig.json - [ ] Strong
VANDELAY_SECRET_KEY - [ ] Telegram
chat_idset - [ ] Safety mode set to
tieredor higher - [ ]
.envfile permissions:600 - [ ] Nginx with TLS in front of the server
- [ ] Firewall enabled (UFW or equivalent)
- [ ] Server binds to
127.0.0.1(behind proxy)