ExpressionEngine® User Guide

Legacy Documentation

You are using the documentation for version 4.3.8. Go here for the latest version.

GDPR and ExpressionEngine

ExpressionEngine has tools to make compliance with regulations like the GDPR (external link) easy to comply with. GDPR (General Data Protection Regulation) has four main prongs: consent, record of processing, portability, and right to be forgotten. ExpressionEngine makes it easy to comply with these regulations, with infinite flexibility to also accommodate any regional or internal data privacy policies as well.

Records, Auditing

ExpressionEngine records an audit log of all consents granted or withdrawn by a user. This is maintained indefinitely. If you ever need to prove or report an individual’s granting or withdrawl of consent, just visit your Consent Logs.

Data Portability

ExpressionEngine’s simple templating and flexible tags have always made data portability a menial task. You can simply construct a template to output any data you desire, in any format you want (HTML, XML, CSV, etc.). Since every ExpressionEngine site is different, and your content is wholly under your control, it is your responsibility to build any such templates—should you need them—to easily export data for visitors.

Right to be Forgotten

ExpressionEngine gives you two options as a site administrator to handle a user’s request to be forgotten. The first is quick and simple: delete them! 🚮

However, there are circumstances where you need to retain content or other records, while satisfying the user’s request to be forgotten. For example, if you are engaged in e-commerce, your sales records may need to be retained, while eliminating any PII for the user who made the purchase. In this and other situations where the data the user supplied is no longer needed for its original purpose, but content or administrative records need to be retained, you can Anonymize the member’s record.

Anonymization gets rid of any PII for the member record, but under the hood maintains the database connections necessary for member-dependent records to continue to be accessible. To anonymize a member’s record, visit the Member’s profile in the control panel, and click “Anonymize Member Record”.