Reclaiming space by deleting chunks no surviving snapshot still points at.
Pruning is the maintenance step that reclaims storage by removing data chunks no surviving snapshot still references, after retention policy has aged out older snapshots.
Retention and pruning are two parts of one process. Retention decides which snapshots to keep — say, every hourly for a day, every daily for a month, every weekly for a year. When a snapshot falls off the end of that schedule, it is deleted as a manifest. But the chunks it referenced may still be in use by other snapshots, because deduplication means hundreds of snapshots typically share most of their underlying data. Pruning is the garbage-collection pass that walks every surviving snapshot, builds the set of chunks still in use, and removes everything else.
This matters because without pruning, a repository grows forever. Deleting a snapshot only reclaims space if the chunks it uniquely referenced are actually removed from storage. Pruning is where you go from “we aged out the March 1st snapshot” to “the repository is actually smaller now.”
In macup, pruning runs automatically on a safe cadence and respects Object Lock retention on macup Cloud — chunks inside their immutability window cannot be pruned, even if no snapshot references them, which is the behaviour you want for ransomware protection. Repository size in the dashboard reflects actual reclaimed storage, not stale manifests.