INV—W/CITE · CASE · 2026 NO SENTENCE WITHOUT A SOURCE · FIG. 01
Invental/ Works/ Biopharma Advisory Site
Life-sciences Content governance — Confidential engagement · biopharma advisory

Every sentence, sourced.

A boutique advisory in a sector where wording is a liability asked a fair question: where did this text come from, and who controls what changes? We answered it with a mechanism instead of a promise — a site whose build fails if a single published sentence cannot prove where it came from.

Confidential · under NDA
Marketing site · content governance · CMS handover
Provenance system · Claims gate · CMS · SEO · Contact pipeline
Web · multi-locale · client-owned CMS
Life sciences / biopharma advisory
Invental · Case Confidential · under NDA Every sentence,
sourced.
[ M · 01 ]
98
Lighthouse performance on the live build — with 100 for accessibility and best practices
[ M · 02 ]
100%
Publishable strings carrying a source citation, verified against the document at build time
[ M · 03 ]
8
Numeric claims held behind an approval gate until the client signs each one off
[ M · 04 ]
0
Animated blocks — the motion budget was deliberately spent down to zero

§ 01Context

The client is a small, senior advisory practice serving specialty biopharma — the kind of firm whose entire product is judgement, and whose credibility lives or dies on precision of language. They were running a thin single-page site built on a drag-and-drop builder. It said very little, and what it did say could not be traced to anything. They wanted a real site: multi-page, multi-locale-ready, and owned by them rather than rented from an agency.

§ 02Challenge

Mid-project the client raised the objection that reframed the whole build. Reviewing a draft, they asked where the added text had come from and how changes to the site were controlled. It was the right question. In a regulated-adjacent sector, a confident sentence nobody can source is not marketing polish — it is exposure. And the usual agency answers (“we will be careful”, a copy deck in a shared drive) are promises, not controls. They decay the moment anyone edits anything.

Worse, the obvious fix and the client's other requirement pulled in opposite directions. They also wanted to edit their own site without calling us. A CMS lets a client change any sentence at will — which is exactly what a provenance guarantee forbids.

Where did this text come from, and how are changes to it controlled? The only honest answer to that is a mechanism, not an assurance.— The question that set the architecture

§ 03Architecture

We made provenance a property of the content model rather than a process around it, then made the build responsible for enforcing it:

Because a later client brief rewrote individual sentences inside otherwise-unchanged paragraphs, the model also supports per-fragment citations: one sentence can carry several sources, each verified independently.

Subsystem · 01 Typed content model

Provenance is a required field on every record, with per-fragment citations when one sentence draws on several sources.

TypeScriptContent recordsFragment citations
Subsystem · 02 Build-time provenance gate

Walks the import graph from every route and fails the build unless the copy actually matches the line it cites.

Pre-build hookImport graphClaim matching
Subsystem · 03 Claims approval gate

Every published figure routed through a pending/approved switch, with the site held noindex until sign-off.

Status gateNoindex holdGo-live checklist
Subsystem · 04 CMS handover

A hosted CMS writing straight to the repo, with CI that re-stamps provenance on client edits and re-runs the gate.

Keystatic CloudGitHub ActionsSchema guard

A sentence cited a real line in a real document, and the words were still ours. The build passed. That is when the gate stopped asking whether a citation exists and started asking whether the claim does.

— Why the check was rewritten

§ 04Handover

Giving the client the keys without dismantling the guarantee was the second half of the job:

§ 05Result

  1. A site that can prove itself. Every published sentence resolves to a client document and line, checked on every build rather than in a review meeting.
  2. Claims under the client's control. Eight figures gated on explicit sign-off, with search indexing held back until they clear.
  3. A handover that holds. The client edits their own copy through a hosted CMS, and the guarantee survives the edit.
  4. Shipped, then audited. Thirteen routes live, the renamed service URL redirecting in a single hop, social cards unique across every page, and the whole build re-checked against the client's brief at close — including the two points where we flagged a conflict rather than silently resolving it. On the live build it measures 100 for accessibility and best practices, 98 for performance, and no layout shift at all.

— Publishing something you will have to stand behind? Start a conversation.

— More work View all case studies ↗
Real-time odds platform
Real-time Odds Platform
2026Sports-tech / ML
Real-time odds, live scores & AI predictions
Pet-nutrition platform
Pet-nutrition platform
2026Data / Shopify
Ingredient-intelligence platform & widget
Network-analytics app
Network-Analytics App
2026Desktop / Local-first
Native macOS network-analytics app

Copy you have to stand behind? Let's make it provable.

We build sites for teams whose words carry weight — regulated, technical or advisory — where traceability, approval and client ownership matter as much as the design. Thirty minutes on a call is usually enough to see if we're a fit.

Book an intro call