Setu

Your binaries. Your servers. One control panel.

Security

The trust model, plainly

The control plane is effectively root on every server that joins it: agents carry out the commands it queues, some through a privileged helper. Protect the control plane, its database and its secret key accordingly.

The agent itself is not root. It reaches root only through setu helper <verb>: typed JSON on stdin, with no paths, modes or owners from the caller. The helper bounds what root can be asked to do, using typed verbs, fixed templates, paths derived from the site id and hostile archives refused, but not who asks.

The full model, the helper's verbs, the sudoers file and the firewall rules are in the trust model and security documentation.

Reporting a vulnerability

Please report security issues privately through GitHub's private vulnerability reporting. Do not open a public issue. You should get an acknowledgement within three days. Fixes for the current minor release are published as a patch release with a security note in the changelog.

The full policy, including supported versions and scope, is in SECURITY.md.