Data Lifecycle Management in Microsoft Purview governs how long data is kept, when it becomes a record, and what happens when the retention period expires. It is the enforcement layer for data minimization — a core principle of HIPAA, HITECH, GDPR, and PCI DSS compliance.
Lifecycle policies ensure that data is kept as long as required by regulation or policy, and no longer. This reduces the attack surface, limits discovery scope in litigation, and reduces storage costs from stale data accumulation.
The audit defensibility standard requires that an auditor can ask: "Show me the rule, the system that enforces it, the evidence it ran, and the disposition record." Every retention label, policy, and workflow must produce one of those four artifacts.
Purview Content Explorer + Data Map scan all locations. SIT confidence scores identify regulated content. SHIR enables on-premises scans. Inventory generates the master retention matrix.
Sensitivity label + Retention label applied — manually, by auto-apply SIT rule, or via adaptive scope. Content-based SIT for unstructured discovery; metadata/property triggers for stable structured categories.
Retention hold prevents deletion for the defined period. Trigger is event-based (termination, closure) or time-based (creation, last modified). Legal hold via eDiscovery overrides all retention periods.
At expiry: disposition review for records, auto-delete for non-records. Power Automate enforces approver SLAs. Disposition event logged permanently — the audit proof. No deletion without logged evidence.
The HUM domain is the foundational domain set for the Lifecycle Control Model (LCM). Each record type maps to a retention code, trigger, period, disposition action, and record/regulatory classification. This schedule is the authoritative source for Purview retention label configuration in the Human Resources function.
| Reference | Record Type | Subcategory | Trigger | Retention | Disposition | Record | Regulatory |
|---|---|---|---|---|---|---|---|
| HUM-100 | Benefits Records | Benefits | Time | Permanent | Retain | Yes | No |
| HUM-110 | Compensation Records | Compensation | Time | 6 years | Delete | Yes | No |
| HUM-120 | Incentive Payout Calculations | Compensation | Time | 7 years | Delete | Yes | No |
| HUM-200 | Recruiting / Candidate Records | Recruiting | Time | 4 years | Delete | Yes | No |
| HUM-210 | Immigration and I-9 Records | Immigration | Event | 3 years | Delete | Yes | Yes |
| HUM-220 | Affirmative Action Plans | Compliance | Event | 5 years | Delete | Yes | No |
| HUM-300 | Personnel Records | Personnel Records | Event | 4 years | Delete | Yes | No |
| HUM-400 | Training and Development Records | Training | Event | 6 years | Delete | Yes | No |
| HUM-600 | Exposure Monitoring Records | Health and Safety | Time | 30 years | Delete | Yes | Yes |
| HUM-610 | Employee Medical Records | Medical | Event | 30 years | Delete | Yes | Yes |
| HUM-620 | OSHA and External Incident Records | Incidents | Time | 5 years | Delete | Yes | No |
| HUM-621 | Internal Incident Records | Incidents | Time | 3 years | Delete | Yes | No |
| HUM-630 | Workers Compensation Records | Workers Compensation | Event | 5 years | Delete | Yes | Yes |
| HUM-700 | Labor Relations Records | Labor Relations | Time | Permanent | Retain | Yes | Yes |
| HUM-800 | HR Investigation Records | Investigations | Event | 3 years | Delete | Yes | No |
Across 9 subcategories: Benefits, Compensation, Recruiting, Immigration, Compliance, Personnel, Training, Health & Safety, and Investigations.
HUM-210, HUM-600, HUM-610, HUM-630, HUM-700. Immutable. Require explicit unlock and documented disposition authority.
HUM-100 (Benefits) and HUM-700 (Labor Relations) are permanent — no disposition. These items must never enter a disposition review workflow.
Every HUM retention label must be paired with a sibling DLP policy using a consistent naming convention: RET-HUM-[code] for the retention label, DLP-HUM-[code] for the DLP rule. This ensures that content being retained is also being protected — not just preserved as liability.
| Retention Label | Paired DLP Policy | SIT Trigger | Sensitivity Label | Priority Tier |
|---|---|---|---|---|
| RET-HUM-610 | DLP-HUM-610 | Employee Medical / HIPAA-adjacent PHI | Confidential | Tier 1 — High |
| RET-HUM-600 | DLP-HUM-600 | Occupational Health / Exposure Records | Confidential | Tier 1 — High |
| RET-HUM-210 | DLP-HUM-210 | I-9 / Immigration Document Numbers | Confidential | Tier 1 — High |
| RET-HUM-700 | DLP-HUM-700 | Labor Agreement Terms / Union Metadata | Internal | Tier 2 — Medium |
| RET-HUM-300 | DLP-HUM-300 | SSN, DOB, Employee ID | Confidential | Tier 1 — High |
| RET-HUM-110 | DLP-HUM-110 | Salary / Compensation Figures | Internal | Tier 2 — Medium |
| RET-HUM-800 | DLP-HUM-800 | HR Investigation Keywords + Names | Confidential | Tier 2 — Medium |
| RET-HUM-630 | DLP-HUM-630 | Workers Comp Claims / Injury Codes | Confidential | Tier 2 — Medium |
Data enters the organization. Sensitivity label applied (manually or automatically). Classification determines lifecycle path. Records declaration happens here for regulated content.
Data is actively accessed and modified. Retention hold prevents deletion. DLP and labeling enforce access and sharing controls during this phase.
Data no longer actively used but must be retained. Moved to archive tier if applicable. Access becomes read-only or requires formal request. Retention clock continues running.
Retention period expires. Disposition review triggered (for records) or automated deletion occurs. Disposition proof logged for compliance audit.
| Content Type | Function | Retention Period | Trigger | Action at Expiry | Record |
|---|---|---|---|---|---|
| Patient account records | Patient Services | 7 years | Account closure | Disposition review → delete | Yes |
| Loan documents | Lending | 7 years post-payoff | Loan closure date | Disposition review → delete | Yes |
| Personnel Records (HUM-300) | Human Resources | 4 years | Separation event | HR review → delete | Yes |
| Email (general) | All | 3 years | Creation date | Auto-delete | No |
| Financial reports (audited) | Finance | 10 years | Report date | Disposition review | Yes |
| Contracts | Legal | 10 years post-expiry | Contract end date | Legal review → delete | Yes |
| Meeting recordings (Teams) | All | 180 days | Recording date | Auto-delete | No |
| Security logs / SIEM | Security | 1 year hot + 6 year archive | Log date | Archive then delete | Regulatory |
| Employee Medical Records (HUM-610) | Human Resources | 30 years | Separation event | Disposition review → delete | Regulatory |
| Labor Relations Records (HUM-700) | Human Resources | Permanent | N/A | Retain — no disposition | Regulatory |
Content declared as a regulatory record cannot be modified or deleted — only unlocked by compliance officers with documented justification. Immutable once declared. Use for origination records, SAR filings, regulatory exam correspondence, and HIPAA-designated PHI records.
Standard record status prevents deletion but allows edit with audit trail. Used for contracts, policies, and procedures. Disposition review required at end of retention period — cannot auto-delete without reviewer approval.
Retention labels can be applied automatically to content based on SIT matches, trainable classifiers, or keyword conditions. This ensures regulatory content is retained without relying on users to apply labels manually.
Auto-Apply Priority Order
- Explicit user-applied label — always wins, never overridden automatically
- Auto-apply based on SIT match (e.g., SSN, account number) — high confidence required
- Auto-apply based on trainable classifier (e.g., legal documents, financial statements)
- Default label from document library or site policy — lowest priority
Simulation Before Publishing
Always run retention label auto-apply policies in simulation mode first. Review what would be labeled. Check for false positives that would lock content prematurely as records.
Retention period expires. Purview creates a disposition review task and notifies assigned reviewers. Items pending review are held — cannot be deleted until reviewed.
Reviewer inspects item metadata, title, and content snippet. Decision options: Approve for deletion, Retain (extend period), Re-label, or Export a copy before deletion.
Upon approval, Purview logs the disposal event with reviewer identity, timestamp, and item metadata. This proof-of-disposal record is retained permanently for compliance audit.
| Disposition Type | Records and Compliance Role | Can Auto-Delete? | Evidence Required |
|---|---|---|---|
| Regulatory Record (e.g., HUM-700) | Compliance Officer unlock required | No | Signed disposition memo + audit log |
| Standard Record | Disposition reviewer approval | No — review mandatory | Purview disposition log |
| Non-record content | Policy owner | Yes — if policy defines auto-delete | Purview deletion event log |
| Legal hold | eDiscovery / Legal | No — hold overrides all | Hold release memo + audit trail |
| Risk | Priority | Mitigation |
|---|---|---|
| Multiple retention systems (SharePoint, NetApp, Veritas, Purview) creating conflicting schedules | High | Records and Compliance owns canonical matrix. Purview consumes via adaptive-scope labels. Single source of truth. |
| Retain forever, protect never — items retained without paired DLP or labeling become liability | High | Enforce Retain + Protect pairing matrix. Every RET-HUM-* label must have a sibling DLP-HUM-* policy. |
| Auto-labeling false positives mis-trigger long retention on transient files | Medium | Run auto-apply in simulation mode first. Set minimum confidence threshold. Prefer metadata triggers for stable categories. |
| Custom property dependency — export or save-as can strip metadata properties | Medium | Prefer SIT content inspection for unstructured discovery; use SharePoint column metadata for structured locations. |
| On-premises coverage gap — Purview classifies via SHIR but does not natively retain on-premises | High | Interim: FSRM + Purview-driven move-to-archive. Long-term: migrate regulated content to SharePoint / OneDrive. |
| Disposition bottleneck when monthly review volumes exceed ~5,000 items | Medium | Power Automate with approver pool, SLA dashboard, and auto-escalation after 48 hours of no response. |
| Encryption baseline gap — retention class without paired sensitivity-label encryption | High | Build encryption baseline matrix per retention class. High-risk HUM categories require Confidential label with AIP encryption. |
All Purview label and retention operations can be performed via PowerShell using the Security & Compliance PowerShell module. Connect first with Connect-IPPSSession. Sensitivity label cmdlets and retention/compliance tag cmdlets are distinct command families — they are not interchangeable.
Install-Module ExchangeOnlineManagement — then Connect-IPPSSession -UserPrincipalName admin@yourtenant.onmicrosoft.com. Requires Compliance Administrator or higher role. MFA will prompt if enforced.
Get-Label, New-Label, etc.) operate on classification labels that control access, encryption, and marking. They are not retention labels. A sensitivity label and a retention label can be applied to the same item simultaneously but are configured and managed through entirely separate cmdlet families.
Get-Label | Select Name, Guid
Get-Label output, it will appear here. Useful for post-migration cleanup and for cross-tenant AIP classic label investigations.Get-Label -IncludeDeleted
Get-Label output, cross-reference with Get-Label -IncludeDeleted — that is an orphaned GUID artifact (see note below).Search-UnifiedAuditLog `
-StartDate 05/14/2026 `
-EndDate 05/15/2026 `
-Operations LabelApplied
Audit log entries like
f2bd1a1b-88ad-42f1-b7e6-fcd5770fff8f or c89fde59-1bbd-4f0c-b3bb-3afb87b12fd are not newly generated labels. They are label ID references that no longer resolve to a friendly display name. This occurs when:- A label was deleted — GUID remains in historical audit records permanently
- A label was renamed — old display name is lost in earlier telemetry; GUID is stable
- Labels no longer properly resolve in the reporting UI (sync lag, tenant migration)
- Cross-tenant / legacy AIP classic labeling — external files stamped with labels from another tenant's label taxonomy or AIP classic client
Resolution path: Run
Get-Label -IncludeDeleted | Where-Object {$_.Guid -eq "<guid>"} to identify the original label. If it returns a result, the label was deleted. If it returns nothing, it originated from another tenant or AIP classic.
Get-Label | Select Name, DisplayName, Guid, ContentType, Priority, Disabled `
| Export-Csv -Path ".\SensitivityLabels_$(Get-Date -f yyyyMMdd).csv" -NoTypeInformation
Get-ComplianceTag, New-ComplianceTag) create and manage retention labels — rules that define how long content is kept and what happens at expiry. A retention policy (New-RetentionCompliancePolicy) is the container that deploys a retention label to one or more locations (Exchange, SharePoint, OneDrive, Teams). Both are required to make retention work end-to-end.
Get-Label for retention. Use to confirm a label exists before building an auto-apply policy or fact-checking the HUM retention schedule against live configuration.Get-ComplianceTag | Select Name, RetentionAction, RetentionDuration,
RetentionType, IsRecordLabel, IsRegulatoryLabel | Format-Table -AutoSize
Get-ComplianceTag (the label exists) and Get-RetentionCompliancePolicy (the label is deployed).Get-RetentionCompliancePolicy | Select Name, Enabled, Mode, `
ExchangeLocation, SharePointLocation, OneDriveLocation | Format-Table -AutoSize
-RetentionAction = Keep, Delete, or KeepAndDelete · -RetentionDuration = days · -RetentionType = CreationAgeInDays, ModificationAgeInDays, EventAgeInDays, TaggedAgeInDays · -IsRecordLabel $true = declares content as a locked record · -IsRegulatoryLabel $true = immutable regulatory record (requires Compliance Officer to unlock).New-ComplianceTag `
-Name "RET-HUM-300" `
-Comment "Personnel Records — 4 years post-separation event. HUM domain." `
-RetentionAction "KeepAndDelete" `
-RetentionDuration 1461 `
-RetentionType "EventAgeInDays" `
-IsRecordLabel $true `
-IsRegulatoryLabel $false
New-RetentionCompliancePolicyAction (next). -RestrictiveRetention $false keeps the policy non-preservative (label-only, not full hold). Use All as location value to apply tenant-wide.New-RetentionCompliancePolicy `
-Name "POL-HUM-300-PersonnelRecords" `
-Comment "Deploys RET-HUM-300 to HR SharePoint locations" `
-SharePointLocation "https://yourtenant.sharepoint.com/sites/HumanResources" `
-OneDriveLocation "All" `
-Enabled $true
-PublishComplianceTag for manual/auto-apply publish; use -ApplyComplianceTag with -ContentMatchQuery for SIT-based auto-apply policies.New-RetentionCompliancePolicyAction `
-Policy "POL-HUM-300-PersonnelRecords" `
-PublishComplianceTag "RET-HUM-300"
Get-Label | Select Name, DisplayName, Guid) using the platform's 4-label taxonomy as a reference baseline. Replace with your tenant's actual output during configuration. GUIDs shown are synthetic placeholders — run Get-Label in your tenant to obtain live values.
GUIDs are immutable — they persist in audit logs permanently even after a label is renamed or deleted. Use this inventory format to reconcile GUID-only entries in Search-UnifiedAuditLog output against the current label taxonomy. Populate with your tenant's real Get-Label output and refresh at each program checkpoint.
| Name | Display Name | GUID (Example — replace with tenant output) | Notes |
|---|---|---|---|
| Public | Public | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Lowest classification tier — approved for external sharing, no encryption controls |
| Internal | Internal | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Standard internal business content — not for external sharing; visual marking only |
| Confidential | Confidential | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Regulated data (PHI, PII, financial) — DLP enforcement active, encryption optional per sub-label |
| Restricted | Restricted | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Highest classification — encryption enforced, access scoped to named principals; requires compliance review to share |
| Secure Email | Secure Email - Sensitive Information | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Exchange-scoped — encryption on outbound sensitive email; maps to Confidential tier |
| Attorney Client Privileged | Attorney Client Privileged | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Legal privilege classification — Legal team access only; maps to Restricted tier |
| PHI — Contains Patient Information | PHI - Patient Information | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
HIPAA scope — PHI SIT trigger; paired with DLP-PHI policy; maps to Confidential or Restricted |
| PII — Contains SSN | Personal - Contains SSN | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
PII scope — SSN SIT trigger; paired with DLP-HUM-300; maps to Confidential tier |
| PII — Contains TIN | Personal - Contains TIN Information | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Tax / IRS scope — TIN SIT trigger; maps to Confidential tier |
Connect-IPPSSession) and run:Get-Label | Select Name, DisplayName, Guid | Export-Csv -Path ".\LabelInventory_$(Get-Date -f yyyyMMdd).csv" -NoTypeInformationReplace the placeholder rows above with the CSV output. Refresh at each engagement checkpoint and compare against the prior snapshot to identify additions, renames, and deletions.
Search-UnifiedAuditLog returns a GUID not in your inventory, run Get-Label -IncludeDeleted | Where-Object {$_.Guid -eq "<guid>"}. A result means the label was deleted but existed in this tenant. No result means the label originated from another tenant (cross-tenant AIP-labeled file) or was applied via AIP classic client from a different taxonomy. Document the finding and add to the known-orphan register.
Retention labels for event-based triggers require two separate configurations: the label itself (the rule), and an event type (the trigger definition). For HUM-300, the event type is Employee Separation — a Power Automate flow or manual entry fires the event when an employee leaves, which starts the 4-year retention clock on all items tagged with this label.
Two build paths are documented below. Path 1 (without File Plan) is acceptable for initial configuration and testing. Path 2 (with File Plan) is the production standard — it attaches regulatory metadata that enables defensible audit reporting and integrates with the Records Management file plan in Purview.
Open Microsoft Purview compliance portal → Data lifecycle management → Microsoft 365 → Labels tab.
Alternatively: Records management → File plan → + Create a label (this path leads directly to Path 2 with file plan — use Data lifecycle management for Path 1).
Click + Create a label. On the Name your retention label page:
- Name:
RET-HUM-300 - Description for users: Personnel Records — applies when this document is associated with an active or former employee. Do not remove.
- Description for admins: HUM-300 · 4 years post-separation · Event-based trigger · Locked Record · HR reviewer disposition · Paired: DLP-HUM-300
On the Define retention settings page:
- Retain items for a specific period:
4 years - Start the retention period based on:
When an event occurs - At the end of the retention period:
Delete items automatically— then enable Trigger a disposition review and add the HR reviewer group or individual
On the Choose what happens during the retention period page, select Mark items as a record. Do not select "Mark items as a regulatory record" — HUM-300 is a standard locked record, not immutable regulatory. Regulatory record status is reserved for HUM-210, HUM-600, HUM-610, HUM-630, HUM-700.
Review the summary. Confirm: Name = RET-HUM-300, Retention = 4 years, Trigger = Event, Action = Delete with disposition review, Record = Yes (locked). Click Create label. The label now exists but is not published or auto-applied anywhere yet.
After creation, Purview prompts: What do you want to do with this label after it's created?
- Publish label to users and apps — makes the label available for manual application in SharePoint, OneDrive, Exchange. Users see it in the retention label picker. Use this for content that HR staff manually tag.
- Auto-apply label to content — Purview automatically applies the label based on SIT match (SSN, DOB, Employee ID) or trainable classifier. This is the preferred path for unstructured HR content at scale.
For HUM-300, use both: publish for HR staff manual labeling and configure an auto-apply policy targeting SSN + Employee ID SIT matches in HR SharePoint locations.
Navigate to Records management → Events → Manage event types → + Create. Create an event type named Employee Separation. When an employee separates, create an event of this type (+ Create on the Events tab), enter the employee's Asset ID (typically their Employee ID), and Purview starts the 4-year clock on all items tagged RET-HUM-300 for that Asset ID.
# Step 1 — Create the retention label
New-ComplianceTag `
-Name "RET-HUM-300" `
-Comment "HUM-300: Personnel Records. 4 yrs post-separation. Event trigger. Locked record. HR reviewer disposition. Paired: DLP-HUM-300." `
-RetentionAction "KeepAndDelete" `
-RetentionDuration 1461 `
-RetentionType "EventAgeInDays" `
-IsRecordLabel $true `
-IsRegulatoryLabel $false `
-ReviewerEmail "hr-records-reviewer@yourorg.com"
# Step 2 — Create the policy container
New-RetentionCompliancePolicy `
-Name "POL-HUM-300-PersonnelRecords" `
-Comment "Deploys RET-HUM-300 to HR SharePoint and OneDrive locations" `
-SharePointLocation "https://yourtenant.sharepoint.com/sites/HumanResources" `
-OneDriveLocation "All" `
-Enabled $true
# Step 3 — Publish the label via the policy
New-RetentionCompliancePolicyAction `
-Policy "POL-HUM-300-PersonnelRecords" `
-PublishComplianceTag "RET-HUM-300"
# Step 4 — Verify
Get-ComplianceTag -Identity "RET-HUM-300" | Select Name, RetentionDuration, RetentionType, IsRecordLabel
Get-RetentionCompliancePolicy -Identity "POL-HUM-300-PersonnelRecords" | Select Name, Enabled, Mode
Microsoft Purview compliance portal → Records management → File plan tab → + Create a label.
Complete the name and description fields identically to Path 1 Step 2. The difference begins on the next page.
On the Define file plan descriptors page, complete each field with the HUM-300 mapping:
| File Plan Field | HUM-300 Value | Purpose |
|---|---|---|
| Reference ID | HUM-300 | Maps to the retention schedule reference code — the primary cross-reference key for audit reporting |
| Business function / department | Human Resources | Organizational owner of the record class |
| Category | Personnel Records | High-level record category within the HR function |
| Sub-category | Personnel Records | Granular classification within the category |
| Authority type | Business requirement | Indicates whether the retention is regulatory, legal, or business-driven — HUM-300 is business requirement (not statutory) |
| Provision / citation | Client HR Records Policy · HIPAA / applicable regulation | The policy or regulation that mandates this retention period. For HUM-300, the primary driver is the client's internal HR policy; add applicable regulatory citation (e.g., HIPAA/HITECH for healthcare, state privacy laws) where employee-related PHI or PII is in scope |
Complete Steps 3 through 7 from Path 1 identically. The file plan metadata is stored alongside the label — it does not change the retention behavior, trigger, duration, or record type settings.
Return to Records management → File plan. The label RET-HUM-300 will appear with all file plan columns populated. You can export the full file plan to CSV: Export button at the top of the file plan view. This export is the audit-defensible record of your retention schedule configuration.
-FilePlanProperty. The key names are fixed — use exactly: ReferenceId, Department, Category, SubCategory, AuthorityType, Provision, Citation.# Step 1 — Create label with file plan descriptors
$filePlan = @{
ReferenceId = "HUM-300"
Department = "Human Resources"
Category = "Personnel Records"
SubCategory = "Personnel Records"
AuthorityType = "Business Requirement"
Provision = "Client HR Records Policy"
Citation = "HIPAA / applicable regulation (confirm with compliance team)"
}
New-ComplianceTag `
-Name "RET-HUM-300" `
-Comment "HUM-300: Personnel Records. 4 yrs post-separation. Event trigger. Locked record. HR reviewer. Paired: DLP-HUM-300." `
-RetentionAction "KeepAndDelete" `
-RetentionDuration 1461 `
-RetentionType "EventAgeInDays" `
-IsRecordLabel $true `
-IsRegulatoryLabel $false `
-ReviewerEmail "hr-records-reviewer@yourorg.com" `
-FilePlanProperty $filePlan
# Step 2 — Policy and attachment (same as Path 1)
New-RetentionCompliancePolicy `
-Name "POL-HUM-300-PersonnelRecords" `
-Comment "Deploys RET-HUM-300 to HR SharePoint and OneDrive" `
-SharePointLocation "https://yourtenant.sharepoint.com/sites/HumanResources" `
-OneDriveLocation "All" `
-Enabled $true
New-RetentionCompliancePolicyAction `
-Policy "POL-HUM-300-PersonnelRecords" `
-PublishComplianceTag "RET-HUM-300"
# Step 3 — Verify file plan fields populated
Get-ComplianceTag -Identity "RET-HUM-300" | Select Name, FilePlanMetadata | Format-List