AI-ready data
FeaturesLong read

Semantic Layer Tools That Enforce Permissions, Not Just Translate SQL

AI agents need semantic layers with built-in permission enforcement, not just definitions.

Editor-at-Large · · 10 min read
Features · October 10, 2026 · 10 min read · 2,250 words

Two analysts ask the same semantic layer the same question about active customers and get the same number back. That consistency is the feature most semantic layer vendors sell, and it works. But ask an AI agent to pull data from a table it was never supposed to touch, and that same tool will often hand the answer over without blinking, because the permissions that should have stopped it live somewhere else entirely: a downstream database layer the semantic tool never actually inspects.

That's the real split in this market. A semantic layer that defines "active customers" the same way across every dashboard has solved a consistency problem. It has not solved a security problem. If access rules sit outside the tool, in a warehouse grant or a role table the semantic layer doesn't read, the tool can translate a query into perfect SQL with no idea whether the person or process asking for it should see the result.

Atlan's 2026 agent guide names this gap in structural terms. A BI semantic layer hands an agent a metric and a column definition, but gives it nothing about whether that metric is trustworthy or which policies govern who can see it. Agents need both the number and the rules around the number. Most tools on the market today only give one.

The distinction matters more as AI agents take over more of the querying. A human analyst who isn't sure a query is in scope can pause and ask a data engineer. An agent doesn't pause. Governance has to be built into the query path itself, automatic and deterministic, or it isn't really governance, just documentation that happens to sit near the data.

Heading needs shortening to noun phrase.

Dashboards never exposed this gap, because a human always stood between the query and what it could cost. An AI agent querying a warehouse on its own, dozens or hundreds of times inside a single run, removes that checkpoint.

Atlan's guide draws the comparison directly. AI semantic layers get queried constantly, at machine speed, by an autonomous process that reads context, acts on it, and writes new observations back into the system. The volume alone changes the risk. A human might cause one bad dashboard a year, but an agent can cause thousands of bad queries a day, because nothing in the loop slows down to notice.

Academic work on text-to-SQL systems backs this up at the mechanism level. The research flags schema leakage and over-permissive queries: an agent can end up reading from restricted tables it was never authorized to see as a direct consequence of that separation.

What makes this dangerous in practice is how quiet the failure looks. The agent doesn't throw an error. It doesn't flag anything unusual. A broken dashboard is obvious. Needs positive statement without "is not" negation.

What permission enforcement in a semantic layer requires

Diagram: Five Requirements for Real Permission Enforcement. Visualizes: Visualize the five sequential requirements that must ALL hold simultaneously for a semantic layer to enforce permissions rather than merely describe them.

Enforcement is a set of requirements that all have to hold at once, and a tool that satisfies three out of five still leaves a door open.

The first requirement is identity-aware execution at the moment a query actually runs. Permissions can't be evaluated against a shared service account that every agent in the system uses. They have to be evaluated against the real identity of the person or process asking the question. Atlan's guide makes the standard explicit, that an agent acting on data needs the same access rules and the same audit trail a human analyst would get. So the semantic layer has to carry policy and quality signals, not just definitions.

The second requirement is row-level and column-level control enforced inside the layer itself, not bolted onto a table grant somewhere upstream. Blocking or allowing access to an entire table is too coarse when different users legitimately need different slices of the same dataset. One team's guide to governed semantic layers draws this line directly: a traditional layer offers coarse, table-level access, where a governed one offers row-level and column-level control tied to a user's role. And sensitivity has to be checked at the point where fields get combined, not only one column at a time. Two columns that look harmless on their own can produce something sensitive the moment a query joins them, and a layer that only checks inputs separately will miss that every time.

The third requirement is certified, versioned metric definitions, so an agent can't quietly sidestep them. A governed layer pins a metric to a specific domain, owns the join path that produces it, and refuses to let a query reroute to a raw table that happens to look close enough. Omni's guide names the opposite failure directly: treating the semantic layer as documentation instead of an execution layer, which leaves both analysts and agents free to bypass it whenever it slows them down.

The fourth requirement is full audit lineage, where identity, intent, and the query itself are captured together. A log that records what was queried but not who queried it, or one that records identity but not which version of a metric definition got applied, stops being useful the moment someone actually needs to trace an incident.

The fifth requirement is a declared boundary. When a question falls outside what the layer has modeled, it has to say so, instead of producing a plausible-sounding guess. That one distinction, between a system that admits its limits and one that fills gaps with confident fiction, separates governed accuracy from probabilistic guessing.

The architectural approaches that can deliver enforcement

Not every semantic layer can absorb these five requirements after the fact. Some architectures are built around them from the start. Others are built to translate business logic into SQL, and governance only gets added later if a customer asks for it.

One approach runs enforcement natively inside the warehouse's own governance system. When the semantic layer sits on top of infrastructure that already handles row-level security, column masking, and audit logging, it inherits those controls, so it doesn't have to rebuild them. The advantage of this design is that governance can't drift out of sync with the warehouse, because both run through the same enforcement point.

A second approach is the standalone layer that sits between the warehouse and whoever is querying it, translating requests and enforcing policy at the same time. For this to work, the layer has to check permissions actively, using the real identity of the person or agent asking. The structural risk with any standalone layer is the bypass path: if an agent can connect to the warehouse directly, the layer's enforcement becomes optional.

