Case study · Master data management platform

When every system has its own version of the truth, nobody's actually right

Four core business domains, each with its own decade-long history of tables, rules and exceptions. Every domain called its own data the truth. None of them had a way to prove it. We built the one governed source of record every downstream system could finally trust.

Single source of truth, enforced
4 domains unified
130+ tables governed centrally
Zero broken downstream integrations

StatusDelivered

4
domains governed as one system of record
130+
tables on a single shared foundation
100+
tables where valid means one thing
0
downstream integrations broken at cutover
The client

Four domains, four versions of true.

A global automotive safety systems manufacturer running commercial, product, organizational and regional master data for 150+ users across sales, engineering and operations.

Every domain called its own data the truth. None of them had a way to prove it. Identity withheld at the client's request.

What was running
The domains

Commercial, product, organizational, regional

Four core business domains, each with its own decade-long history of tables, rules and exceptions.

The users

150+ people across three functions

Sales, engineering and operations, all depending daily on master data none of them could prove.

The promise

What master data actually promises.

Every organization's most important data exists to answer one question the same way, everywhere it's asked: what's actually true right now? That promise has seven concrete parts.

Pillar 01

Single source of truth

Exactly one authoritative version of any given record, not one version per system that happens to reference it.

Pillar 02

Data quality and validation

The system actively stops a record from becoming wrong, rather than storing whatever it is given.

Pillar 03

Hierarchy and relationship management

The whole shape of a hierarchy is visible and trustworthy, not just one record in isolation.

Pillar 04

Governance and access control

Who can edit this record has exactly one governed answer, not several that might disagree.

Pillar 05

Lineage and audit

Who changed a record, when, and what it looked like before, all visible. History, not assertion.

Pillar 06

Lifecycle protection

At financial close and regulatory reporting, the record is provably frozen, not merely unlikely to change.

Pillar 07

Distribution and integration

Other systems consume the source of truth rather than maintaining their own shadow copy.

Why all seven

A platform that keeps all seven is managing master data. A platform that keeps some of them is just a database with good intentions. Here's what the client had, pillar by pillar, and what we built instead.

Pillar 01 · Single source of truth

One authoritative version, not one per system.

There should be exactly one authoritative version of any given record, not one version per system that happens to reference it.

What we found

Four domains, each maintaining its own definition of "valid" for over a decade, with no shared foundation forcing agreement between them. Data wasn't necessarily wrong. It just had no mechanism guaranteeing it stayed right, or stayed the same, everywhere it was referenced.

What we built

A metadata-driven engine where every table's structure, constraints and relationships are defined once, as data, not once per screen, once per integration and once per report. Every part of the platform reads from that same definition, so a rule declared once is true everywhere it applies, by construction, rather than by hoping 130 separate implementations happen to agree.

Proof point
130+ tables now generated from, and governed by, a single shared foundation, not 130 independent builds that happen to look similar.
Pillar 02 · Data quality and validation

A record the platform stops from going wrong.

A record only deserves to be called master data if the system actively stops it from becoming wrong, not just stores whatever it's given.

What we found

The rule that keeps a hierarchy trustworthy, that a parent record can't be invalid while a valid child still depends on it, existed on the large majority of the platform's tables, implemented independently, by different people, more than a hundred times over a decade. A consistency rule enforced a hundred different ways isn't really guaranteeing consistency.

What we built

One shared validation engine enforcing that rule centrally, plus a no-code constraint builder covering the standard 90% of data-quality rules (format, mandatory fields, cross-references), and a single pluggable rule engine for the genuine exceptions: a code that must match its parent's prefix, a record type permitted exactly one active instance system-wide.

Proof point
100+ tables' worth of independently-coded validity logic replaced by one engine, tested once and trusted everywhere it applies.
Pillar 03 · Hierarchy and relationship management

Trust the shape, not just the record.

Master data is rarely flat. A product belongs to a category, a facility belongs to a region, a brand belongs to a customer, and the truth about a hierarchy means being able to see the whole shape of it, not just one record in isolation.

What we found

Product classifications, organizational structure and regional groupings were each built as separate, one-off navigation screens. A fix to how one hierarchy displayed data taught the platform nothing about the other four.

What we built

A single, reusable hierarchy-navigation component, built once against the shared foundation and parameterized per structure, so trusting the shape of one hierarchy means trusting the shape of all of them, built to the same standard.

