Skip to content

Privacy-related commands #84

@schlessera

Description

@schlessera

WordPress is facing big issues with the rapidly approaching General Data Protection Regulation that will take effect starting from May 25th 2018.

There's a lot we could do using WP-CLI commands to give website owners the tools to comply with some of the regulations.

Some preliminary thoughts:

  • WordPress Core will probably need some additional actions to allow for plugins to hook into those so that specific privacy-related tasks can be completed in a concerted manner across the entire WordPress site/application.
  • WP-CLI could start experimenting with such hooks, as it is fast and simple to iterate over functionality within the CLI. Any new tools don't need costly & time-consuming UI/UX to be usable.
  • Data Controller tool: wp user erase could make sure that a user is deleted together with all of the privacy-related data that is attributed to this user. It could trigger a wp_erase_user hook to let plugins add their own data subsets to be erased.
  • Data Controller tool: wp user anonymize could render all data that belongs to a user into an anonymized form, like stripping part of the IP, replacing emails with a placeholder, etc... It could trigger a wp_anonymize_user hook to let plugins add their own data subsets to anonymize.
  • Data Controller tool: wp user list-privacy-data could generate a list (in several different formats, like CSV or JSON) of all the privacy-related information on a given user. It could trigger the wp_user_privacy_data filter so that plugins can add whatever personally identifiable information they have on a user.
  • Transition tool: wp <entity> anonymize could be used for specific entities like a comment or a post type, to remove all personally identifiable information from that entity. It could trigger a wp_anonymize_$entity hook to let plugins add their own data subsets to anonymize.
  • Transition tool: wb db search --type=ip|email could be used to search the database for specific personal information.

(The above is only a collection of my very first thoughts, lots to discuss here)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions