Multi-tenant isolation
sureops is a multi-tenant platform. Every data access is governed by row-level security (RLS) enforced at the database layer.How isolation works
Each row in every table carries anorganization_id. PostgreSQL RLS policies enforce that your session can only read and write rows belonging to your organization. This check happens at the database level — not in application code — so it cannot be bypassed by a bug in the API layer.
The RLS model uses three helper functions:
user_org_id()— extracts your org from the session JWTuser_role()— extracts your role from the JWThas_min_role(min_role)— checks whether your role meets a minimum level
Immediate revocation
Role changes take effect on the very next request. There is no JWT-scope expiry delay. If you remove a user or downgrade their role, their access changes before their next click. See Roles & Permissions for details.Data flow
What sureops reads during an incident
When an incident is active, sureops reads:- Alert data ingested from your monitoring integrations
- Metrics, logs, and traces via MCP tool calls during agent execution
- Your runbooks and service catalog from your
.sureops/contract (for diagnosis grounding)
What sureops writes
sureops writes to its own database:- Incident records, stage records, and timeline entries
- AI analysis results, recommendations, and approval decisions
- Audit log entries
- Fix-PR agent: opens a draft pull request in your GitHub repository (requires explicit enablement and a HITL approval gate)
- Incident communications: posts to your Slack channels (requires explicit enablement and a HITL approval gate per message)
Telemetry data lifecycle
Metric, log, and trace data queried during an incident is used to construct agent context. The raw query results are not stored as permanent records. What persists:- The agent’s synthesized analysis (natural language summary with citations)
- The specific tool call inputs and outputs as part of the incident timeline
LLM data handling
Context construction
When sureops calls an LLM — for diagnosis, resolution planning, chat, or post-incident analysis — it constructs a prompt from:- Incident metadata (service name, severity, timestamps)
- Tool call results (metrics, log excerpts, traces)
- Your runbook content (from
.sureops/runbooks/) - Prior stage summaries from the same incident
PII redaction
Before any context is sent to an LLM, sureops applies a PII/secrets redaction layer. This layer detects and redacts:- Personal identifiable information (names, email addresses, IP addresses)
- Secrets and credentials (API keys, tokens, passwords)
- Other common sensitive patterns
PII redaction applies in both managed-LLM mode and BYOK mode. It is not optional and cannot be disabled.
BYOK vs. managed LLM
- Managed: sureops provides the LLM API keys and operates the provider accounts. Data flows from sureops to sureops-operated provider workspaces.
- BYOK (Bring Your Own Key): You provide your own API keys. Data flows from sureops to your provider account directly. Your provider’s data retention and processing terms govern the LLM side.
Self-hosting
Self-hosted deployments give you full data sovereignty. sureops runs entirely within your infrastructure — no data leaves your environment. Self-hosting is available on Enterprise plans. In self-hosted mode:- The backend and database run in your Kubernetes cluster
- LLM calls go to your own provider endpoints (BYOK only in self-hosted)
- No telemetry or incident data is sent to sureops infrastructure
- You control upgrades, backups, and retention policies
Compliance posture
SOC 2
sureops is pursuing SOC 2 Type II certification. The controls described on this page — RLS-enforced isolation, append-only audit logs, immediate revocation, PII redaction — are part of the controls framework. Contact sureops support for the current status and to request our security questionnaire responses.GDPR
sureops supports GDPR compliance for customers in the EU:- Data residency: EU-region deployments are available on request
- Data processing agreement (DPA): available for customers who require one
- Right to erasure: incident data deletion is available on request for specific incidents
Encryption
- Data at rest: encrypted using AES-256
- Data in transit: TLS 1.2 minimum on all connections
- LLM API keys: stored encrypted with a per-org derived key; the raw key is never exposed via the API