| Version | Supported |
|---|---|
| 1.0.x | ✅ |
| < 1.0 | ❌ |
We take security seriously. If you discover a security vulnerability, please follow responsible disclosure practices.
- Do NOT open a public issue for security vulnerabilities
- Send a detailed report to: security@panoptes.example.com (or open a confidential issue on GitLab)
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
| Action | Timeline |
|---|---|
| Acknowledgement | Within 24 hours |
| Initial assessment | Within 72 hours |
| Status update | Within 7 days |
| Fix release | Within 30 days (critical) / 90 days (moderate) |
- Acknowledgement of your report within 24 hours
- Regular updates on the status of your report
- Credit in the security advisory (if desired)
- No legal action for responsible disclosure
Panoptes follows defense-in-depth security principles:
- Memory Safety: Written in Rust with no
unsafeblocks - Minimal Privileges: Runs as non-root user in containers
- Local Processing: No data leaves your machine
- Input Validation: All file inputs are sanitized
- Container Isolation: Podman rootless containers
| Threat | Mitigation |
|---|---|
| Malicious file names | Input sanitization, length limits |
| API injection | No external API calls (local only) |
| Container escape | Chainguard Wolfi minimal base, rootless |
| Supply chain | SPDX headers, dependency auditing |
| Denial of service | File debouncing, rate limiting |
+------------------+ +------------------+ +------------------+
| User Files | --> | Panoptes | --> | Ollama |
| (untrusted input)| | (sandboxed) | | (containerized) |
+------------------+ +------------------+ +------------------+
|
v
+----------+
| Renamed |
| Files |
+----------+
- All dependencies are audited via
cargo audit - No floating version ranges (pinned versions)
- Regular dependency updates via Dependabot/Renovate
- SBOM generation available:
just sbom-generate
Before submitting code:
- No
unsafeRust code without justification - All inputs validated and sanitized
- No hardcoded credentials or secrets
- SPDX headers present
-
cargo auditpasses -
cargo clippypasses with no warnings
- File System Permissions: Panoptes operates with user permissions; ensure watched directories have appropriate access controls
- Network Exposure: Ollama API (port 11434) is bound to localhost only
- Model Trust: We use Moondream from official Ollama registry; verify model integrity
Security advisories will be published via:
- GitLab Security Advisories
- CHANGELOG.md entries tagged
[SECURITY] - Direct notification to known affected users
This project maintains:
- RSR Gold compliance
- SPDX license headers on all files
- Dependency vulnerability scanning
- Secure container base images (Chainguard Wolfi)