| Version | Supported |
|---|---|
| 3.x | ✅ |
| < 3.0 | ❌ |
Please do not file a public GitHub issue for security problems.
Preferred: use GitHub's private vulnerability reporting — you'll get a private, encrypted thread with the maintainer; nothing is public until a fix is published.
Alternative: email the address on the maintainer's GitHub profile.
Whichever path you pick, please include:
- A description of the issue and what it lets an attacker do.
- A minimal reproducer (proof-of-concept) if you have one.
- Whether the issue is already public anywhere.
We aim to acknowledge reports within 7 days, ship a fix within 30 days for high-severity issues, and credit you in the release notes (unless you'd rather stay anonymous).
Chesspirit is intended to run on a trusted home network, behind a reverse proxy that handles TLS. Out of the box it assumes:
- Only invited family members reach the port.
- The Ollama instance the coach talks to is also on the local network and trusted (Chesspirit treats Ollama responses as untrusted text but trusts the Ollama URL itself).
- The host machine is single-tenant.
Things we do care about:
- Cross-user data access (one profile reading another's games).
- LLM output reaching
dangerouslySetInnerHTMLwith unsafe URL schemes. - Command/SQL injection through any user-provided input that crosses a boundary.
- CSRF on state-changing endpoints.
- Stockfish process leaks that exhaust host resources.
Things we don't currently defend against:
- A compromised admin account (admin can change
stockfish_path, which is intentionally local-execute). - Resource abuse by a logged-in user spamming
/api/analyze(rate-limiting is on the roadmap). - A malicious Ollama instance — if you point Chesspirit at someone else's LLM, you trust them with your prompts.