Iris is in active development. Security patches land on main; published releases follow SemVer. At any time we support:
| Version | Supported |
|---|---|
main (latest) |
✅ |
Most recent minor (vX.Y.*) |
✅ |
| Older minors | ❌ — please upgrade |
Please do not open a public GitHub issue for security reports.
Use GitHub Security Advisories — the "Report a vulnerability" button on the repo's Security tab. If your deployment configures SECURITY_CONTACT_EMAIL, you may also email that address.
Include:
- A description of the vulnerability and the impact you observed
- Steps to reproduce (PoC if possible) and affected versions
- Any suggested mitigation
You'll get an acknowledgement within 72 hours (business days). We'll then:
- Confirm the report and assess severity (CVSS).
- Develop a fix on a private branch.
- Coordinate disclosure timing with you. Default is 90 days from confirmation, sooner if a public PoC exists.
- Release the fix and credit the reporter (unless you prefer to remain anonymous).
For non-security bugs, use the standard bug template.
In scope:
- The Python CLI (
iris/) — including the prepare-commit-msg hook - The Next.js platform (
platform/) — including authentication, ingestion, and database queries - Build and deployment scripts (
platform/VERCEL.md,.github/workflows/)
Out of scope (please don't report):
- Issues that require physical access or compromise of the developer's machine
- Issues only affecting outdated, unsupported versions
- Findings from automated scanners without demonstrated impact
- Social engineering, phishing, or denial-of-service via traffic flooding
We track outstanding security advisories with Dependabot. Open security PRs and advisory acknowledgements live in the repository's Security tab.
Iris ships with secure defaults:
Strict-Transport-Security,X-Frame-Options: DENY, and a tightContent-Security-Policyare enforced viaplatform/next.config.ts- Supabase access uses the service-role key only on the server (never exposed to the client)
- NextAuth uses the JWT strategy with a project-specific
NEXTAUTH_SECRET - The ingestion API (
/api/ingest) authenticates viairis_*API tokens, not session cookies - CLI telemetry is opt-in — disabled unless
OTEL_EXPORTER_OTLP_ENDPOINTis set; see docs/TELEMETRY.md