WordPress.org

Make WordPress Core

Opened 2 months ago

Closed 4 weeks ago

Last modified 7 days ago

#43551 closed enhancement (fixed)

Add a means to package personal data into a file

Reported by: allendav Owned by: allendav
Milestone: 4.9.6 Priority: normal
Severity: normal Version: trunk
Component: Privacy Keywords: gdpr needs-patch
Focuses: Cc:

Description

Builds on the work done by #43438 to assemble the data.

Per ticket scrub discussion in Making WordPress gdpr-compliance chat today we are leaning toward mimicking the approach Facebook uses for exporting all a user's data (but just for personal data) i.e. a ZIP file with a "mini-website" inside comprised of HTML and other files (e.g. images) and including a single index HTML as well as a JSON blob (to address not just Article 15 but Article 20 as well.)

Note: for very large attachments, we might also adopt the approach Facebook takes and provide a time-limited link in the export HTML from which the user can separately download those files - this might warrant a separate issue however.

Related: adding this to the UI #43546

Attachments (3)

43551.diff (6.4 KB) - added by allendav 2 months ago.
Work in progress
43551.2.diff (9.1 KB) - added by allendav 8 weeks ago.
Updated to handle 1-base; updated to handle nested/structured personal data; improved HTML report format
43551.2.png (354.9 KB) - added by allendav 8 weeks ago.
Example report with the user's comments

Download all attachments as: .zip

Change History (15)

#1 @allendav
2 months ago

  • Keywords gdpr needs-patch added

@allendav
2 months ago

Work in progress

#2 @allendav
2 months ago

Work in progress. Also requires patches #43438 #43440 and #43546

#3 @xkon
2 months ago

After a bit of discussion some ideas came up so I'm putting these down here maybe for further discussion as well.

Since .zip(s) are going to be formed we have to establish some default limits.

  • A limit per file (if the file exceeds the size a link will take it's place into the export) we can probably calculate something from the max .zip file limit instead of having a default size for files as well.
  • A limit of 500MB (as default maybe) per .zip
  • The .zip limit should have a way to get altered as some servers might be able to handle bigger sizes or smaller even.
  • To consider: an extra option to avoid checking for a file size completely just in case somebody actually wants to allow everything to pass in .zip(s).

[ Hopefully I didn't forget anything :D ]

@allendav
8 weeks ago

Updated to handle 1-base; updated to handle nested/structured personal data; improved HTML report format

@allendav
8 weeks ago

Example report with the user's comments

#4 @allendav
8 weeks ago

See screenshot above

How to test:

  • Update to the latest trunk
  • Apply this patch (43551.2.diff)
  • Follow the instructions at https://github.com/allendav/wp-privacy-requests to install the temporary UX plugin until a patch becomes available for #43546
  • Initiate a personal data export request if you don't have one already under wp-admin > Tools > Personal Data Requests
  • Be sure to use an email address that has a few comments on the site
  • No need to confirm the request - immediately click on Download under the email address
  • When download is complete, a ZIP will be returned to you. Open it and behold the HTML report therein with your comments.

Design notes:

  • This leverages the concept of grouped items that was introduced in #43440 specifically #43440.5

Work in progress. Ruggedization and better error handling are needed as well as attachment support.

cc @azaozz @mikejolley @xkon @dejliglama @jesperher

This ticket was mentioned in Slack in #gdpr-compliance by allendav. View the logs.


6 weeks ago

#6 @Clorith
6 weeks ago

  • Owner set to allendav
  • Status changed from new to assigned

#7 @desrosj
5 weeks ago

  • Milestone changed from Awaiting Review to 4.9.6

Moving to the 4.9.6 milestone after consensus was reached in the most recent GDPR chat (https://wordpress.slack.com/archives/C9695RJBW/p1524063200000304).

#8 @allendav
4 weeks ago

NOTE: The ZIP generation is now already in the patch on #43546 - we might want to close or repurpose this issue.

This ticket was mentioned in Slack in #core by jeffpaul. View the logs.


4 weeks ago

This ticket was mentioned in Slack in #gdpr-compliance by allendav. View the logs.


4 weeks ago

#11 @desrosj
4 weeks ago

  • Resolution set to fixed
  • Status changed from assigned to closed

Closing this out. Refer to #43546 for work.

#12 @desrosj
7 days ago

  • Component changed from General to Privacy

Moving to the new Privacy component.

Note: See TracTickets for help on using tickets.