|
| 1 | +# Security Policy |
| 2 | + |
| 3 | +## Supported versions |
| 4 | + |
| 5 | +helPRs is in early development. Only the `main` branch receives security fixes. There is no LTS line. |
| 6 | + |
| 7 | +## Reporting a vulnerability |
| 8 | + |
| 9 | +**Please do not file public GitHub issues for security problems.** |
| 10 | + |
| 11 | +Use GitHub's private vulnerability reporting: |
| 12 | + |
| 13 | +1. Go to [the Security tab of the repository](https://github.com/mariuspruvot/helprs/security) |
| 14 | +2. Click **Report a vulnerability** |
| 15 | +3. Fill in the form with as much detail as you can (reproduction, impact, suggested fix) |
| 16 | + |
| 17 | +If you cannot use GitHub for any reason, email **marius.pruvot@outlook.fr** with the subject line `helPRs security:`. |
| 18 | + |
| 19 | +### What to include |
| 20 | + |
| 21 | +- A description of the issue and the version / commit it affects |
| 22 | +- Steps to reproduce (proof-of-concept is ideal) |
| 23 | +- Your assessment of impact (data disclosure, RCE, auth bypass, etc.) |
| 24 | +- Any suggested mitigation |
| 25 | + |
| 26 | +### What to expect |
| 27 | + |
| 28 | +- Acknowledgement within 72 hours |
| 29 | +- A first assessment within 7 days |
| 30 | +- Coordinated disclosure: a fix will be published before public details, and credit will be given unless you ask otherwise |
| 31 | + |
| 32 | +## Scope |
| 33 | + |
| 34 | +In scope: |
| 35 | + |
| 36 | +- The API (`apps/api/`), the web app (`apps/web/`), and the runner image (`infra/docker/claude-runner/`) |
| 37 | +- The default `docker-compose` and Coolify deployment recipes |
| 38 | +- Container orchestration (privilege escalation, sandbox escape, credential leaks across sessions) |
| 39 | + |
| 40 | +Out of scope: |
| 41 | + |
| 42 | +- Vulnerabilities in upstream dependencies that have not been disclosed upstream (please report to the upstream first) |
| 43 | +- Issues that require an attacker to already have admin / database access |
| 44 | +- Social engineering of operators or users |
| 45 | +- Anything depending on a misconfigured deployment that the documentation explicitly warns against |
| 46 | + |
| 47 | +## Operator responsibilities |
| 48 | + |
| 49 | +helPRs is self-hosted. As an operator you are responsible for: |
| 50 | + |
| 51 | +- Keeping the host OS, Docker, and the helPRs image up to date |
| 52 | +- Protecting the `.env` file, the Postgres volume, and the `FERNET_KEY` (loss of the key means stored Claude credentials cannot be decrypted) |
| 53 | +- Restricting access to the `/admin` panel (set a strong `ADMIN_PASSWORD`) |
| 54 | +- Terminating TLS at a reverse proxy (helPRs does not serve HTTPS directly) |
| 55 | +- Treating the Docker socket mounted into the API container as a privileged surface -- only run helPRs on hosts where that is acceptable |
0 commit comments