Sometimes it’s necessary to delete a customer’s personal data to comply with various data protection and privacy regulations. We give you examples of common requests and things to consider, so you can comply with the regulations that apply to you.
Required Editions
| Available in: All Editions |
Many data protection and privacy regulations can require you to delete customers’ personal data when customers request it, or when it’s no longer necessary to keep it. We’ve listed a few of the regulations that are important to many companies collecting and processing their customers’ data.
- General Data Protection Regulation (GDPR), European Union
- Personal Information Protection Act (PIPA), Japan
- Privacy Act, Australia
If you have customers or users who want the data that you’ve collected on them deleted, review these common requests and the procedures related to them.
| Common Customer Request | Actions to Consider | Things to Consider |
|---|---|---|
| A client of ours moved out of the country where we’re not licensed to do business. So the client wants us to purge their data. | Heroku Services give you the ability to fully manage the development, design, and functionality of applications you deploy. Using Heroku Services, you can design and develop application-layer functionality that allows your organization to fulfill data deletion requests from your application’s end users. | |
| I’ve deleted sensitive data from my primary Heroku Postgres database and now I need to delete that same data from database backups. |
The following backups of data stored in your organization’s Heroku Postgres database might be created depending on the Heroku Postgres plan your organization has selected and the features your organization have utilized. Salesforce Heroku provides Heroku PGBackups to assist your organization in creating manual or scheduled logical backups of Heroku Postgres databases. The retention period for backups created using Heroku PGBackups is described in the documentation and depends on the Heroku Postgres plan selected. Customers can also initiate the deletion of completed backups at anytime using the command "heroku:pg:backups:destroy <BACKUP_ID>." (Note: you can generate a list of all completed backups for an application via the command "heroku pg:backups -a app_name.") For selected Heroku Postgres plans, your organization can fork a database. This creates a new database containing a snapshot of an existing database at the current point in time. You can also create a Follower database which replicates any changes performed on your primary Heroku Postgres database. Your organization can use the “heroku addons:destroy” command to initiate deletion of a primary, forked or follower Heroku Postgres database. |
Salesforce Heroku provides access to the pg_dump PostgresSQL tool which allows your organization to create and manage your own logical Heroku Postgres backups and retention schedule. Salesforce Heroku also offers selected Heroku Postgres Continuous Protection (physical backups) for Heroku Postgres. The retention period depends on the plan selected and once the retention period is reached, the data deletion process is automatically initiated. Heroku Connect synchronizes data between your Salesforce Services org and a Heroku Postgres database. Therefore copy(ies) of your Heroku Postgres data might reside in your Salesforce Services org. |
| I’ve deleted sensitive data from my Heroku Redis database and now I need to delete database snapshots. | Heroku Redis is an in-memory, key-value data store and is not meant for long-term data persistence. After your organization deletes data stored in Heroku Redis, it initiates the data deletion process for any Heroku Redis database snapshots that Heroku Services created. | Only selected Heroku Redis plans include persistence and High Availability options that result in database snapshots being created. |
| I would like to delete sensitive data from Heroku Kafka. | Heroku Kafka supports time-based retention and log compaction. When the retention window is reached, the data clean up and removal process is initiated. Customers can configure the time-based retention period for Heroku Kafka to a shorter period at anytime to hasten the initiation of the data cleanup and the removal process. | The Heroku Kafka retention period for time-based retention is configurable and depends on the Heroku Kafka plan selected as described in the documentation. |
| I want to delete logs for an application I've deployed on Heroku. |
Heroku’s Logplex is designed for collating and routing log messages, not for storage of log data on a longer term basis. It keeps a minimum number of lines of consolidated logs that expire after 1 week. Your organization can choose to drain logs to a drain service provided by a third-party add-on or implement your own log drain to gain additional control over your logs. Shield Private Spaces also includes the feature Private Space Logging which enables you to configure log capture at the space level instead of the app level. This feature allows your organization to forward all log events from applications and Heroku system services in the space to a single external log capture destination as described in the documentation. |
If a third-party add-on is utilized to store logs, then your organization needs to work with the add-on provider to determine steps to minimize third-party add-ons from capturing your users’ personal data. Work with your legal team to ensure that you have the appropriate contractual terms in place with the provider of the add-on. Also make sure that you have the right processes to help manage your GDPR compliance obligations when using the add-on. If the Shield Private Spaces feature Private Space Logging is utilized, then logs are not stored within Heroku Services and your organization would need to delete the logs from the location where the logs were sent. |