---
schema_version: "1"
id: d492ca2881631bffed49a0950e1762c370e0e8aab9a01165a2c55f8354a2d077
title: Heroku + Heroku Connect
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/heroku_connect.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.heroku_connect.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: c3693e7d275f56e9b1fce693d0e3b5508e3275d11bf9ea0f79d33d252fb279f0
description: Privacy Center retains customer data by syncing it to Heroku storage through Heroku Connect. This synchronization leads to some key differences between data security, storage spaces, and editability.
products:
  - Security
  - Cross Cloud
release: "264"
---
# Heroku + Heroku Connect

Privacy Center retains customer data by syncing it to Heroku storage through Heroku Connect. This synchronization leads to some key differences between data security, storage spaces, and editability.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: all editions</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
      <colgroup>
        <col style="width:50%">
        <col style="width:50%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d17136e52">User Permissions Needed</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d17136e52 ">To retain customer information using Heroku:</td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d17136e52 ">ModifyAllData and PrivacyCenter</td>

        </tr>
      </tbody>
    </table>

To retain customer information, Privacy Center replicates the data in a Heroku database. Then the replicated data is stored. If your retention policy deletes data, the original data is deleted from your Salesforce org. If your retention policy masks data, the original data is transformed as specified in the policy. While this replicated data is stored in a secure environment, the data security measures in place for your Salesforce org don’t carry over to your Heroku retention store. We recommend that you give only customer admins access to your Heroku space, as anyone with access can view all data in the Postgres tables.

Additionally, because of the replication step, your Salesforce and Heroku stores sometimes differ. You store only the parts of a field that are important to you, so the same data table in Salesforce and Heroku have different storage capacities. As a result, some of your Heroku rows take up less space, as only the important subset is copied over.

Because Heroku stores your data in tables, you can add to or modify them by using External Objects or by using a database tool or an API. If you choose to use External Objects, configure them only on the cache schema tables, as these tables match the data subset that you chose to retain. In contrast, the Salesforce schema tables are an exact copy of the data already stored in your Salesforce org. Adding External Objects here would be just like modifying your actual Salesforce org storage. If you use External Objects, we recommend using an indirect lookup model to access them and limiting access to only the relevant views. Both actions help you control access and keep your customer data safe.