Copilot Sees Your Schema: The Hidden Security Risk in Power BI AI Summarisation

Brian DeLuca
October 26, 2026
Clock
7 Minutes
Subscribe to our blog to stay up to date on all the latest information from the Reporting Hub team! We'll never share your email with anyone else.
TL;DR

Copilot can use Power BI semantic model metadata when helping users work with DAX. Row-level security (RLS) limits the rows a user can read, but it wasn't designed to hide table names or model details. Object-level security (OLS) protects selected tables and columns, including their names. Microsoft says report summaries respect RLS and OLS, but its Test as role feature does not validate Copilot. Teams need to review each AI feature and test it with real user accounts before allowing wider access.

Suppose your governance team approves Copilot for Power BI across three business units. The reports already have RLS, and each department sees the right figures. Then someone asks Copilot about the DAX behind a margin calculation rather than asking for another sales summary.

If that person has access to a feature that reads model definitions, the question may bring up business logic the team never reviewed for wider use. The concern isn't that RLS has stopped working. It's that the original security review may never have covered the model information Copilot can work with.

What Copilot Actually Reads From Your Semantic Model

A Power BI report shows calculation results, but the semantic model contains the structure behind them. Table names may identify internal projects, while a measure can show how the business calculates revenue risk. RLS filters rows according to a user's assigned role. It does not make the rest of the model private.

Microsoft's Copilot privacy and security documentation describes different inputs for different features. When Copilot creates or explains DAX queries, it uses semantic model metadata, including table and column names. It can also use the selected measure's formula when writing a measure description. Access to those features still depends on the user's permissions, so the metadata use alone does not prove that a restricted viewer can retrieve hidden formulas.

Table Names, Column Names, and Measure Definitions

Consider a model with a table called ChurnRiskByAccount_Internal. The name suggests the company tracks accounts that may leave, without revealing a single customer record. A measure tied to that table might also describe how the risk score is worked out. Those details could matter to a competitor or a customer who should never see the internal method.

Model objects that can expose information before data is shared

Unreleased products: A table name may disclose a project or product that has not been announced.

Internal operations: Column names can reveal private cost centers or planned staffing changes.

Business calculations: A DAX measure may show the rules behind pricing or revenue forecasts.

RLS can keep restricted rows out of a regional sales report without hiding these names. That is the gap teams need to check when a Copilot feature can work with model definitions. The result depends on the feature being used and the account's permissions, not simply on the presence of an RLS role.

What Microsoft Documents Copilot Uses

Microsoft says Copilot data stays within the organization's tenant boundary and is not used to train foundation models. It also says Copilot does not retain prompts or replies after a session ends. These statements address how Copilot handles information after it receives it.

An important difference exists between AI report summarisation and DAX assistance. Microsoft's report summary guidance says summaries respect RLS and OLS. Its DAX guidance separately confirms that DAX assistance reads model metadata. A team that tests only report summaries has not tested every Copilot feature that can work with the semantic model.

Why This Matters Now

Power BI teams often have years of RLS rules behind their reports. When Copilot arrives, it is tempting to reuse the same approval process and treat the AI feature as another way to view the dashboard. But a prompt about a measure's definition is different from a request to summarise a sales chart. The team must know which features each user has before deciding existing tests are enough.

40%+
of AI-related data breaches by 2027 predicted to arise from improper use of generative AI
Gartner, February 2025

That forecast concerns AI data handling in general, not Power BI metadata exposure. It does show why teams are paying closer attention to what information an AI feature receives. For Copilot, the immediate question is much narrower: has the team tested what each permitted feature can read from the model?

Watch Out

"Test as role" does not validate Copilot. Microsoft's RLS documentation says the Test as role feature cannot validate every part of a report, including Copilot. A clean test proves that the selected RLS rule filters the report as expected. It does not prove that every Copilot interaction behaves the same way. A proper Copilot review needs real accounts with the permissions users will have after launch.

RLS vs. OLS: Where the Gap Actually Lives

Row-Level Security: Filters Data, Not Metadata

Suppose an analyst has access to sales rows for the North region. RLS can remove South region records from the analyst's results. But the model may still contain tables and calculations used by both regions because a row filter doesn't hide the objects themselves. Microsoft's RLS guidance points to object-level security when teams need to restrict access to columns and their metadata.

There is also a role limit worth checking. In a Power BI workspace, RLS applies to Viewers, not users with Admin, Member, or Contributor access. Someone given an editing role may have much broader access to the model than the reporting team intended. The workspace role should therefore be reviewed alongside the RLS rule.

Object-Level Security: Hides Protected Model Objects

