WordPress.org

Make WordPress Core

Opened 10 months ago

Closed 9 months ago

Last modified 8 months 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 10 months ago.
Work in progress
43551.2.diff (9.1 KB) - added by allendav 10 months 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 10 months ago.
Example report with the user's comments

Download all attachments as: .zip

Change History (15)

#1 @allendav
10 months ago

  • Keywords gdpr needs-patch added

@allendav
10 months ago

Work in progress

#2 @allendav
10 months ago

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

#3 @xkon
10 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
10 months ago

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

@allendav
10 months ago

Example report with the user's comments

#4 @allendav
10 months 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.


9 months ago

#6 @Clorith
9 months ago

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

#7 @desrosj
9 months 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
9 months 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.


9 months ago

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


9 months ago

#11 @desrosj
9 months ago

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

Closing this out. Refer to #43546 for work.

#12 @desrosj
8 months ago

  • Component changed from General to Privacy

Moving to the new Privacy component.

Note: See TracTickets for help on using tickets.