7 posts tagged with "Security"
View All TagsPersistent volumes for scripts via code annotations, per-script sandbox annotation for Python and TypeScript, and AI sandbox for running coding agents with isolation and persistent state.
New features
- Volumes: persistent file storage attached to scripts via comment annotations, synced to workspace object storage.
- Dynamic volume names with $workspace and $args[...] interpolation.
- Per-worker LRU volume cache (10 GB) with exclusive leasing for concurrency safety.
- Per-script sandbox annotation (#sandbox / //sandbox) now supported for Python and TypeScript in addition to Bash.
- AI sandbox: sandboxing + volumes pattern for running AI coding agents (Claude Code, Codex, OpenCode) with persistent state.
- Built-in Claude Code template using the Claude Agent SDK with volume-backed session persistence.
- Volumes UI in the Assets page for browsing, exploring, and deleting volumes.
- Community Edition volume limits: max 20 volumes per workspace, 50 MB per file.
Instance-level setting to enforce nsjail sandboxing across all jobs, and per-script #sandbox annotation for bash scripts.
New features
- job_isolation instance setting with nsjail_sandboxing value to enforce sandboxing for all jobs.
- Sandboxing enabled when either job_isolation is set or DISABLE_NSJAIL=false.
- #sandbox bash annotation to enable sandboxing for individual bash scripts.
- Nsjail always probed at startup regardless of DISABLE_NSJAIL setting.
Implemented true Hashicorp Vault integration for secure secrets management.
New features
- Native Hashicorp Vault integration
- Secure secrets management with Vault

Backend schema validation and safe interpolated arguments for SQL queries.
New features
- Backend schema validation for scripts using the schema_validation annotation.
- Safe interpolated arguments for SQL queries using %%parameter%% syntax.
- Protection against SQL injections with strict validation rules for interpolated parameters.

Windmill supports custom HTTP routes to trigger a script or flow.
New features
- Trigger a script or flow via a custom HTTP route.
- Use a preprocessor to transform the request before it is passed to the runnable.

Get a notification everytime on critical events such as when a job is re-run after a crash.
New features
- Get email or Slack notifications for critical events such as everytime a job is re-run after a crash.
- You can set an alert to receive notification via Email or Slack when the number of running workers in a group falls below a given number.

All secrets of a workspace are encrypted with a symmetric key unique to that workspace. This key is generated when the workspace is created and is stored in the database in the workspace_settings. You can now manually update the encryption key of a workspace, it will be re-encrypted with the new key and the previous key will be replaced by the new one.
New features
- Manually update the encryption key of a workspace.