Trust & Compliance
Security at TCDS Insurance
Last updated: August 19, 2026
We handle nonpublic personal information from your borrowers every day — names, addresses, dates of birth, prior-claim history, and loan details. Below is an overview of the controls used by the platform.
Tenant isolation
Core customer tables use
agency_id scoping and Postgres Row-Level Security; coverage is reviewed during releases.Authentication
- Email + password via Supabase Auth, with optional TOTP multi-factor enrollment.
- Microsoft 365 SSO available for enterprise tenants.
- Service-role API keys are scoped to specific feature paths and are rotated through the operational credential process.
- Session cookies are
HttpOnly+SecurewithSameSite=Lax.
Encryption
- All traffic served over TLS 1.2+ end-to-end.
- Application data encrypted at rest by Supabase (Postgres + S3), attachments encrypted at rest in Cloudflare R2.
- Secrets are stored only in Coolify environment variables and a credential vault, never committed to source.
Audit ledger
Selected critical events are written to an append-only
audit_events table with a per-tenant hash chain, with verification handled as part of operations.AI call hygiene & data minimization
Every AI call is gated by a tenant-level spend budget pre-charge and a post-flight reconcile. Direct provider-SDK imports are blocked outside the audited wrapper. PII (SSNs, dates of birth, account numbers, loan numbers) is redacted before any cross-provider boundary.
Backups & recovery
- Postgres point-in-time recovery and logical backups are configured by environment.
- Retention and restore-drill evidence are confirmed during operational review.
Reporting a vulnerability
Email [email protected]. We acknowledge within 24 hours and aim to triage within 5 business days. Please do not perform invasive testing against production — we will provide a sandbox tenant on request.
Current compliance and security assessment materials are available on request from the security contact. See our disclosures page →