Security

The prompts here tell an agent what to run as root on a server somebody bought an hour ago. A dangerous one is the most urgent bug this project can have. This page is how to report it and what happens after you do.

Report it

Private, and preferred for anything dangerous: open a private security advisory. It stays between us until there is a fix, which matters because readers have already pasted the current version.

Public, for something merely broken: the prompt-failure issue template. A prompt that fails halfway and leaves nothing exposed is a normal bug and belongs in the open, where the next reader can find it.

Useful in either case, in whatever order it comes out:

Please do not publish a working exploit against a live install before the correction ships. Beyond that there is no embargo ceremony and no paperwork.

What is in scope

This site's content and code: the prompts, the compose files, the Caddy blocks, the install scripts, the site itself, and the deployment. Anything that breaks the security standard the validator is supposed to enforce is in scope by definition, including:

What is not

Vulnerabilities in the upstream projects themselves. If the flaw is in Immich, Caddy, or Postgres rather than in how we install it, report it to that project — they can fix it and we cannot. Tell us as well, and the prompt gets amended or pulled while the hole is open. Also out of scope: scanner output with no exploit path, missing response headers on static pages with no accounts and no user data, and self-XSS.

What happens next

Our own surface

Worth stating plainly so you know where to look: this site has no accounts, no sessions, and no reader data, and it serves prerendered pages from an edge cache. The interesting attack surface is not the website. It is the text the website tells you to paste into a root shell.

Last updated 2026-08-05. Private advisory: https://github.com/caniselfhostit/caniselfhostit/security/advisories/new