Back to Blog

DLP for Power BI - Stopping Sensitive Data Leaking Out of Your Reports

September 26, 2026•7 min read•Michael Ridland

Every organisation I have worked with has a moment where someone realises how much sensitive data is sitting inside Power BI. Payroll numbers, customer records, patient data, financial forecasts that would move a share price. It is all in there, packaged into reports that are easy to share, easy to export, and easy to forget about. Then someone asks the awkward question: what stops a well-meaning employee from downloading a report full of customer records and emailing it to a personal address? For a long time in Power BI, the honest answer was "not much".

Data Loss Prevention, or DLP, is Microsoft's answer to that question, and it has matured into something worth taking seriously. It lets you write policies that detect sensitive information inside semantic models and alert or block when something risky happens. Microsoft's implementation planning guidance for DLP in Power BI is thorough, and if you are the person actually configuring this, read it. What I want to give you here is the consultant's map: what DLP does, what it does not, and the traps we have hit rolling it out for Australian clients who have to answer to the Privacy Act and, in a lot of cases, the Notifiable Data Breaches scheme.

What DLP for Power BI actually catches

DLP in the Power BI context works by scanning semantic models for sensitive information types. These are the same detection patterns that power DLP across the rest of Microsoft Purview, so things like credit card numbers, tax file numbers, passport numbers, and health identifiers. You can also use sensitivity labels, so a model tagged "Highly Confidential" can trigger a policy regardless of what specific data types it holds.

When a policy matches, you choose what happens. At the gentle end, you can show the user a policy tip, a little notice that says "heads up, this contains sensitive data". In the middle, you generate an alert that lands with your security team so they know something happened. At the firm end, you can restrict access or block the risky action outright. Most organisations start soft and tighten over time, which is the right instinct.

The important mental model is that DLP for Power BI operates at the semantic model level. It is scanning the data model that reports sit on top of, not every individual visual or export. This matters because it shapes what you can and cannot rely on it for, and it is where a lot of the misunderstanding comes from.

Where the gaps are, and why you need to know them

Here is the part vendors gloss over and I will not. DLP for Power BI is genuinely useful, but it is not a force field. There are gaps, and pretending otherwise gets people in trouble.

DLP detects sensitive data in the semantic model. It does not follow that data everywhere it can go. Once someone exports a report to Excel, or takes a screenshot, or copies numbers into an email by hand, the DLP policy that lived on the model does not travel with the spreadsheet. There are other Purview controls that cover files and emails, and the point is that Power BI DLP is one layer in a bigger scheme, not the whole thing. If you treat it as your only line of defence, you have a false sense of security, which is worse than no security because you stop watching.

Detection is also only as good as your sensitivity labels and your classification. If nobody has labelled the models, and your data does not match a built-in sensitive information type, DLP has nothing to grab onto. We have walked into environments with DLP "enabled" and almost nothing labelled, so the policies were quietly matching nothing. It looked compliant on a slide. It protected nothing in reality. Classification is the unglamorous work that makes DLP mean something, and it is the step people most want to skip.

And there is the perennial tension between security and people just trying to do their jobs. Set your policies too aggressively and you block legitimate work, generate a flood of alerts nobody reads, and train your staff to see security warnings as noise to click past. Set them too loose and you catch nothing. Finding that balance is not a one-time config. It is an ongoing tuning exercise, and it needs someone who understands both the compliance requirement and the actual workflows of the business.

The Australian angle

For Australian organisations this is not just good hygiene, it is increasingly a compliance question. The Privacy Act and the Notifiable Data Breaches scheme mean that a leak of personal information can turn into a reportable breach with real consequences, including public disclosure and the reputational hit that comes with it. Sectors like health, financial services, and government have their own layers on top of that.

DLP for Power BI helps on two fronts here. It reduces the chance of a leak happening, and just as importantly it gives you an audit trail showing you had controls in place and were monitoring for exactly this kind of event. When something does go wrong, being able to demonstrate that you had reasonable controls is a very different conversation with a regulator than shrugging and saying you never looked. We spend a fair bit of time on this with clients in regulated sectors, particularly around AI for financial services and AI for healthcare, where the data is sensitive by default and the reporting requirements are strict.

How we roll it out without a revolt

The failure mode I have seen most is switching DLP on hard and fast, blocking everything, and generating so much friction that the business demands it be turned off within a fortnight. Then you are worse off than before because now there is organisational memory of "that security thing that broke everything", and you will fight to get it back.

The approach that works is boring and gradual, which is usually how good security goes. Start in audit mode, where policies detect and log but do not block. Run that for a few weeks and actually look at what gets caught. You will learn two things: where your genuinely sensitive data lives, and how much of the "risky" activity is actually just people doing normal work. Use that to tune the policies so they catch the real risks and leave the legitimate work alone.

Then introduce policy tips before you introduce blocks. Educating people with a gentle notice changes behaviour more than a hard block does, and it does not generate a support ticket every time. Only once the tips have bedded in and the false positives are down do you start actually blocking the truly dangerous actions, and even then only for the highest sensitivity data.

Alongside all of this, sort out your sensitivity labels, because DLP without good classification is theatre. Getting labels applied consistently across an organisation is genuinely hard, it is a change management problem as much as a technical one, and it is worth pairing with a proper conversation about how the whole managed service side of your Microsoft and Power BI estate is looked after over time. This is not set-and-forget. Data changes, people change roles, new reports get built, and your policies need to keep up.

The honest bottom line

DLP for Power BI is a genuinely good tool that solves a real problem, and if you have sensitive data in your reporting estate you should be using it. But it works as one layer in a broader data protection scheme, not as a magic switch. Its value depends almost entirely on the classification work underneath it and on tuning it to your actual business rather than dropping in the defaults and walking away.

The organisations that get value from it treat it as an ongoing programme with a person responsible for it, not a checkbox they tick once for an audit. The ones that get burned are the ones who enable it, label nothing, tune nothing, and assume they are covered. If you want help working out which category you are in, and getting into the first one, our Power BI consultants do this work regularly. Have a chat with us and we will give you a straight assessment.


Reference: Power BI implementation planning - Data Loss Prevention for Power BI, Microsoft Learn.