SECURITY.md
Rama main · réplica de lectura del repositorio original.
# Security policy
## Reporting a vulnerability
**Please do not open a public issue for a security problem.**
Report it privately through GitHub:
[Report a vulnerability](https://github.com/flagraft-hq/flagraft/security/advisories/new).
That opens a draft advisory only the maintainers can see.
Useful things to include, as far as you have them: what an attacker can do, the
steps to reproduce, the version or commit, and whether it needs an authenticated
account or an API key.
You should get an acknowledgement within a week. If you do not hear anything,
assume the message was missed and open a public issue saying only that you are
waiting on a security response -- no details.
## Supported versions
Flagraft is pre-1.0 and has not had a security audit. Only the latest release
gets fixes; there are no backports to earlier versions.
| Version | Supported |
| -------------- | --------- |
| Latest release | Yes |
| Anything older | No |
## Things that are not vulnerabilities
Flagraft is self-hosted, so some of its security depends on how you run it.
These are documented behaviors rather than bugs:
- **The default admin password.** First boot seeds an admin account with a
published default password. The server refuses to start in production until
`DEFAULT_ADMIN_PASSWORD` is changed. Leaving it set in a non-production
deployment that is nonetheless reachable is a deployment mistake.
- **Client keys are low-privilege, but not public.** A client key is scoped to
one project and environment and can only evaluate flags. It is still a
credential: the SDK is server-side, and browser apps are expected to proxy
evaluation through their own backend rather than ship the key to visitors. A
client key found in a published frontend bundle is a real report.
- **Swagger UI at `/docs`.** Served outside production, disabled when
`NODE_ENV=production`.
- **`TRUST_PROXY` left off behind a proxy.** Rate limits then count every caller
as the proxy. That is a misconfiguration; see the README.
Known limitations we already track, including the gaps in regex constraint
screening and login throttling, are listed in
[docs/ROADMAP.md](docs/ROADMAP.md#known-limitations). Reports that restate those
are welcome but will be closed as known.
## Scope
In scope: the server, the admin UI, the SDK, and the published Docker image.
Out of scope: vulnerabilities in dependencies that have no exploitable path
through Flagraft, and anything requiring an attacker who already has workspace
owner access -- that role can already change everything by design.