← MODUS

Security

Security Overview

Modus is a multi-tenant food manufacturing platform. This page summarizes our security posture for customers evaluating MODUS for production formula and batch data.

Tenant isolation

Every tenant-scoped database query filters by tenant_id from the authenticated session. PostgreSQL row-level security (RLS) is enabled on core tenant tables. Client-supplied tenant IDs are never trusted on mutations.

Authentication

Custom JWT authentication (RS256) with httpOnly cookies. Passwords hashed with Argon2. Role-based access control enforced on every tRPC mutation and sensitive route.

21 CFR Part 11

Formula approvals use password re-entry and reason capture on approve/reject actions — aligned with electronic record and signature expectations under 21 CFR Part 11. Audit trail entries are immutable with actor, timestamp, and before/after values. This is not a third-party Part 11 validation; customers should assess fit for their regulatory program.

Audit trail

Domain mutations record an immutable audit trail with actor, timestamp, and before/after values. Formula approvals support 21 CFR Part 11-style digital sign-off with password re-entry.

Data export

Organizations can export their data (JSON/CSV) at any time. You own your formulas and item master data.

Encryption

Data in transit uses TLS. Integration tokens and secrets are encrypted at the application layer where stored.

Subprocessors

  • Neon — PostgreSQL database hosting
  • Vercel — application hosting
  • Upstash — Redis (rate limits, cache, token blacklist)
  • Stripe — billing (when enabled)
  • Resend — transactional email (when configured)
  • Sentry — error monitoring (when configured)

SOC 2

Modus is pursuing SOC 2 readiness. We are not SOC 2 certified today. Contact us for our current control checklist.

Questions: security@runmodus.io