Effective date: July 20, 2024

PicksHub Data Retention and Backfill Policy

This page summarizes how long we retain core data sets, why we keep them, and how deletions are enforced. For the canonical document see docs/legal/data_retention_policy.md.

Data categorySystems / TablesRetention targetPurpose
Authentication logsauth.audit_log_entries, Supabase Auth logs3 yearsSecurity investigation, compliance
Pool audit eventsaudit_events, pool_audit_events3 yearsContest adjudication, dispute resolution
Notification metadatasurvivor_notification_events, survivor_notification_messages, Resend suppressions18 monthsDeliverability tracking, compliance
Email content archivesResend message bodies12 monthsSupport troubleshooting
Analytics aggregatesanalytics_daily_pool, analytics_daily_user24 monthsProduct planning, NFR tracking
Payment metadatapool_payments, Stripe charges/checkout sessions7 yearsAccounting, tax compliance
Support & abuse ticketsHelpdesk platform, support_cases4 yearsRegulatory response, trend analysis
BackupsSupabase PITR snapshots, S3 WAL archives30 daysDisaster recovery

Backfill Expectations

  • All new tables must include timestamp columns to drive retention filters.
  • Historic migrations must preserve original timestamps when backfilling records.
  • Backfill scripts must be documented in docs/checklists/evidence/phase_11/legal/logs/ and reviewed by the Compliance Lead.

Enforcement Controls

  • Supabase scheduled function enforce_data_retention() enforces retention windows for audit and notification tables.
  • Support reviews retention dashboards monthly and logs results in the compliance tracker.
  • Access to backups is restricted to break-glass SRE personnel per security runbooks.

Legal Hold

On receipt of a legal hold, the Compliance Lead pauses applicable cron jobs, records the hold, and coordinates with counsel before resuming deletions.

Contact

Compliance Lead: compliance@pickshub.com · Privacy: privacy@pickshub.com · Security: security@pickshub.com.