Skip to content

Security at Trendnaut

Your customer data and contracts run on infrastructure designed for SOC 2 Type II + DPDP Act 2023 + GDPR. Below is the actual posture, not marketing aspiration.

Encryption

In transit
TLS 1.3 enforced. HSTS preload-eligible (2-year max-age), HTTPS upgrade applied to all subdomains.
At rest (managed)
Supabase Postgres uses AES-256 encryption at rest (default cluster-level encryption).
At rest (application-layer)
Sensitive fields (OAuth refresh tokens, webhook signing keys, MFA secrets) are envelope-encrypted with AES-256-GCM before storage. The encryption key (ENVELOPE_KEY) is customer-managed via environment variable; database dumps are not sufficient to decrypt these fields.
Key rotation
ENVELOPE_KEY is rotated annually as a hygiene baseline + within 24 hours of any suspected disclosure. The runbook (encryption-rotation.md) covers planned + emergency paths.

Tenant isolation

Row-Level Security (RLS)
Every crm_*table has Postgres RLS enabled with explicit policies. Members can only read their own org’s rows. Service-role access is gated behind a wrapper that requires a documented reason per use site.
ESLint enforcement
Four custom ESLint rules block tenant-isolation regressions at edit time:
  • no-admin-client-in-api. Direct service-role imports require a documented reason.
  • require-assert-org-ownership. Every server action must verify resource ownership before mutation.
  • require-anthropic-meter. Direct AI SDK calls must go through the metering wrapper.
  • no-tenant-insert-without-org-id. Every insert into a tenant table includes org_id explicitly.
Tenant-isolation regression test suite
Every server action is exercised against a mocked-but- cross-tenant probe; any successful read or write fails CI.

Authentication

Multi-factor (TOTP)
Per-user TOTP enrollment with 10 single-use backup codes. Org policy can require MFA for admins (Professional + tier) or every user (Enterprise tier). MFA secrets are encrypted at rest.
SSO / SCIM
SAML SSO + SCIM v2 user provisioning available on the Enterprise tier (Azure AD + Okta tested).
Sensitive-action gating
Billing changes, role changes, and API-key rotation are blocked until the user has MFA-verified within the recent session window.

Compliance

DPDP Act 2023 (India)
Per-purpose consent ledger (crm_consent_records). Append-only, RLS-locked, covers 8 purposes (transactional, marketing, AI processing, analytics, third-party sharing, etc.). DSAR endpoints (/api/v1/dsar/export, /api/v1/dsar/delete) are operational.
GDPR (EU)
Same consent + DSAR infrastructure. Data Processor Agreement available on request. Data residency configurable per-org for Enterprise customers.
SOC 2 Type II
Type 1 in progress for Q4 2026. Type 2 follow-on Q2 2027.
RBI guidelines
Audit log retention configured for 24 months on operational tables, 7 years on financial tables (invoices + contracts).

Audit + observability

Append-only audit log
Every mutation by every user produces a crm_audit_logs row with the diff. Log is partition-pruned at the configured retention window.
Sentry alerts
14 source-controlled alert specs (.sentry/alerts.json) cover webhook signature failures, cron staleness, envelope-decrypt failures, AI cost spikes, tenant-leak patterns, payment failures. Drift between this spec and live Sentry config is checked quarterly.
Cron health monitor
/api/cron/cron-healthruns every 30 min and flags any cron whose last successful run is > 2× its schedule interval. Monitored externally.

Backups + recovery

Daily backups + PITR
Supabase Pro backups daily (7-day retention) plus point-in-time recovery to 1-second granularity. Quarterly restore drills documented in database-backup-restore.md.
Audit logs as a recovery side channel
Even rows that have been deleted leave a diff in the audit log; we can reconstruct from audit when PITR isn’t sufficient.

Vulnerability disclosure

security@trendnautlabs.in
We respond to security reports within 24 hours and fix critical issues within 72 hours. PGP key on the SECURITY.md page in our public repo.
Bug bounty
Currently invitation-only; production bug bounty launching with the Wk 11 closed beta cohort.

Need a security review for procurement?

We complete vendor security questionnaires within 5 business days. Email security@trendnautlabs.in with the questionnaire attached.

See how Trendnaut compares to Salesforce / HubSpot / Zoho →