LuxDispatch
Data Handling
Effective April 22, 2026
Overview
This page is the operator-facing companion to the Privacy Policy. It states, in concrete terms, what data we store, how long we keep it, and how to remove it.
Storage location
- Primary database
- Supabase Postgres, AWS us-east-1 (Northern Virginia).
- Object storage
- Supabase Storage, same region. Holds invoice PDFs. Data exports are NOT stored here — they are generated on demand and streamed directly to the requester (see “Exporting your data”).
- Application hosting
- Vercel edge network. Request bodies are processed in transit and not retained at the edge.
- Email deliverability
- Resend (US). Stores send logs and bounce metadata for 30 days.
- SMS deliverability
- Twilio (US). Stores message status for 13 months per Twilio policy; operators can shorten via a data-deletion request to Twilio.
- AI inference
- Anthropic API. No data retention beyond the duration of the inference request under our subscription plan.
Retention windows
- Active rows
- Life of the account.
- Soft-deleted rows
- 30 days. Recoverable by contacting support during the window.
- Hard-deleted rows
- Not recoverable. Removed from the primary database and will roll off backups within seven days.
- Point-in-time backup
- 7 days for the primary database.
- Authentication logs
- 90 days.
- Audit-trail rows
- 2 years (730 days). A weekly retention sweep hard-deletes older rows.
- Export archives
- Not retained. Exports are generated on demand and streamed directly to the requester as a download; the archive is never written to storage.
Exporting your data
Owner and super-admin roles can request a ZIP archive from the admin surface. The archive contains the following comma-separated files, each scoped to the requesting organization:
- bookings.csv
- clients.csv
- client_preferences.csv
- drivers.csv
- invoices.csv
- invoice_line_items.csv
- affiliates.csv
- ride_extras.csv
- trip_batches.csv
- booking_groups.csv
- audit_trail.csv
- follow_ups.csv
- org_metadata.json
Exports are generated synchronously and streamed directly to your browser as a download — we do not email a link and do not store the archive. Only audit metadata (who requested the export, when, and its scope) is recorded.
Exports are rate-limited to one per hour per organization.
Deleting your data
Only the owner role can initiate deletion. The request must be confirmed by typing the organization code into the confirmation prompt. We do not accept deletion requests by email because we cannot verify the requester without the authenticated session.
Soft deletion takes effect immediately. The organization and all child records become inaccessible to anyone who authenticates into the tenant. The super-admin team is notified by email.
Hard deletion runs on the nightly cron at 03:00 UTC and removes any organization whose deleted_at timestamp is older than 30 days. After hard deletion, the only traces of the organization are a row in data_deletion_audit and the entries in our backup rotation, which roll off within seven days.
Subprocessor changes
We give 30 days notice before adding or removing a subprocessor that handles operator or passenger data. Notice is delivered by email to the operator primary contact. A dated change log of subprocessor additions lives in the product repository.
Data Processing Agreement
Operators who need a signed DPA can request one at hello@luxdispatch.app. We countersign the standard contractual clauses appropriate to the operator jurisdiction.
Webhook payload retention
When our carriers (Twilio for SMS, Resend for email) call our webhooks with delivery-status and inbound-message events, we store the raw callback payload for diagnostics and abuse investigation. These webhook records, including the stored payload, are automatically deleted 90 days after they are received.
Contact
Data handling inquiries and urgent incidents: hello@luxdispatch.app.