Description
Zero-hour auto purge (ZAP) is on in the Teams protection policy (ZapEnabled = True): when a
Teams chat or channel message is identified as malware or high-confidence phishing after delivery,
it is blocked for recipients and placed in quarantine. No Teams protection rule excludes users,
groups or domains without a documented reason.
Rationale
Verdicts often arrive after delivery, once a URL is detonated or a campaign is recognized. ZAP removes the message retroactively, which is the only remediation that reaches every recipient before they click. It is on by default; the control guards against it being turned off or bypassed with broad exclusions.
Impact
Messages purged by ZAP disappear from the conversation for recipients and appear in quarantine, where admins can release false positives. None known otherwise.
Applies when
Requires: Microsoft Teams, Microsoft Defender for Office 365 Plan 1
Setting
| Location | Microsoft Defender portal > Email & collaboration > Policies & rules > Threat policies > Teams protection > Zero-hour auto purge (ZAP) |
| Default | On |
| Recommended | On (ZapEnabled = True), no undocumented exclusions |
Audit
- Sign in to the Microsoft Defender portal (https://security.microsoft.com) as at least a Security Reader.
- Browse to Email & collaboration > Policies & rules > Threat policies > Teams protection.
- Check that Zero-hour auto purge (ZAP) is On and review the Exclude these participants section.
- With Exchange Online PowerShell (View-Only Organization Management or Global Reader):
Get-TeamsProtectionPolicy | Format-List ZapEnabledandGet-TeamsProtectionPolicyRule | Format-List ExceptIfSentTo, ExceptIfSentToMemberOf, ExceptIfRecipientDomainIs. - Fail if
ZapEnabledisFalse, or if exclusions cover users or groups without a documented reason.
Remediation
- In the Defender portal, browse to Email & collaboration > Policies & rules > Threat policies > Teams protection, select Edit in the ZAP section, turn ZAP on, remove unjustified exclusions and Save. Role: Security Administrator.
- PowerShell equivalent:
Set-TeamsProtectionPolicy -Identity "Teams Protection Policy" -ZapEnabled $true. - Check that the quarantine policies for Teams malware and phishing let admins review purged messages.
References
- Microsoft Defender for Office 365 support for Microsoft Teams Microsoft, vendor-doc, accessed 2026-10-24
- Zero-hour auto purge in Microsoft Defender for Office 365 Microsoft, vendor-doc, accessed 2026-10-24
- Set-TeamsProtectionPolicy Microsoft, vendor-doc, accessed 2026-10-24
Mappings
| Framework | ID | Relation | Note |
|---|---|---|---|
| NIST SP 800-53 Rev. 55.1.1 | SI-3 | related | |
| NIST SP 800-53 Rev. 55.1.1 | SI-8 | related | |
| CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0 | MS.TEAMS.7.1v1 | related | Removed from ScubaGear 2.0.0. It asked for malware scanning of Teams attachments; ZAP removes messages found malicious after delivery. |
| CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0 | MS.TEAMS.8.1v1 | related | Removed from ScubaGear 2.0.0, kept for traceability. |
How this control relates to the other framework's: equivalent, stricter, looser, partial or related.
Threats mitigated
Related controls
- related
CB-M365-COLLAB-032Let users report suspicious Teams messages to the security team - related
CB-M365-MAIL-024Keep zero-hour auto purge on for malware, phishing and spam
People and lifecycle
| Authors |
|
| Introduced in | v0.1.0 |
| Created, updated | 2026-10-24, 2026-10-24 |
| Translations | fr |