A third approach uses active metadata to drive behavior, so it doesn't just describe it. Passive metadata documents what a field is. When active metadata flags a field as highly sensitive or below a quality threshold, a governed layer surfaces a warning instead of silently returning the number, because governance has to operate at query time rather than existing only as documentation written down in a wiki somewhere.

A fourth development is the rise of portability standards, so enforcement can travel across tools instead of being rebuilt for each one. Portability matters for enforcement because a team can define a policy once in a layer that speaks OSI or MCP and apply it across every connected BI tool and every connected agent at the same time.

What tools in this space do in production

The tools that enforce permissions credibly at query time share one architectural commitment: governance runs through the semantic layer, not around it.

Databricks Unity Catalog Business Semantics reached general availability in 2026. Open-sourcing the core implementation in Apache Spark extends its reach beyond Databricks's own platform.

dbt Labs showed its Semantic Layer, MetricFlow, and an MCP server together at dbt Summit 2026, held in Las Vegas from September 15 to 18 (the event formerly known as Coalesce). The framing at that event treated the semantic layer as part of the infrastructure that decides whether an AI agent can be trusted with data at all, a prerequisite for agentic AI. So if you pair MetricFlow with the MCP server, an agent gets governed context through a standard interface, not raw access to the underlying tables.

Sema4.ai announced general availability of its Semantic Layer at the Gartner Data & Analytics Summit in Orlando in March 2026, built on Snowflake's Open Semantic Interchange format. Production cases cited include a large manufacturer that now reconciles gas invoices in roughly 2 minutes instead of 3 hours, across more than 350 invoices a month, with autonomous accuracy above 90 percent, and financial services teams that raised cash matching accuracy from roughly 20 percent to above 80 percent. So those numbers show governed semantic layers changing agent accuracy, and not just adding an audit trail after the fact.

Omni pairs a governed semantic layer with self-serve BI, embedded analytics, and interoperability with dbt, Snowflake Semantic Views, and Databricks Unity Catalog Metric Views. The design goal is to make the governed path the easy path, so analysts have no reason to route around it. Omni's own framing is direct: the best semantic layers enforce joins, grain, permissions, and metric reuse, and a semantic layer nobody uses doesn't matter, whatever it claims to support.

A newer class of tool takes a different starting point: an AI-ready data layer that sits on top of existing infrastructure without requiring a migration. It enforces a semantic layer carrying table descriptions, metric definitions, and relationship context, evaluates permissions at query time under the actual requesting user's identity, and logs every query with full lineage. This is the architectural direction the rest of the market is converging toward: enforcement built into the path every query already takes, instead of patched on afterward at the model or prompt layer. The key practical advantage is that no migration is required. Governance and semantic context get added as a layer over warehouses and SaaS systems already in place, which is the only realistic option for most enterprises that can't rip out and replace what they're running today.

The strongest objection: enforcement that blocks access is also a failure

Strict enforcement carries its own failure mode.

Omni's guide names this as the primary adoption risk: a semantic layer only creates value if people actually use it.

The fix requires rethinking the architecture itself. A governed layer has to make compliance the default path rather than an obstacle standing between an analyst and the answer they need. Omni describes its strongest semantic layers as systems that improve through use, capturing context from the analysts and agents relying on them and feeding that context back into the shared model, so the layer gets better with every query instead of becoming a bottleneck that slows the whole team down.

A related objection concerns scope. A governed layer gives reliable answers inside what it has modeled, but it can fail silently the moment a question falls outside that boundary. It's to declare the boundary out loud, so an agent stops guessing the moment it hits the edge of what the layer actually knows. That declaration is itself a form of governance, every bit as much as a row-level permission check.

The compliance landscape settles the argument in enforcement's favor. The EU AI Act and expanding data sovereignty rules say you have to build explainability, audit trails, and governance into AI systems by design, not add them after deployment. That turns enforcement from an architectural preference into a compliance requirement, which changes the cost-benefit math for any organization tempted to accept weaker governance in exchange for shipping an agent faster.

Evaluating Whether a Tool Enforces Permissions or Only Claims To

Whether a tool enforces permissions or just describes data to an agent is something a team can test directly, before a production deployment.

Start with the bypass path. Can an agent reach the underlying warehouse directly, skipping the semantic layer? If so, whatever enforcement the layer claims is optional. Ask the vendor what stops an agent from connecting straight to the source system, and demand a specific answer.

Check identity resolution next. If it's a shared account, row-level and column-level policies get evaluated against the wrong principal, and revoking access for one workload may be impossible without breaking every other agent riding on the same credential.

Test column-combination sensitivity. Ask how the system handles a query that combines two permissioned fields, when their combination crosses a sensitivity threshold the individual fields never would have.

Check audit completeness. A log that records the query but not which version of a metric definition generated it isn't something an investigator can actually use after the fact.

Test boundary declaration. Ask the vendor to show you what happens when an agent asks a question the semantic layer can't answer within its certified definitions. A silent failure or a confident, hallucinated answer at that boundary is a governance failure, full stop, not a limitation of the underlying model.

Watch the language a vendor uses to describe its own product. A vendor who says "we define permissions in the layer" is describing something different from a vendor who says "we enforce permissions at query time," and that gap between defining permissions and enforcing them is the entire subject of this piece. And ask specifically how write actions are governed, separately from reads: an agent that can both query data and act on it needs stricter controls than a dashboard that only ever reads, because a bad read produces a wrong number, and a bad write produces a wrong world.

More in Features