Platform
The semantic layer for embedded AI analytics
Define each metric once. Ground AI in your data model. Enforce tenant scope on every surface, AI included. Stay sub-second at scale.
Your customer asks
What were my store sales last month?
Without a governed definition
- In the dashboard
- €48,200
- Asked the AI
- €52,900
Which one is right?
With Luzmo
Semantic layer + knowledge layer
- In the dashboard
- €48,200
- Asked the AI
- €48,200
Same number, every time
Semantic layer capabilities
Every capability, one runtime
Nothing extra to operate, and nothing you have to migrate off to get them.
- Defined once Store sales
sum(net_amount)Dashboard chart €48,200API response €48,200AI answer €48,200Governed metric definitions
Define it once, in the model
A metric lives in exactly one place, as a formula, a derived column or a SQL view. Everything that can ask a question resolves it from there instead of re-deriving it, so there is only ever one answer to give.
- Formulas
- Derived columns
- SQL views
Multi-tenant security
One scope, enforced on AI too
Embed-token permissions apply identically to dashboards, the API and AI answers. There is no second, weaker path to the data for an AI feature to find.
- Embed tokens
- Row-level filters
- Per-viewer scope
AI grounded in your model
Your AI cannot go off-model
Every question resolves through the same query engine that renders your dashboards, applying your table relationships, column metadata and the viewer's permissions. The model never writes raw SQL against your database.
- Query engine
- Table links
- Column metadata
Sub-second performance
Governance without the latency tax
Native Rust connectors push aggregation down to the source instead of adding a hop. When the source itself is the bottleneck, our data acceleration layer (Warp) turns transactional data into an OLAP shape.
- Rust connectors
- Query push-down
- Warp data acceleration
Openness and portability
One definition, every consumer
A fully documented API keeps everything reachable and transferable. Your definitions are consumable by your product, by your users' tools, and by agents you build yourself.
See all data connectors MCP server docs (opens in new tab)
- REST API
- MCP server
- Agent API
Two layers, one goal
A semantic layer alone is not enough
A governed definition tells you how a number is computed. It does not tell you what the question means in your business. Both have to be true for an answer to be usable.
"How did my stores perform last month?"
The semantic layer answers
How the number is computed
- The canonical formula for store sales
- Which tables join, and at what grain
- Whether returns and discounts come off
Structured, deterministic, executable. Right by construction.
The knowledge layer answers
What it means in your business
- Your retail calendar runs in 4-4-5 periods, not months
- Closed stores drop out of the comparison
- A partial week gets flagged, not silently averaged
Declarative, contextual, editable. Held as AI context on your data model.
How AI context works (opens in new tab)
Neither layer replaces the other. The agent reads both.
What teams ask us most about governance, AI, and the tools they already use
Does Luzmo have a semantic layer?
Yes. Luzmo covers the five capabilities the market means by the term: governed metric definitions through formulas, derived columns and SQL views; AI grounded in the model rather than freeform SQL; multi-tenant security enforced on every surface including AI; sub-second performance through Rust push-down connectors and Warp, our data acceleration layer; and full openness through a documented API, MCP server and Agent API.
Do I still need dbt or Cube if I use Luzmo?
Keep them. They stay where they are, and Luzmo does not read their definitions: there is no dbt or Cube connector, so the metrics you want Luzmo to serve are defined in Luzmo, as formulas, derived columns or SQL views. Luzmo connects to the data source underneath, so the tables dbt builds are the tables Luzmo queries.
Can I bring my existing metric definitions?
Not as a live connection, and this is the part worth being blunt about. You re-express them in Luzmo, as formulas, derived columns or SQL views. There is no sync from an external semantic layer, so a definition that changes in dbt does not change in Luzmo. What keeps that from being manual work is the API: definitions can be created and maintained programmatically, so they can be scripted from whatever already holds them.
Is the AI writing raw SQL against my database?
No. Every question is resolved by the Luzmo query engine, which applies your data model, table relationships, column metadata and the requesting user's permissions. The model selects from governed structures rather than authoring queries against your database.
How does Luzmo compare with other semantic layer tools?
Tools like dbt, Cube, AtScale and Dremio are data infrastructure. They govern definitions for your own analysts. Luzmo governs them inside the product you ship to your customers, which is why multi-tenant scope applies to dashboards, the API and AI answers alike.
How does this apply per customer in a multi-tenant product?
Tenant scope is enforced by the embed token on every surface, including AI answers, so each of your customers sees only their own rows through exactly the same governed definitions. The definitions themselves stay shared, which is what keeps the numbers consistent from one customer to the next.
Luzmo Foundation is the platform underneath: query engine, data acceleration, access control and an API-first architecture.
Customers
Teams shipping governed analytics in production
Luzmo's flexibility and ease-of-use were unmatched in any other platform we evaluated. It is so easy and fun to use.Read case study

Cedric Spaas
Product Expert Analytics at Marigold


Cedric Spaas
Product Expert Analytics at Marigold
See it on your own data
Bring a metric your dashboards disagree on. Thirty minutes is usually enough to see whether the governance holds.

Leave your e-mail and one of our analytics experts will reach out to you