Last updated: April 7, 2026
All traffic uses TLS 1.2+ with Cloudflare Full (strict) SSL. HTTP/3 is enabled. Minimum TLS version is 1.2.
Every table in our Postgres database enforces row-level security policies so tenants can never read or write across organization boundaries, even through a bug in the application layer.
Every incident timeline event is chained with SHA-256 over the previous event's hash. A database trigger prevents any column other than the hash fields from being updated. Edits and deletions are mathematically detectable.
API keys and third-party secrets live in Cloudflare Worker secrets and Supabase environment variables. No secret is committed to source control.
Customer Data is encrypted at rest via Supabase (AES-256) and backed up with point-in-time recovery.
Cloudflare Web Application Firewall and global DDoS protection sit in front of both the landing site and the application.
Every event recorded in an incident (declaration, task, status change, AI suggestion, notification) gets two fields:
prev_hash — the hash of the immediately preceding event in the incident, or "GENESIS" for the first event.hash — SHA-256(prev_hash || event_id || event_type || actor_id || payload || created_at).If any event is modified after the fact, its hash will no longer match, and every subsequent event's prev_hash will also be wrong. The chain breaks visibly. A verification endpoint (/api/events/verify) re-computes and validates the chain on demand so auditors, insurers, and outside counsel can confirm integrity independently.
A Postgres trigger on the incident_events table enforces that only the hash and prev_hash columns can be updated after insert. Attempting to modify any other column (timestamp, payload, actor, type) is rejected at the database level.
For a complete list of the third-party services we rely on to operate IR-OS, see section 4 of our Privacy Policy.
If we detect or are notified of a security incident affecting IR-OS or our customers, we:
If you believe you have found a security vulnerability in IR-OS, please report it responsibly. We will acknowledge your report within 2 business days.
Email: [email protected] with the subject line [SECURITY]
We ask that you:
We don't yet have a formal bug bounty, but we publicly acknowledge researchers who report valid issues.
Questions about our security posture? Email [email protected].