Security
A safety envelope you can audit in the source.
Air-gap, sovereign, workload-identity, policy-bounded fixers, signed approval URLs. Every guardrail is in code you can read before you install.
The nine safety guarantees.
Air-gap by master switch
Set cloud.enabled=false and Srenix runs entirely in your cluster with zero external dependency. The K8s-native value (probes, fixers, ticketing) is unchanged. Verifiable in helm template output.
Sovereign-deployable
No vendor SaaS. No telemetry exfiltration. Srenix runs the same way in EU sovereign clouds, FedRAMP-trackable workloads, and on-prem regulated environments as it does on public EKS / GKE / AKS.
Cloud probes are read-only by design
Every M1 / M2 cloud probe uses workload-identity-scoped read-only IAM. Cloud-resource mutation is deliberately deferred to M4 with a separate signed-approval envelope. Read the IAM policies in the Helm chart.
Whitelisted fixer set
The Community fixer set is exactly five named actions: StaleErrorPods, StuckJobsWithBadSecretRef, StuckRSPods, StuckCertificateRequests, TLSSecretMismatch. Each fixer is opt-in via Helm flag. Protected namespaces are allowlisted out by default.
Signed-JWT click-to-fix URLs (paid tiers)
AI-tier fix proposals require human approval via signed-JWT URLs delivered to Slack or ticket. The approval-server enforces signature, expiry, one-time-use, and a per-(approver, action-class) rate budget (default 10 executions/hour per pair). Without the click, nothing mutates — unless you explicitly enable an autonomy tier: either PR auto-merge (off by default; Wilson lower bound ≥0.95; the PR body is re-fetched and its Ed25519 attestation re-verified before merge) or in-cluster confidence-gated auto-apply (off by default; reversible-action allowlist; confidence ≥0.95). Both require every safety gate to pass.
Dry-run mode
Run --dry-run to log every fix Srenix would have applied without applying it. The fix log is identical to production mode minus the mutation. Use this in your eval cycle before flipping fixers on.
Auditable by default
Source-available code you can read before you install. Helm-rendered RBAC visible before install. DriftReport CRs are first-class audit objects. AI AuditEvents are hash-chained (prev_hash) in Community pkg/audit; the Loki / OTLP / JSONL streaming sinks for compliance pipelines are paid.
Workload-identity auth
IRSA on EKS, Workload Identity on GKE, AAD Workload Identity on AKS. No long-lived cloud credentials in Srenix. Same IAM your cluster already uses — same audit trail.
Firecrawl external egress — key-gated, redacted query only (paid deep-RCA)
The Firecrawl web-research step is active only when a Firecrawl API key is configured (K8s Secret `srenix-firecrawl-key`); it can be disabled explicitly with `--firecrawl-enabled=false`. When active, Srenix sends exactly one outbound HTTPS request per investigation to the Firecrawl API. The payload is a generic technical query synthesized by the LLM — no cluster namespace, hostname, IP address, pod name, or secret value is included. Without a key, the deep-RCA investigator falls back to cluster-only root-cause analysis (Describe + events + LLM synthesis) — no external call is made. The Firecrawl API key is sourced from a K8s Secret (never a flag literal). This is the only intentional external-egress exception in the paid tier.
Compliance & supply chain.
PolyForm Noncommercial 1.0.0 — source-available
Audit every line of the safety envelope before installing. Free for non-commercial use; commercial use requires a paid licence.
SBOM (paid)
SBOM (CycloneDX) pipeline ships in the v0.1.0-alpha.1 line (pre-alpha). First published SBOM artifacts pending CI billing restoration.
Signed artifacts
Community binary checksums are cosign-signed and Rekor-logged (checksums.txt.sigstore.json) on every release in the v0.1.0-alpha.1 line (pre-alpha). Container-image signing and Srenix Enterprise artifact signing pipelines are wired but their first signed artifacts are pending CI billing restoration.
No telemetry by default
Community tier ships with zero outbound telemetry. Opt in to phone-home, never the reverse.
Firecrawl egress disclosure (paid deep-RCA)
The Firecrawl web-research step is active only when a Firecrawl API key is configured (K8s Secret `srenix-firecrawl-key`); it can be disabled explicitly with `--firecrawl-enabled=false`. When active, one HTTPS call per investigation goes to the Firecrawl API. Only a generic LLM-synthesized technical question is sent — no namespace, hostname, IP, pod name, or secret. Without a key, the deep-RCA investigator performs cluster-only root-cause analysis — no external call is made. API key sourced from a K8s Secret only.
Licensing & intellectual property.
Srenix is source-available, not open source. The Community edition is published under PolyForm Noncommercial 1.0.0: read it, audit it, run it free for any non-commercial purpose. Commercial use requires a paid licence. We kept the source readable precisely because a tool that mutates your cluster should never be a black box.
SRENIX is patent pending. Patent applications covering the Srenix detect–fix–verify architecture, its policy-bounded fixers and its tiered AI SRE pipeline have been filed. Being able to read the source is not permission to reimplement the covered architecture in a competing product.
Found something? Tell us.
Security issues should go to [email protected]. We acknowledge within one business day.