What this check looks at
Checks for an enforced DLP policy for Microsoft 365 Copilot and Copilot Chat, for all accounts, with an enabled rule, as CIS asks.
Microsoft 365 Copilot answers from everything the person asking can open: mailboxes, chats, SharePoint and OneDrive files. Copilot Chat, available to most work accounts at no extra cost, also takes whatever people paste into it. Copilot already respects the encryption and usage rights of labelled files; a DLP policy for the "Microsoft 365 Copilot and Copilot Chat" location goes further, stopping Copilot using items with chosen sensitivity labels at all, and blocking prompts that contain sensitive information.
The check reads the DLP policies and rules from Purview directly. It passes when a policy for Copilot (its enforcement planes include CopilotExperiences) is on, has at least one enabled rule, and covers all accounts. It fails when there is no such policy, when it is off or in simulation, when it has no enabled rule, or when it covers only some accounts. Microsoft does not document the form in which the cmdlet returns who a policy covers, so when that is not returned the check says partly checked rather than passing.
Copilot does not grant access to anything a person could not already open, but it finds and summarises it in seconds. Oversharing that went unnoticed for years, such as a salary spreadsheet shared with everyone, becomes one question away.
Why it matters
Copilot answers from everything a person can open, and people paste sensitive data into Copilot Chat. A DLP policy for Copilot can stop it using files and emails with chosen sensitivity labels, and block prompts containing sensitive information.
Someone asks Copilot to "summarise what we pay the senior team". If the board pack or a salary file is shared more widely than it should be, Copilot will find it and quote it. A DLP policy for Copilot can stop it using files and emails labelled Confidential, whoever asks; that is why labelling such files comes first.
In the other direction, people paste customer lists, contracts and personal data into Copilot Chat to have them rewritten or summarised. A DLP rule on prompts stops sensitive information types being sent, and tells the person why.
CIS Microsoft 365 Foundations Benchmark v7.0.0 3.2.3 asks for DLP policies published for Copilot users, and maps it to CIS Controls v8 3.13 (deploy a data loss prevention solution). ISO 27001 A.8.12 (data leakage prevention) and NCSC CAF B3 cover the same ground.
How to fix it
Where: Microsoft Purview portal → Data loss prevention → Policies
Before you start
- Check the licences against Microsoft’s DLP licensing guidance for the Copilot location. Agree which sensitivity labels must keep items out of Copilot and which sensitive information types to block in prompts.
- Run the policy in simulation first and review its matches in Activity explorer.
Step by step
- Check the licence and what to protect. Check the tenant’s licences against Microsoft’s DLP licensing guidance for the Copilot location before planning the policy. Agree with the tenant what must not reach Copilot: usually items labelled Confidential or Highly Confidential, and, for prompts, UK personal and financial data types.
- Start from Microsoft’s policy. In the Microsoft Purview portal, go to Data loss prevention > Policies. Some tenants already have "Default DLP policy - Protect sensitive M365 Copilot interactions", which can be used if it meets the rest of these steps; otherwise create a policy with the "Microsoft 365 Copilot and Copilot Chat" location set to All accounts.
- Add the rules. Add a rule that stops Copilot processing items with the chosen sensitivity labels, and one that blocks prompts containing the chosen sensitive information types. Keep exclusions to accounts the tenant has agreed to, record why, and review them each year.
- Simulate, then turn it on. Run the policy in simulation for a week or two and review the matches in Activity explorer. When the matches look right, edit the policy and turn it on.
- Confirm the policy. In Security & Compliance PowerShell, run Get-DlpCompliancePolicy | Where-Object { $_.EnforcementPlanes -match "CopilotExperiences" } | Format-Table Name, Mode, LocationInclusions, LocationExclusions and check Mode is Enable and the policy covers all accounts. The next assessment passes.
What users will notice
Copilot does not use items with the chosen labels in its answers, and prompts containing sensitive data are blocked with a message saying why.
How to confirm it worked
Get-DlpCompliancePolicy shows a policy with EnforcementPlanes CopilotExperiences, Mode Enable, covering all accounts, with at least one enabled rule (Get-DlpComplianceRule).
Frameworks and controls
This check maps to controls in 11 frameworks. Passing it is evidence that the setting is in place, not a certification against any of them.
| Framework | Control |
|---|---|
| NCSC CAF | B3.c Stored data |
| NIS2 | Art. 21(2)(i) Access control and asset management |
| Zero Trust | Data |
| SOC 2 | C1.1 Identifying and maintaining confidential information |
| NIST SP 800-171 | 3.1.3 Control the flow of CUI in accordance with approved authorisations |
| CMMC Level 2 | AC.L2-3.1.3 Control CUI Flow |
| ISO 27001:2022 | A.8.12 Data leakage prevention |
| CIS M365 | 3.2.3 Ensure DLP policies are published for Copilot users |
| CIS Controls v8.1 | 3.13 Deploy a data loss prevention solution (IG3) |
| NIST CSF 2.0 | PR.DS-01: The confidentiality, integrity, and availability of data-at-rest are protected |
| NCSC 10 Steps | Data security |
The framework mappings were last checked against the published standards in October 2026.
Microsoft’s documentation
- Learn about DLP for Microsoft 365 Copilot (Microsoft Learn)