Security
You're trusting us with your data pipelines. Here is how that trust is engineered.
Tenant isolation, enforced twice
Every workspace's data is isolated at the application layer AND by PostgreSQL row-level security — a missed filter in application code still cannot cross workspaces.
Credentials done right
Passwords are hashed with scrypt. API keys are stored as SHA-256 hashes and shown exactly once. Sessions are server-side and revocable instantly.
Least-privilege database access
The application connects as a restricted role subject to row-level security — never as the database owner.
Auditability
Every meaningful action — logins, role changes, job starts, key creation — lands in a per-workspace activity log.
Payment data never touches us
Billing runs on Stripe Checkout and the Stripe customer portal; card details never reach our servers. Webhooks are signature-verified with replay protection.
Transport & headers
TLS everywhere, HSTS, frame-ancestors none, strict referrer policy, and per-request trace IDs on every response.
Found a vulnerability? Email security@quad99medic.example — we respond within one business day.