Security & Data Practices
Last reviewed: September 1, 2026
DetentionDesk is designed to keep each account's claim records separate and to limit sensitive payment and administrative data to the systems that need it. This page describes current practices without claiming a certification or guaranteeing that a security incident can never happen.
Authenticated sessions and owner-scoped database policies.
Generated PDFs and uploaded evidence use private, account-scoped storage paths.
Stripe receives full card details instead of DetentionDesk.
Production and preview traffic is delivered over HTTPS.
Account authentication
DetentionDesk uses Supabase Auth for account authentication and server-managed sessions. Claim and dashboard routes require an authenticated session. Users should use a unique, strong password, protect access to their email account and devices, and sign out on shared computers.
Owner-scoped authorization
Account authentication answers who is signed in; authorization controls which records that account may access. DetentionDesk's Supabase tables use Row Level Security policies tied to the signed-in user identifier. Claims, carrier profiles, checklist entries, uploaded evidence metadata, timers, follow-ups, receivables fields, and packet credits are queried through those owner-scoped rules.
Generated claim packets and uploaded evidence
Generated PDF packets are stored in a private Supabase Storage bucket under a path containing the owner and claim identifiers. The download route checks both the signed-in user and the expected owner path before retrieving a packet. Uploaded evidence uses a separate private bucket and owner-and-claim storage path. View, download, rename, and removal actions require an authenticated owner-scoped claim. Temporary access is provided through the application rather than a public file URL.
File type, size, and file signatures are checked before supported PDFs and images are stored. These controls do not inspect the document's meaning, verify its authenticity, or determine legal sufficiency.
Payments and billing events
For paid access, DetentionDesk redirects customers to Stripe-hosted Checkout. Full card numbers and card security codes are entered into Stripe, not DetentionDesk. DetentionDesk stores only the identifiers and status information needed to recognize a customer, purchase, packet credit, or subscription. Stripe webhook signatures are verified before billing events update an account.
Secrets and administrative access
Administrative database and payment credentials are kept in server-side deployment variables and are not intentionally shipped in public browser code. Administrative access is limited to the operator and service providers that need access to operate, secure, troubleshoot, or support the service.
Network and browser protections
DetentionDesk is delivered through Vercel over HTTPS. The application uses browser response headers to prevent MIME-type sniffing, block framing by other sites, limit referrer information, and disable browser permissions that the service does not need, including camera, microphone, and geolocation access.
Encryption boundaries
Data sent between a supported browser and DetentionDesk is encrypted in transit using HTTPS/TLS. Supabase, Vercel, and Stripe provide the infrastructure-level storage and encryption controls described in their own security documentation. DetentionDesk does not currently add separate field-level encryption to ordinary claim values. Do not enter passwords, full card numbers, or unnecessary sensitive personal information into claim fields or notes.
Logging, vendors, and incident response
Hosting, authentication, database, and payment providers may create operational, authentication, delivery, and fraud-prevention logs. We use those records to troubleshoot problems, investigate suspected misuse, and respond to security events. If we determine that an incident requires notice, we will provide notice consistent with applicable law and the information reasonably available to us.
Availability and customer copies
No online service is immune from interruption, loss, or attack. Users should keep copies of important source records and finalized claim packets outside DetentionDesk. The service is not a substitute for a carrier's record-retention, backup, legal-hold, or business-continuity program.
Report a suspected security issue
Email hello@detentiondesk.com with "Security report" in the subject line. Include the affected URL, date and time observed, steps to reproduce, and relevant screenshots. Do not include passwords, full card numbers, or unnecessary personal information.
For privacy requests, read the Privacy Policy.