Object-level security can hide a table or column from users without permission to see it. Microsoft's OLS documentation also says it can hide protected object names and metadata. For the affected viewer, a secured table appears not to exist. This is the control that addresses schema visibility rather than just filtering data rows.

AreaRow-Level Security (RLS)Object-Level Security (OLS)
What it restrictsRows returned by the modelSelected tables or columns
Names and metadataDoes not hide object names by itselfCan hide protected objects and their names
Where rules are setSemantic model roles with row filtersSemantic model roles with object permissions
Workspace roles affectedViewersViewers
Copilot validationNot covered by Test as roleRequires direct checks for the Copilot features in use
How rules are createdPower BI role editor and DAX filtersTMDL view or tools such as Tabular Editor
Watch Out

OLS also has limits. It doesn't restrict workspace users with editing access, and hiding an object may break a visual that depends on it. Teams need to review report behavior after adding those rules. A protected model is only useful if the right people can still complete their reporting work.

Closing the Gap With Governed Semantic Model Design

A report can pass its RLS checks while the wider Copilot rollout still needs work. The next review should focus on model details that users have no reason to discover. It should also cover the AI features made available to each group, rather than treating all Copilot experiences as one product.

Security Review Checklist
✓Review sensitive model names: Identify tables and columns that reveal private projects or business plans. These objects need their own access decisions, even when the row data is already filtered.
✓Apply OLS to protected objects: Set metadataPermission: none for tables or columns assigned to restricted roles. Test affected reports because a visual may rely on an object that has become unavailable.
✓Test Copilot with actual user accounts: A Viewer account should be tested separately from a model editor. Each account needs the Copilot features it will have in production.
✓Separate models where needed: Some internal calculations may not belong in the same shared model as everyday sales reporting. A separate model gives owners tighter control.
✓Review DAX formulas before wider access: A formula may reveal private rules even when its numeric results are restricted. Measure-description generation uses formulas and table names.
Best practice

Treat model metadata as information that may need protection in its own right. The review should record which groups can see sensitive objects and why they need access. OLS rules can then reflect those decisions instead of being added after someone spots a revealing table name.

This is not only a technical issue. In September 2026, Gartner predicted that 60% of organizations that do not address the cultural challenges of data governance will fail to govern AI successfully by 2027. Model owners and security reviewers need to agree on what counts as sensitive before the rules can reflect those decisions. Otherwise, a table can be technically accessible and still reveal something the business intended to keep private.

Where BI Genius Fits: AI You Can Audit

A security review is stronger when administrators can see what an AI system did with a question. BI Genius, Reporting Hub's AI agent product, connects to existing Power BI semantic models and runs inside the customer's Azure environment. Reporting Hub documents support for Power BI RLS and role-based controls that limit access to particular data sources. An organization can also set different knowledge boundaries for different agents.

BI Genius provides an AI Logic Dashboard with an interaction history and the sources behind answers. This lets administrators inspect the queries and DAX involved when an answer needs review. The records remain in the customer's own Azure setup rather than a shared hosted service. These controls don't replace OLS or prove that every model object is protected, but they give the reporting team evidence to review alongside its access rules.

Frequently Asked Questions

Does turning off Copilot's Q&A feature stop schema exposure?

Disabling Q&A removes that way of asking data questions, but other Copilot features have their own inputs. Microsoft's DAX-assistance documentation says those features use semantic model metadata. Teams need to review the features and permissions available to each user rather than relying on a single Q&A setting.

Is this a Microsoft bug or a limitation of RLS?

RLS was made to filter data rows, not to hide tables or columns. Microsoft documents object-level security for protecting those objects and their metadata. The risk arises when a team treats a working RLS report as proof that all model details are hidden, especially when adding AI features that can work with those details.

Does OLS fully prevent Copilot from referencing hidden columns?

OLS is Microsoft's model-level control for hiding selected tables and columns from restricted viewers. But Microsoft's documentation doesn't provide a single test that confirms the behavior of every Copilot feature. The team should test each enabled feature with real accounts, including a user whose role hides the chosen object.

Should we pause a Copilot rollout until every model has OLS?

Not every semantic model needs OLS. The decision depends on which objects contain information the business needs to restrict and which users can access them. A limited rollout can start with reviewed models, while more sensitive ones stay out of scope until you've checked their permissions.

Does the same risk apply to paginated reports or dashboards?

Paginated reports and dashboards have their own access rules. They do not automatically give viewers the DAX-assistance features described here. This article focuses on Copilot experiences that use semantic model metadata; check report summaries separately, and Microsoft says those summaries enforce RLS and OLS.

Want AI That Respects Your Access Rules?

BI Genius connects to your existing Power BI semantic models and keeps every answer inside your Azure environment with a full audit trail.

Learn About BI Genius