Security & compliance
Data protection, access control, and observability designed so your security review passes on the first round — and stays that way as your platform grows.
TLS 1.3 in transit. AES-256 at rest. Per-project encryption keys for secrets, integration tokens, and sensitive attachments.
Strict project-level separation enforced at the database layer, not application logic. Cross-tenant access is unreachable by construction, verified by continuous tests.
OAuth SSO (Google, Microsoft) on every plan. SAML SSO, SCIM provisioning, and role-based access control on Business and Enterprise. MFA through your IdP.
Every destructive action runs through an approval workflow. must_always / must_never rules enforced at runtime. Every approval captures reasoning and evidence.
Every tool call, approval, notification, and state change is logged. Session transcripts exportable as Markdown or PDF. SIEM-ready audit-log export on Business and above.
Field-level redaction applied before payloads touch disk. Per-webhook retention bounds (7–365 days). Metadata-only mode for high-sensitivity sources. One-click payload purge for DSR / GDPR requests.
Credentials never appear in model context, UI, or logs. The agent references secrets by friendly name; the raw value is read at runtime and discarded. Every access is audited.
US and EU hosting regions on Enterprise. Private-cloud or on-prem deployment available for regulated workloads and air-gapped environments.
SOC 2 Type II audit in progress. GDPR-ready controls shipped. HIPAA BAA available under Enterprise. Latest pentest report and trust docs available under NDA.
Webhook ingress
Every webhook is signed, verified, and rate-limited before touching your project. Tampered requests are rejected with a clear reason you can debug in the Signature Playground.
HMAC-SHA256
Native per provider — GitHub, Grafana, Datadog, Sentry, generic HMAC. No timing-leak via hmac.compare_digest.
Replay protection
Stripe-style signatures enforce a configurable timestamp window. Late replays rejected at ingress before the payload is parsed.
Token rotation
Rotate any webhook secret with a configurable grace window — the old token keeps working while you update every consumer.
Idempotency
Duplicate deliveries with the same idempotency key return the same result — no double-dispatch, no double-billing.
Rate limiting
Precise sliding-window counters per webhook. 429 responses carry Retry-After; chatty providers never crowd out critical ones.
Retention
Per-webhook retention (7 to 365 days) enforced by a daily job. Expired events purged completely — payload, headers, all.
Shared responsibility
must_always, must_never)Request our latest SOC 2 status, pentest summary, DPA, subprocessors list, or a vendor questionnaire response. We reply within one business day.