Skip to content

Subject Access Request (SAR): export all personal data for a user #582

Description

@Joe-Heffer-Shef

Summary

Under UK GDPR Article 15 (Right of Access), users can request a copy of all personal data held about them. The system must be able to produce a complete export for a given user and deliver it in a commonly used machine-readable format within one month.

Scope of personal data to export

  • Name, email address
  • Organisation membership(s) and role(s)
  • Project memberships
  • Survey responses (including timestamps)
  • Invitations sent/received
  • Login activity timestamps (if stored)

Acceptance criteria

  • A staff console action (or Django management command) accepts a user identifier and produces a complete export of all personal data associated with that user
  • Output format is JSON or CSV (JSON preferred as it captures nested structure cleanly)
  • Export includes all related records across all apps (home, survey)
  • The export can be triggered by staff within the one-month response window
  • A self-service route (or at minimum a documented email request process) is available for users to initiate an SAR

Notes

  • Related to GDPR data requests - export and delete #173 (GDPR data requests) but this issue focuses specifically on the export side with a concrete technical deliverable
  • Consider whether a Django management command (python manage.py export_user_data <email>) is simpler than an admin UI for v1
  • Output must not include other users' personal data even where records are shared (e.g. strip other members from an organisation export)

References

Metadata

Metadata

Labels

data-protectionEthics, privacy, data sharing, and data managementenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions