--- title: "Data Retention" slug: "data-retention" updated: 2026-08-24T09:30:00Z published: 2026-08-24T09:30:00Z canonical: "docs.xtremepush.com/data-retention" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Data Retention As your project grows, so does the volume of data stored on the platform including records for users who have long since become inactive or uncontactable. Removing this data ensures your campaigns reach the right audience and helps you meet your obligations under GDPR, which requires that you only hold data that is necessary. Under **Settings > Advanced > Data Retention**, you can control how long the following are retained on a project: - **User Profiles (Web only)**: Specifies how long uncontactable profiles are retained on the platform before deletion. This applies only to projects that have a website configured in Xtremepush. A scheduled check runs daily to remove any profiles that have passed their retention period. For example, if you have configured **Uncontactable Web Profiles** to be deleted after 31 days, the platform checks every day and removes any profile that has crossed that 31-day mark. - **Audit Logs**: Specifies how long profile and campaign audit log records are retained before removal. A scheduled check runs monthly to remove any log records that have passed their retention period. For example, if you have configured **Profile Audit Logs** to be deleted after 3 months, the platform checks every month and removes any records older than that. For each data type, you configure a duration for which the data is stored on the platform. After this duration passes, the data is deleted automatically. > [!WARNING] > **Deletion is Permanent** > > Deletion of data by your data retention policy is permanent and irreversible. Once data is removed, it cannot be restored. Review your retention periods carefully before saving any changes. The following roles can access **Data Retention**: | Role | View | Edit | | --- | --- | --- | | Provider Admin | ✅ | ✅ | | Company Admin | ✅ | ✅ | | Data Protection Officer | ✅ | ❌ | | Project Admin | ✅ | ❌ | > [!NOTE] > All other roles cannot view or access Data Retention. Xtremepush Support can view your settings if you need assistance. ## Configure your Data Retention Policy Go to **Policies** to configure and manage your data retention policy. The page is divided into two sections: **User Profiles Retention** and **Audit Log Retention**. ![User profiles and audit log retention settings with enabled options and timeframes displayed.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/Screenshot 2026-08-18 at 10.07.53.png?sv=2026-02-06&spr=https&st=2026-11-11T14%3A39%3A04Z&se=2026-11-11T15%3A39%3A04Z&sr=c&sp=r&sig=hHfCUpMDY8HZ7LnOQTOoZUT1EdW9216JFfz6n%2FqnPsQ%3D) Configuring your Data Retention Policy Click **Edit**, then enable the toggle for each retention policy you want to enable. Enter the retention period for that setting: - **User Profile Retention**: The number of days to keep uncontactable profiles - **Audit Log Retention**: The number of months to keep records. For information on the toggles, see the *User Profile Retention* and *Audit Log Retention* sections below. > [!WARNING] > Disable a Retention Policy > > To disable a retention policy, disable the toggle for that setting. Cleanup stops immediately, and the platform stops deleting any data of that type. > [!NOTE] > **Data Retention Audit Log** > > Any change you make to your data retention policy is recorded in the **Audit Log** tab. Each entry shows the date and time of the change, the action taken, the section affected, the user who made the change, and a summary of what was updated. > > > > For more information on the **Audit Log**, see *Monitor Retention Execution and Policy Changes* below. ### User Profile Retention When you use the Xtremepush web SDK, a profile is created for each unique visitor to your website. The following are the three types of uncontactable profiles you can configure a retention period for, each specified in days: - **Uncontactable Web Devices**: A web device that the platform cannot send push notifications to because there is no valid push token. This can happen if the user never completed web push registration, or if their browser push subscription has expired or been revoked. - **Uncontactable Anonymous Profiles**: A profile with no user ID and no contact details on any channel, so the platform has no way to reach the user. The profile has no email address, no mobile number, no WhatsApp number, and no associated mobile or web devices. - **Uncontactable Identified Profiles**: A profile with a user ID but no contact details on any channel, so the platform has no way to reach the user. The profile has no email address, no mobile number, no WhatsApp number, and no associated mobile or web devices. The deletion job runs daily. For example, if you enable **Uncontactable Web Devices** with a retention period of 31 days, the platform checks every day and removes any web device that has been uncontactable for more than 31 days. ### Audit Log Retention In this section, you can configure how long profile and campaign audit logs are retained on your project. - **Profile Audit Logs**: A log of changes made to user profiles which is recorded under **User Profiles > Audit Log**. The profile audit log is not enabled on all projects and this setting only applies if this feature is enabled for your project. - **Campaign Audit Logs**: A record of every change made to the campaign. For more information, see [Campaign Audit Logs](/documentation/docs/audit-log). The default retention period for both audit logs is 3 months. The deletion job runs monthly. For example, if you set a retention period of 3 months, the platform deletes logs created before the start of that 3-month window on the first of the following month. ## View your retention policies and activity The **Overview** tab shows the estimated impact of the next deletion run (**Upcoming Deletions**) and the result of the most recent one (**Last Execution**). This tab is view-only. At the top of the tab, switch between the three retention types: **User Profiles**, **Profile Audit Logs**, and **Campaign Audit Logs**. Each type shows an **Active** or **Inactive** badge next to it, which indicates if the policy is active or inactive. ![Overview of user profiles, upcoming deletions, and high impact alert details.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/Screenshot 2026-08-18 at 10.55.12.png?sv=2026-02-06&spr=https&st=2026-11-11T14%3A39%3A04Z&se=2026-11-11T15%3A39%3A04Z&sr=c&sp=r&sig=hHfCUpMDY8HZ7LnOQTOoZUT1EdW9216JFfz6n%2FqnPsQ%3D) Example Overview of a User Profiles policy Both cards have: - A **Download Report** link to download a CSV of that card's data. - A **View History** button that takes you to the History tab. For more information, see *Monitor Retention Execution* below. CSV report contents differ by retention type. User Profile reports contain one row per profile, with a profile ID and the reason it was removed. Profile Audit Log and Campaign Audit Log reports contain one row per action type, such as Create, Update, or Delete, with a count of how many entries of that type were removed. ### Upcoming Deletions This card shows the estimated impact of the next scheduled deletion run. It includes: - **Next Run**: The date of the next deletion run for this retention type. - **User Profiles** run daily - **Profile Audit Logs** and **Campaign Audit Logs** run monthly, on the 1st. - **Last Calculated**: The last time the platform checked how many records would be removed in the next run. - **User Profiles** estimates recalculate every 6 hours - **Profile Audit Log** and **Campaign Audit Log** estimates recalculate daily. - **Estimated Impact**: A breakdown of the number of records the next run is expected to remove. - For **User Profiles**, this breaks down into Anonymous Profiles, Uncontactable Profiles, Web Devices, iOS Devices, and Android Devices. - For **Profile Audit Logs** and **Campaign Audit Logs**, this shows the number of log records expected to be removed. > [!WARNING] > If a single run would remove more than 50% of a category's total records, the card shows a **High Impact Alert** warning. This is informational only and does not block the run. If no policy is configured for the selected retention type, or no estimate has run yet, the card shows an empty card instead of the breakdown above. ### Last Execution This card shows the outcome of the most recently completed deletion run, with the status of the run: **Success** or **Failed**. It includes: - **Executed At**: The date and time the most recent deletion run took place. - **Total Records Removed**: The total number of records the run deleted, with the same category breakdown as the **Upcoming Deletions** cards. ## Monitor Retention Execution The **History** tab shows the log of every retention task across all three retention types: **User Profiles**, **Profile Audit Logs**, and **Campaign Audit logs**. This includes both live deletion runs and preview (dry-run) estimates. Each row shows: - **Type**: The task that ran. This includes **Cleanup users**, **Remove old audit log records**, **Remove old campaign audit log records**, **Preview cleanup users**, **Preview old audit log records**, and **Preview old campaign audit log records**. - **Run Type**: Whether the task was a **Live** run or a **Preview** run. Live is the last executed deletion displayed under **Policies** > **Last Execution**. Preview is the scheduled estimate displayed under **Policies** > **Upcoming Deletions**. - **Status**: The current state of the task: - **New****:** The task is waiting in line to start. - **Executing** : The task is running. - **Completed****:** The task finished successfully. Some individual parts may have had warnings, but the overall run was OK. - **Error****:** A recoverable problem stopped part of the task. - **Fatal** : This run didn't finish, usually because of an unexpected error. It's retried automatically once. If that retry also fails, the run is marked **Fatal**. - **Cancelled**: The task was stopped before it could run. This status only appears if the task is cancelled manually. - **Started**: When the task started. - **Finished**: When the task finished. - **Records Affected**: The number of records deleted, for **Live** run types, or estimated **Preview** run types. Shows "-" if this is not yet available. - **Warnings**: Shows an alert icon if the run triggered the high-deletion threshold. - **Task**: A link to the detailed task record, where you can see the full result of the run, including error details if it failed. ## Monitor Policy Changes The **Audit Log** tab tracks changes made to your policy on the **Policies** tab. Each entry records: - **Date**: The date and time the change was made. - **Action**: Whether the change was a creation or an update. Creation is when you first configure the policy. Update is any time after that when you change it. - **Section**: Which section was changed, **Profile Retention** or **Audit Log Retention**. - **Updated By**: The user who made the change. - **Summary**: A summary of what was changed.