Proof point
5 distinct hierarchical structures now run on one shared, consistently-behaving component.
Pillar 04 · Governance and access control

One governed answer to who can edit this.

A source of truth is only as trustworthy as the control over who's allowed to change it. "Who can edit this record" should have exactly one governed answer, not several that might disagree.

What we found

Fifteen-plus overlapping legacy access roles had accumulated over a decade, each answering a version of the same permission question slightly differently, to the point that auditing who actually had access to what required manual reconciliation.

What we built

A single role-based access model, enforced down to the individual table and column, with a defined path to consolidate roughly 150 legacy accounts down to around 40 by removing access tied to administration that had already moved elsewhere.

Proof point
Fifteen-plus overlapping legacy roles replaced by one governed model, with a clear, auditable answer for every table and column.
Pillar 05 · Lineage and audit

A record whose history you can actually see.

People trust a record because they can see how it got to its current state: who changed it, when, and what it looked like before. A source of truth without a visible history is just an assertion.

What we found

A decade of change history existed, but under a legacy structure complex enough that carrying it forward unmodified risked becoming its own maintenance burden.

What we built

Full historization of every insert, update and deletion, read-only even for administrators, to preserve audit integrity, migrated under a deliberately simplified structure agreed with the client specifically to keep every historical record intact without carrying forward legacy complexity that no longer served a purpose.

Proof point
A full decade of change history migrated and preserved, viewable at the table or individual record level, with zero write access even for admins.
Pillar 06 · Lifecycle protection

Provably frozen, not merely unlikely to change.

There are moments, financial close and regulatory reporting among them, where the record of truth has to be provably frozen, not just unlikely to change.

What we found

A monthly freeze protected certain tables from edits through the application's own screens. Sufficient, until administration of three tables moved to a separate system and a new integration was built to sync them, without anyone checking whether it respected the freeze.

What we built

Freeze state enforced at a single checkpoint every write must pass through, regardless of source, so the new integration inherited the same protection automatically, because it was built against that checkpoint from its first version rather than retrofitted onto it later.

Proof point
Freeze protection now verified against every way data can enter the system, not just the ones that existed when the rule was written.
Pillar 07 · Distribution and integration

Every consumer kept reading, unmodified.

The whole point of a single source of truth is that other systems consume it, rather than maintaining their own shadow copy. A master data platform that isolates its data has failed at the one job that matters most.

What we found

Downstream reporting tools, data pipelines and direct data consumers all depended on the existing platform's data. Any replacement that couldn't serve them identically would just create a second, competing version of the truth.

What we built

REST APIs, direct database access for reporting, and full compatibility with existing data-distribution pipelines, so every existing consumer of master data continued reading from the same authoritative source, unmodified, through the transition.

Proof point
Zero downstream integrations broken at cutover. The source of truth changed underneath them, and none of them noticed.
Outcomes

Pillar by pillar, what changed.

One row per promise. Four of the seven are the same shape, many independent implementations replaced by one, and a fifth replaced every consumer at risk with zero.

Single source of truth
4independently-governed domains
1unified, metadata-governed platform
Data quality and validation
100+one-off implementations of the same rule
1shared, centrally-enforced engine
Hierarchy management
5separately-built hierarchy screens
1shared, reusable navigation component
Governance and access
15+overlapping legacy roles
1governed model, roughly 150 accounts down to around 40
Lineage and audit
A decadeof history, complex to carry forward
Migratedfully, simplified and audit-complete
Lifecycle protection
Known pathsfreeze provable against those only
Every pathincluding ones that did not exist when the rule was written
Distribution and integration
At riskevery consumer, during replacement
0integrations broken at cutover
The reusable pattern

Seven promises, each of which has to be proved.

Master data management isn't a database. It's seven separate promises: one truth, enforced quality, trustworthy hierarchy, governed access, visible history, protected lifecycle and honest distribution. They only count as kept if you can prove each one, not just claim it.

The seven, in order
Single source of truth
Data quality and validation
Hierarchy and relationship management
Governance and access control
Lineage and audit
Lifecycle protection
Distribution and integration
Let us build

Could your systems prove their version of the truth?

If four teams can each show you a different number and none of them can show you why, the problem isn't the reporting. It's that nothing underneath is obliged to agree.