A brand with no single source of truth

After an acquisition, brand assets are copies with no upstream. Why every new consumer forks the state, and what a single source of truth looks like here.

Every engineering team knows what happens when the same value is defined in four places. Someone changes one of them, the other three carry on, and six months later nobody can say which is authoritative. So you extract it. One constant, one config, one source. Everything else references it.

Brands almost never get built that way. And the moment that costs the most is the one where a company acquires another.

I have spent the past weeks working through acquisition announcements and then inspecting the companies named in them. The failure mode is not aesthetic. It is architectural, and an engineer will recognise every stage of it.

The assets are copies, not references

Start with what actually exists after a deal closes.

An acquisition transfers shares, contracts, customer records, machines. Brand assets are rarely on the list. What moves across is whatever happened to sit on a server: a logo exported as a PNG at whatever size someone needed once, a few colour values living in a designer's head, a template in Word.

Those are copies. Every one of them was derived from something and then detached from it. There is no upstream to re-derive from, because the upstream never existed as a definable thing.

At one company the site was serving the WordPress theme's default logo files instead of its own. At another the logo was a PNG uploaded in 2016 with no vector anywhere. At a third there was no logo file at all; the header rendered a graphic banner with the name baked into the image.

None of these is a design failure. They are the predictable state of a system where the artefact was never separated from its instances.

Every new consumer forks the state

While a company operates alone, the brand has roughly five consumers, all of whom have worked there a decade. They know which file is correct because they were present when it was chosen. The knowledge is cached in people, and the cache is warm.

An acquisition adds consumers who have no cache. A marketing team at the parent. A sister company that links to you. A printer in another country. A packaging supplier. Each of them requests the same thing, receives whatever is available rather than whatever is correct, and proceeds.

From that point the version they received is in production. Nobody approves it and nobody rejects it, because there is no specification to validate against. Each new consumer forks the state and the forks never merge back.

Run that for two years across eight acquisitions and the number of authoritative versions is not one. It is however many people asked.

The undefined relationship is the actual bug

Underneath the asset problem sits a structural one: the relationship between the parent and the acquired entity is never defined.

Does the acquired company keep its own name or fold into the group? Does the group name appear on the packaging beside the product brand, or only on the invoice? Does each entity get its own expression within one system, or does everything stay as it was?

Leave that undefined and it does not stay undefined. Every supplier resolves it locally, using whatever default they carry. The printer resolves it one way, the web developer another, the packaging designer a third. You do not get an unanswered question. You get four incompatible answers, all in production, none flagged.

I looked at one house of brands where the brand overview linked three products through to a parent brand that did not appear in the overview at all, and one logo returned an error. That is not carelessness. That is what an undefined relationship looks like once it has been resolved independently by enough parties.

Adding people does not fix a missing specification

The company above was hiring for this. One content creator, asked to write, design, film, edit, run the calendar, coordinate external photographers, and safeguard a consistent identity and tone across every channel.

Of everything on that list, only the last one cannot be done without a tool. Safeguarding without a written specification means judging by instinct on every instance, with nothing to appeal to when an external party disagrees. It is code review with no style guide and no linter: possible in principle, unenforceable in practice, and the reviewer burns out first.

The same listing asked for someone who would use AI to accelerate the content process. Acceleration without a standard does not reduce drift. It increases throughput on a pipeline that has no validation step.

What a source of truth actually looks like here

The fix is the same one you would apply to any system with duplicated state: define the thing once, machine-readable, and have everything else reference it.

Concretely, that means the logo defined as a construction rather than an export. Every anchor point, every proportion, every line weight derived from fixed ratios, so any supplier at any scale reproduces the same result rather than approximating a raster. Colour fixed exactly across HEX, RGB, CMYK and Pantone, and shipped as design tokens a developer imports instead of retyping. Spacing and type scale on a fixed grid rather than per-page decisions.

Then all of it published at one address every consumer can reach. A new supplier gets a URL, not an onboarding call. When a value changes at the source, everything referencing it changes with it.

That is the difference between fifteen sites and one codebase carrying fifteen configurations. The second one holds. The first one drifts, and it drifts silently, because nothing is wrong enough anywhere to trigger a fix.

Why the timing matters

The cost of defining this rises with every consumer added. Immediately after a transaction there are few of them and there is a reason to act. Three years later there are dozens, each running a forked version, and consolidating them is no longer a specification exercise. It is a migration.

None of the cost shows up on an invoice, which is why it survives. It shows up as twenty minutes lost every time someone has to ask which file is correct, distributed across people who never log it. And it shows up at the next transaction, when a buyer looks at the group and can tell within seconds whether they are seeing one system or a collection of independent parts. That judgement lands before the numbers do.

Growth by acquisition is arithmetic. A brand is not additive. If the intention is to hold ten, the relationship has to be defined at two.

Now and then I write here about the engineering behind brand architecture. Leave your email to receive new pieces.

Back to Knowledge