vysovsky.com / guides / retention

Purview Retention Policies and Holds

What retention policies, retention labels, and litigation holds actually do, how they interact, what a mailbox on hold looks like from the inside, and the commands to check and manage all of it.

Last reviewed June 2026. Companion to the Purview builder.

Retention in Microsoft 365 is one of the most misunderstood areas in MSP work, largely because three different mechanisms (retention policies, retention labels, and litigation hold) produce similar outcomes through different means, and the Purview compliance portal presents them as though they are interchangeable. They are not. Getting the distinction wrong leads to over-retention, unexpected deletions, or failed legal holds, all of which have real consequences.

The three mechanisms and what they actually do

Retention policies

A retention policy is applied at the container level: a mailbox, a SharePoint site, a Teams channel. It tells M365 to retain content for a period, delete content after a period, or both. The policy is silent to the end user; they cannot see or remove it. Content subject to a retain-and-delete policy is kept in the Recoverable Items folder (for Exchange) or the Preservation Hold Library (for SharePoint) even after the user deletes it, until the retention period expires. Then it is deleted automatically.

Retention labels

A retention label is applied at the item level: a specific email, a specific document. It can be applied manually by a user, automatically by a trainable classifier or keyword condition, or published for users to apply themselves. Labels take precedence over policies at the item level. A document labelled with a 7-year retention label inside a SharePoint site with a 3-year deletion policy will be kept for 7 years.

Litigation hold

Litigation hold is a legacy Exchange mechanism that freezes all content in a mailbox indefinitely, regardless of any other policy. It was the predecessor to eDiscovery holds and is still widely used. A mailbox on litigation hold ignores deletion actions entirely; nothing leaves Recoverable Items until the hold is removed. It has no expiry by default, which is why many tenants have holds placed years ago that no one remembers.

How conflicts resolve: the preservation principle

When multiple policies or holds apply to the same content, the principle is: the most restrictive retention wins. If a retention policy says delete after 3 years and a litigation hold says keep forever, the content is kept forever. If two retention policies give different periods, the longer one wins. Deletion only happens when no policy or hold requires the content to be kept.

The preservation principle means you cannot accidentally delete content that is subject to a hold or a retention policy by deleting it in the UI. It will appear deleted to the user but remain in Recoverable Items. This is also why mailbox sizes can grow unexpectedly when a hold is applied: content the user deletes accumulates in the Recoverable Items folder without the user seeing it.

Checking what holds apply to a mailbox

This is the most common practical question: a user's mailbox is unexpectedly large, or you need to confirm a mailbox is properly preserved before offboarding someone. Check all holds at once:

Get-Mailbox user@contoso.com | Select-Object LitigationHoldEnabled, LitigationHoldDate, LitigationHoldOwner, LitigationHoldDuration, InPlaceHolds, RetentionPolicy, RetentionHoldEnabled

The fields to read:

FieldMeaning
LitigationHoldEnabledTrue means the entire mailbox is on litigation hold. All content is preserved indefinitely.
LitigationHoldDurationIf set, the hold expires after this many days. Unlimited means no expiry.
InPlaceHoldsLists GUIDs of any eDiscovery or Compliance holds applied via the Purview portal. A GUID starting with UniH indicates a Purview retention policy.
RetentionPolicyThe name of any MRM (Messaging Records Management) retention policy. This is a separate, older system from Purview retention policies.

Decode the InPlaceHolds GUIDs

The GUIDs in InPlaceHolds are not human-readable on their own. To see what each one represents:

Get-RetentionCompliancePolicy | Where-Object {$_.Guid -in (Get-Mailbox user@contoso.com).InPlaceHolds} |
  Select-Object Name, Enabled, Mode, RetentionAction, RetentionDuration

Checking Recoverable Items size

When a mailbox is on hold, deleted items accumulate in Recoverable Items rather than being purged. A mailbox with years of held content can hit the Recoverable Items quota (100GB by default for held mailboxes), which blocks further deletions and can cause mail delivery failures. Check the current size:

Get-MailboxFolderStatistics user@contoso.com -FolderScope RecoverableItems |
  Select-Object Name, ItemsInFolder, FolderSize

If the Recoverable Items folder is approaching its limit, the options are: remove the hold if it is no longer needed, increase the quota (requires an Exchange Online Plan 2 or EOP add-on licence), or perform a managed folder assistant run to process and purge content that has exceeded its retention period:

Start-ManagedFolderAssistant -Identity user@contoso.com

Placing and removing a litigation hold

Place a litigation hold before offboarding any user involved in a dispute, HR matter, or regulatory investigation. Set a duration if the legal team has given a specific timeframe; leave it unlimited (the default) if uncertain:

Place hold with a note for audit purposes

Set-Mailbox user@contoso.com -LitigationHoldEnabled $true `
  -LitigationHoldDuration Unlimited `
  -LitigationHoldOwner "Legal Team" `
  -RetentionComment "Held pending HR investigation opened 2024-06-01"

Removing a hold should only happen with explicit authorisation from whoever requested it. Never remove a litigation hold on your own initiative:

Set-Mailbox user@contoso.com -LitigationHoldEnabled $false

Viewing and applying retention policies

List all Purview retention policies in the tenant and their scope:

Get-RetentionCompliancePolicy | Select-Object Name, Enabled, Mode, ExchangeLocation, SharePointLocation, RetentionAction, RetentionDuration

To see what a specific policy retains and for how long:

Get-RetentionComplianceRule -Policy "Policy Name" | Select-Object Name, RetentionDuration, RetentionAction, ExpirationDateOption

Purview retention policies are applied to locations (all mailboxes, specific users, all SharePoint sites), not to individual mailboxes from the Exchange PowerShell side. Scoping changes are made in the Purview compliance portal or via the Security and Compliance PowerShell module (connect with Connect-IPPSSession rather than Connect-ExchangeOnline).

Connect-IPPSSession is the correct cmdlet for Purview / Security and Compliance work. Retention compliance policies and eDiscovery holds are not visible from a standard Exchange Online session; they require the separate compliance endpoint.

Retention and offboarding

A common MSP scenario: a user leaves, the account needs to be disabled or deleted, but the mailbox content must be kept. The options, in order of preference:

Place a litigation hold before disabling the account. Disable sign-in, remove the licence (a shared mailbox does not need a licence), and convert to a shared mailbox if others need access. The hold preserves everything.

If the account will be deleted entirely, litigation hold alone is not enough once the mailbox is hard-deleted; the content enters a 30-day soft-delete window. Use an inactive mailbox instead: removing the licence from a mailbox on litigation hold converts it to an inactive mailbox, which is retained indefinitely at no additional licence cost and is searchable via eDiscovery.

# Before removing licence, confirm hold is in place:
Get-Mailbox user@contoso.com | Select-Object LitigationHoldEnabled
# Then remove the licence via Entra ID or M365 admin center
# The mailbox becomes inactive and is retained