Security
Reporting a vulnerability
Please report security issues privately; do not open a public issue. Use the address in the repository's SECURITY.md and include the affected version, steps to reproduce, the impact and any proof of concept. You will get an acknowledgement within three working days and a status update at least every fourteen days while the issue is open.
Disclosure
We follow a 90-day coordinated disclosure window. We aim to ship a fix and publish an advisory well before the window ends, and we credit reporters unless they ask us not to. If a fix needs longer, we say why and agree a new date.
Scope
In scope: the server, the admin, the block library, the Docker image, the published packages and this website with its registry. Out of scope: third-party services you connect to Spillway, and issues that need an administrator to act maliciously.
Supported versions
Spillway is in alpha (0.x). Only the latest release on main receives security fixes.
How it is built
- Cookie sessions with CSRF protection, scrypt password hashing, login rate limiting, body limits on every route.
- An allow-list sanitiser for author HTML, on save and at render; embeds limited to allowed hosts; a content security policy and HSTS.
- An SSRF guard on every outbound request: webhooks, connectors, AI providers and modules cannot reach private networks unless the operator says so.
- Modules run either in-process after human review or in a WebAssembly sandbox with declared capabilities and limits; the registry index is signed.
- An audit log of every write, including every API token request and agent tool call; tokens whose permissions can only shrink.
The full description is in the security guide; the review the guide grew out of is published in the repository.