Personal data in WordPress

According to the European privacy regulation (GDPR), personal data is any information relating to an identified or identifiable natural person.

An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier, or one or more factors specific to the physical, physiological, genetic, mental, economic, cultural, or social identity of that natural person.

Personal data is also called Personal Identifiable Information or PII. It comes in more ways than most people intuitively think, because you can derive a natural person via many paths. So when it comes to anonymization, you need to include all data that may be considered PII.

WordPress stores personal data by default. Many plugins add PII to the database as well, using different formats.

Default personal data in WordPress:

  • Username
    john.doe
  • Person name
    John Doe
  • Nickname
    Sporty John
  • Email address
    john.doe@internetmanagers.nl
  • Personal website
    https://johndoe.internetmanagers.nl
  • IP address of comment posters
    45.82.191.174
  • User Agent of comment posters, which is an identification of the browser of the user.
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36

Plugins add all types of personal data to this. Sometimes a plugin stores this by default, sometimes it is up to the website owner what will be processed and stored.

Form plugins

Plugins to create and publish forms on a web site are very common. These plugins usually handle form submissions by forwarding the form entry to an email address. Next to that, the submissions are usually stored in the WordPress database. Form entries are likely to contain personal data.

The following table lists the most common form plugins.

Form pluginHow data is storedTables used
Fluent FormsStores form submissions in a dedicated table and a metadata tablefluentform_submissions,
fluentform_
entry_details
Gravity FormsStores form submissions in a dedicated table and a metadata tablegf_entry, gf_entry_meta
ForminatorStores form submissions in a dedicated table and a metadata tablewp_frmt_form_entry, wp_frmt_form_entry_meta
CF7 with FlamingoStores submissions as posts combined with serialized arraysposts, post_meta
Ninja FormsStores submissions as postsposts, post_meta
FormidableStores form submissions in a dedicated table and a metadata table combined with serialized arrayswp_frm_items, wp_frm_item_metas
Form plugins and data

Other plugins

Other plugins also store personal data. Two common ones are WooCommerce and ProfilePress.

PluginHow data is storedTables used
WooCommerceStores customer data in the standard WordPress tables users and usermetausers, usermeta
ProfilePressStores additional user data in the standard WordPress table usermetausermeta
Personal data stored by WooCoomerce and ProfilePress

Summary

Personal data (PII) is defined by law. Any WordPress database contains contains at least some personal data. If you use a form, profile or ecommerce plugin it is likely that additional Personal Identifiable Information is stored. To anonymize a WordPress database, you need to handle all these data.

Continue reading