| Version | Supported |
|---|---|
| 0.4.x | ✅ Active security support |
| < 0.4.0 | ❌ End of life (please upgrade) |
KnowledgeDigest is engineered around local-first data integrity:
- Zero Egress by Default: All document parsing, text chunking, and SQLite FTS5 search indexing occur 100% locally on your machine. No telemetry, usage statistics, or automated background telemetry calls are ever made.
- Explicit LLM Boundary: External network calls only happen when the user explicitly configures and invokes LLM summarization (
--flashvia Google GenAI or--haikuvia Anthropic). - Web Viewer Hardening:
- State-changing endpoints (
/open/,/api/reset_doc/,/api/delete_file/) strictly enforce HTTP POST (HTTP 405 on GET). - Host header validation mitigates DNS rebinding attacks.
- Origin / Referer checks protect against Cross-Site Request Forgery (CSRF).
- Search snippet outputs are escaped prior to
<mark>tag injection to prevent stored XSS.
- State-changing endpoints (
- Unprivileged Execution: KnowledgeDigest runs as a standard user process (
RunAsInvoker) without requiring elevated or root permissions.
If you discover a potential security vulnerability, please report it responsibly:
- Do NOT open a public issue.
- Use GitHub Private Vulnerability Reporting: Navigate to GitHub Advisory Submission.
- Provide details:
- Component / module affected (e.g.
web_viewer.py,chunker.py,digest.py) - Steps to reproduce or proof-of-concept
- Potential impact and severity assessment
- Component / module affected (e.g.
- Initial Response: Within 48 hours of report submission.
- Triage & Assessment: Within 5 business days.
- Patch Deployment: Security fixes will be released on
mainand tagged in a timely manner before coordinated disclosure.