Security

Controls implemented

  • Argon2id password hashing; secrets only ever stored as hashes.
  • HttpOnly session cookies (SameSite=Lax, Secure in production) plus double-submit CSRF tokens.
  • SHA-256 API key storage; plaintext shown once at creation.
  • Backend-enforced RBAC (USER / SUPPORT / ADMIN) and per-resource ownership checks.
  • Zod validation on every request boundary; Prisma parameterized queries.
  • Rate limiting on auth endpoints and job submission.
  • Helmet security headers; CORS restricted to the configured app origin.
  • Webhook signatures verified before processing; events deduplicated.
  • Audit log for security-relevant actions and all admin mutations.

Reporting

Report vulnerabilities to the address in your deployment's security.txt / support channel. Do not open public issues for unpatched vulnerabilities.