Security & compliance

Data isolation, encryption, and an audit trail that doesn't have gaps.

The same discipline that goes into verifying a model's output goes into how we handle the data behind it. What follows is what's actually implemented today, not a roadmap.

Org-scoped data isolation

Every query — runs, datasets, costs, alerts — is scoped to the requesting org, derived from the verified Clerk JWT on every request. In production this is enforced twice: at the application layer, and again by Postgres Row-Level Security policies on every tenant-scoped table, so a bug in application code alone isn't enough to cross a tenant boundary.

Encrypted credentials at rest

Third-party adapter credentials (ad platforms, data warehouses) are encrypted at rest with Fernet symmetric encryption before they touch the database. The encryption key is held as a deployment secret in the hosting platform, never checked into the codebase.

Append-only audit trail

Every mutating request is recorded — actor, org, method, path, status, action, and target — to an append-only audit table. Middleware-level, so it can't be bypassed by adding a new route and forgetting to log it.

SIEM export

Audit events can stream to your existing security stack — Datadog, Splunk, or a generic webhook — so this platform's activity shows up next to everything else your SOC already monitors. The export is built in and stays off until a destination is configured, so ask for it during setup if you need it.

A signed compliance record for every run

Beyond infrastructure security, every decision-pack run exports a model card — inputs, specs, verification results, cost, and stated limitations — signed with an Ed25519 key whose public half is published, so anyone can verify a card offline. See how that works on the Platform page.

What we don't claim yet

We're not SOC 2 certified yet — that's a deliberate near-term priority, not an oversight. If that's a blocker for your evaluation, tell us — it changes our sequencing.

Security questionnaire on your desk?

Send it over — we'll answer directly rather than pointing you at a generic trust-center page.

Talk to us