The problem every data platform has, and nobody owns
Master data — product catalogues, reference dimensions, the values everything else joins against — sits in an awkward middle ground. It is too governed to let people edit directly, and too operational to sit in a ticket queue for a week. So it ends up in neither place properly.
At this Icelandic telco and media group, changing a dimension meant a spreadsheet, an email chain and an engineer's afternoon. The cost was not the engineering time so much as the delay: the catalogue was always slightly behind the business it was supposed to describe.
The brief was to let business users read and change master data by describing what they wanted, in Claude Desktop — while giving nobody raw write access to the lakehouse and letting no change through unaudited.
A governed write-back loop, end to end
Three rules shape the design: verify identity at entry, hold least privilege throughout, and make human confirmation the gate. A change reaches the lakehouse because a person confirmed it — never because a model decided it should.
Ask and read
Identity checked at the door
The MCP server authenticates the person through Entra ID, then reads the current gold dimension — only what that person is allowed to see.
Parse and confirm
The model proposes, the person decides
A custom skill parses the upload — xlsx, csv or pdf — maps the values onto the dimension schema and renders a confirmation table. Nothing moves until someone approves it.
Write parquet
An immutable record of the change
On confirmation, and only then, the MCP server writes the change set as parquet into a dedicated master-data store. The file is the evidence.
Promote
Validated on the way to gold
Delta Live Tables validate and enrich the change through bronze and silver, and promote it to the golden record under Unity Catalog, with lineage and audit intact.
The interface is Claude Desktop with a custom skill, so there is no new application to roll out or train anyone on — people upload a file and talk about it. The integration is an MCP server on Azure Container Apps, stateless and scaling to zero, with Entra ID validating every token through OAuth 2.1, Conditional Access and MFA, and Managed Identity reaching storage and Databricks with no stored secrets anywhere.
Underneath is the governed lakehouse built the year before: ADLS Gen2 and a Databricks medallion architecture, which is why the golden record already had somewhere to live and something to validate it.
Enterprise governance at a chatbot's cost of entry
What the business gets is a master-data update that happens in a conversation instead of a queue. What governance gets is stronger, not weaker: every change is confirmed by a person, written immutably, validated by the pipelines, and versioned well enough to roll back.
The economics work because almost none of it is new. Databricks, Entra and the networking were already running; the net-new footprint is a container app and a storage account, which comes to about €40 a month. The first dimension, the product catalogue, went from kick-off to production in six to eight weeks.
That first dimension is the point. The pattern is not specific to a product catalogue — it extends dimension by dimension, each with its own read and write scopes, to any team that owns reference data and has been waiting on someone else to change it.
Team
- —Andriy Zhubryd
- —Ihor Protsiv
- —Filip Strunjak
Key objectives
Let business users read and change master data in plain language, without raw lakehouse access.
Keep every change governed: identity checked at the door, human confirmation before anything lands.
Add no new application for anyone to learn, and no meaningful new running cost.
Services
- —Master data management
- —AI & MCP integration
- —Cloud infrastructure & identity
- —Data engineering
Technology
Numbers
≈€40
Net-new running cost per month
6–8
Weeks from kick-off to production
100%
Changes human-confirmed, audited and reversible
0
New applications for the business to learn



