The latest minor release on main is the only supported version. Patch releases
are cut as needed for security fixes.
| Version | Supported |
|---|---|
Latest minor on main |
✅ |
| Previous minor | |
| Older | ❌ |
Do not open a public GitHub issue for security vulnerabilities.
Instead, please report privately via one of the following channels, in this order of preference:
- GitHub Security Advisory (preferred): Go to https://github.com/cliwant/practiq-oss/security/advisories/new and submit privately. GitHub will not surface the report publicly until we coordinate disclosure with you.
- Email:
security@practiq.dev— PGP key fingerprint TBD; we will respond in plaintext within 48 hours and provide a key if you want to encrypt follow-up correspondence.
- A clear description of the vulnerability and its impact.
- Steps to reproduce, ideally with a minimal proof-of-concept.
- Your assessment of the severity (CVSS 3.1 vector if you can).
- Whether you intend to publicly disclose, and on what timeline.
- Acknowledgement within 48 hours of your report.
- A first triage response (confirmed / not-a-bug / need-more-info) within 5 business days.
- For confirmed vulnerabilities, a patch timeline:
- Critical (RCE, auth bypass, data exfiltration): patch in
mainwithin 7 days, release within 14 days. - High (privilege escalation, IDOR, exploitable XSS): patch within 30 days.
- Medium / Low: rolled into the next regular release.
- Critical (RCE, auth bypass, data exfiltration): patch in
- A CVE will be requested for any vulnerability that affects users (including self-hosters who pulled a vulnerable image).
- Public disclosure is coordinated with you. We default to 30-day embargo from patch release unless the vulnerability is already being exploited in the wild.
Reporters whose vulnerabilities lead to a patch will be credited in the release notes and in SECURITY-HALL-OF-FAME.md unless they request to remain anonymous. We do not currently run a paid bug bounty program.
In scope:
- The
apps/web/Next.js application (including API routes). - The
@cliwant/practiq-mcpnpm package (packages/mcp/). - The
docker-compose.ymlshipped in this repo and any official Docker images. - The
practiq.devhosted cloud (same code as OSS — see Cloud vs self-host).
Out of scope:
- Third-party dependencies' vulnerabilities (please report those upstream; we'll bump versions in response to CVE notifications and Dependabot).
- Issues in self-hosting that are clearly the operator's misconfiguration
(e.g. running Postgres with
password=postgreson the public internet). - Social-engineering attacks on Practiq maintainers or users.
- Always run behind HTTPS. Practiq is not designed to be exposed over plaintext HTTP.
- Rotate
NEXTAUTH_SECRETperiodically (it's a cookie HMAC; rotating invalidates active sessions, which is intentional). - The MCP server (
@cliwant/practiq-mcp) writes data to~/.practiq/by default — on multi-user machines, override withPRACTIQ_DATA_DIRto a user-scoped path. - We recommend enabling Postgres SSL in production. The default
docker-compose.ymldoes NOT enforce SSL between the web container and Postgres (they share a Docker network), but you should addsslmode=requirein any deploy that crosses a network boundary.