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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions