Both the General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA) define that consumers/data subjects have the right to view, update, extract and delete data that controllers & businesses have saved on them. When a consumer/data subject exercises their rights, they create a data subject request (DSR). This page will guide you through mParticle’s support for handling DSRs for both GDPR and CCPA.
This page does not provide legal advice, only a description of how to use mParticle’s compliance-related features. The information provided here is solely for understanding and using mParticle features and is not intended to be legally compliant or specific enough for compliance.
This document uses GDPR language and terminology for simplicity.
mParticle provides data privacy controls to help you comply with the compliance requirements around consent and data sale opt-out.
The GDPR defines three entities involved in data collection, with different rights and responsibilities:
Similarly, the CCPA defines:
The GDPR defines some rights of Data Subjects, including:
The CCPA defines that consumers have rights of:
mParticle is a collaborator on the OpenDSR framework, which provides a simple format for Data Controllers and Data Processors to collaborate towards compliance with requests from their Data Subjects to honor the above rights. This framework was formerly known as OpenGDPR; it was renamed in early 2020 to include CCPA support.
To find out more about OpenDSR, read the full spec on the Github page.
mParticle’s OpenDSR implementation handles three types of DSRs: “Erasure”, “Access” and “Portability”.
Each DSR follows the same basic workflow:
The Data Controller must log, authenticate and verify the request. If they choose to accept the request, the Data Controller forwards a request to mParticle in its role as a Data Processor. The request provides:
410 GoneHTTP response.
This workflow can be managed in mParticle UI or programmatically via the OpenDSR API.
mParticle stores data against user profiles, each identified by an mParticle ID (MPID). To respond to DSRs, mParticle first matches identities in the DSR against observed user profiles. This is handled the same way as mParticle’s regular IDSync process: provided identities are resolved to MPIDs to identify affected user data.
All DSR requests are scoped to a single workspace by API authentication. If you need to apply a DSR to multiple workspaces, please submit it within each workspace.
To get started, enable GDPR and/or CCPA compliance features on your workspace from Workspace Settings > Workspace > Regulation. This will allow you to see the DSR UI. mParticle will honor all requests received via API even with these features disabled.
You have the option to include a copy of the live user profile in access/portability requests. Navigate to Privacy > Settings to include a copy of the users profile with GDPR and/or CCPA DSRs. This is for clients whose privacy teams determine that this is required for compliance. The profiles will include: devices, identities, audience memberships, user attributes and calculated attributes. By default, profiles are not included.
As a Data Processor, mParticle will match user profiles for a Data Subject Request based on any identities we are given. As a Data Controller, it is your responsibility to determine how to accept and forward Data Subject Requests in order to best meet your GDPR responsibilities and manage risk. This decision should be managed in conjunction with your Identity Strategy.
You also have the option of using the Identity API to identify for yourself the MPIDs you wish to include in the request and submitting them directly, rather than letting mParticle match IDs for you.
Be sure to consult your internal privacy and compliance experts when determining your strategy for accepting and forwarding Data Subject Requests.
Erasure requests are handled as follows:
In addition to data directly stored by mParticle, such as historical event batches, audience data and profiles, mParticle will also delete data in your managed Data Warehouse integrations:
These methods access data indexed for GDPR starting on May 25, 2018. If you need to affect historical data, please contact your success manager.
We cannot delete data that has already been forwarded to a partner, via an event or audience integration.
A delete request will also not prevent additional data concerning the subject from being received and processed by mParticle. If the data subject wishes to prevent all future data processing, they will likely need to take additional steps, for example, ceasing to use your service/app.
Access and Portability requests are handled exactly the same way, as follows:
The data gathered in response to a Portability Request will be delivered in a
.zip folder containing many
.jsonl files (JSON Lines format). The zip contains:
profile.jsonl: A file that contains the live profile at the time of the request. This includes data like: device identities, user identities, audiences and user attributes.
.jsonlfiles: These results are split into many files to avoid a single, large file to make them easier to transmit and process. Controllers are encouraged to re-process the files as they see fit. These files contain the event batches sent to mParticle. Each line of the data files represents a complete mParticle event batch. See our JSON Reference for a guide to the event batch format.
Note that if no records can be found matching the identities in the request, the request for the zip file will intentionally return a
A sample portability response can be downloaded here.
In addition to the Data Subject Request API, users with the Compliance role can create, delete and monitor DSRs directly in the mParticle Dashboard.
Was this page helpful?