A purge policy permanently deletes archived records that match your query conditions, up to 1,000,000 records in each run. It doesn't delete records under legal hold or records protected by Archived Data Protected from Purge.
What a Purge Policy Deletes
A purge policy works on root records, which are the records of the object you select in the policy. When it runs, it considers only the root records that match the query conditions. It deletes those root records and all of their archived child records.
If you add multiple query conditions, a purge policy deletes a record only when the record meets all of them.
A purge policy can't delete records under legal hold, regardless of its query conditions. It also can't delete records archived within the number of days that you set in Archived Data Protected from Purge. That setting protects newly archived records from purge policies. For more information about legal hold, see Manage Legal Hold Requests in the Archive App.
Before You Purge
Set at least one query condition on every purge policy, because a purge policy without conditions deletes all archived records of the root object that you select.
How Many Records Each Run Deletes
Each purge policy run can delete up to 1,000,000 records. The limit applies to each run, not to your org.
A purge policy runs on a daily schedule. You can also run it manually when it isn't running.
Archive splits each run into delete tasks, and each task appears as a separate entry on the Activities tab. The tasks together stay within the 1,000,000-record limit. A scheduled purge policy appears on the Activities tab only if it has results.
The number of records purged in each run varies based on how many archived records match the purge policy's query conditions. For example, a purge policy that deletes cases created more than 3 years ago purges more records in each run as more cases age past that threshold. The volume increases until it reaches the 1,000,000-record limit.