Data Portability JSON Exports

GDPR Article 20 dictates users can request their data in a structured, commonly used format. A screenshot doesn't count.

Asynchronous Generation

A deeply nested user profile might require querying 15 tables. Running this synchronously blocks API threads. Use a worker queue (e.g., Celery, Sidekiq).

FormatSuitabilityMachine Readable?
JSONExcellent for nested relational data.Yes
CSVGood for flat ledger data.Yes
PDFTerrible. Fails Article 20 requirements.No

Tool: Export Payload Size Estimator

Common Mistakes

Emailing the JSON file directly. Email is insecure in transit. Generate a secure, expiring, single-use S3 pre-signed URL and email the link instead.

Explore Architecture Requirements