Last updated: March 25, 2026
CaseProof enforces access controls at multiple layers to ensure users can only access data they own, and that CaseProof staff cannot access customer matter data without explicit permission.
Every database query is scoped to the authenticated user via PostgreSQL Row-Level Security (RLS). A user cannot query, read, or write another user's matters, files, or case data — even if they share the same database instance. RLS policies are enforced at the database level, not just the application layer.
Team roles are enforced at both the API and database layers.
CaseProof staff do not have access to customer matter data by default. Production database access is restricted to a limited set of authorized engineers. Any access is logged, auditable, and requires explicit customer permission for technical support purposes.
Critical actions — including file uploads, deletions, chronology generation, and exports — are logged with the authenticated user ID, timestamp, and IP address. Audit logs are stored in Supabase and are not accessible to end users directly. They are available to CaseProof staff for security investigations and upon legal request.