WordPress / WordPress/plugin-check

Privacy: Add check for wp_privacy_personal_data_exporters filter (GDPR personal data export)

Open
#1,251 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
362
Forks
126
Avg merge
1d 23h
Merged PRs (30d)
22

Description

Summary

Plugin Check should detect when a plugin collects personal data but does not register an exporter callback via the wp_privacy_personal_data_exporters filter.

Background

Since WordPress 4.9.6, WordPress ships a Personal Data Export tool to help sites comply with privacy regulations such as the GDPR. Plugins that store personal data are expected to hook into this tool so that admins can generate a complete data export (ZIP file) for any user on request. Registration is done via:

add_filter( 'wp_privacy_personal_data_exporters', 'my_plugin_register_exporters' );

The exporter callback receives a user's email address and a pagination page number, collects the relevant personal data, and returns it as a structured array of grouped items. Exports are cached on the server for 3 days and then automatically deleted.

Reference: https://developer.wordpress.org/plugins/privacy/adding-the-personal-data-exporter-to-your-plugin/

Proposed Check

Add a detection rule that warns plugin authors when their plugin appears to handle personal data (e.g. uses add_comment_meta, update_user_meta, custom DB writes, etc.) but does not register a handler for the wp_privacy_personal_data_exporters filter.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files, tests, or entry points are named. Start by reading the WordPress personal data exporter reference and the Plugin Check detection architecture; done means a rule reliably identifies plugins handling personal data without registering the wp_privacy_personal_data_exporters filter and warns plugin authors.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.