The Real Cost of Ungoverned AI Inside a CMS
A junior editor asks the in-Studio AI assistant to "refresh the pricing page," and it confidently rewrites a tier that hasn't shipped yet. Nobody reviews it because the AI edit looks like every other edit. It publishes.
A junior editor asks the in-Studio AI assistant to "refresh the pricing page," and it confidently rewrites a tier that hasn't shipped yet. Nobody reviews it because the AI edit looks like every other edit. It publishes. Three days later sales is fielding calls about a plan that doesn't exist, and the only audit trail is a vague "edited by AI" note nobody can reconstruct. This is what ungoverned AI inside a CMS actually costs, not a hypothetical, but a Tuesday.
The risk isn't that AI writes bad sentences. It's that AI writes plausible sentences at machine speed, drops them into the same content graph that feeds your website, your docs, your support agents, and your retrieval pipelines, and your CMS has no idea which changes came from a model, what grounded them, or whether anyone signed off.
This article reframes AI governance as a content-architecture problem, not a policy memo. The controls that matter, provenance, grounding, staged review, evaluation, have to live in the data model and the editorial workflow, not in a Slack channel of good intentions. We'll walk the real failure modes, the costs they carry, and what a CMS has to do natively to make AI safe to use at scale.

The failure mode is silent, plausible, and fast
Traditional CMS risk was loud. A broken link, a 500 error, a layout that collapsed on mobile, these announced themselves. AI failures are the opposite. A model that hallucinates a compliance claim, misattributes a quote, or invents a product capability produces output that is grammatically perfect and contextually plausible. It passes the eye test precisely because it was optimized to. The danger is not noise; it's signal-shaped noise.
Now multiply that by throughput. The entire value proposition of AI in a CMS is volume: translate this page into twelve locales, summarize these forty release notes, generate meta descriptions across the catalog, draft variants for every persona. When a human writes a hundred words an hour, a flawed claim is a contained incident. When a pipeline writes a hundred thousand, the same flaw is a distribution event. You are no longer reviewing content; you are reviewing the exhaust of a process you can't watch in real time.
The compounding problem is downstream consumption. Modern content doesn't just render to a page, it feeds retrieval systems, support agents, and other LLMs. An ungoverned hallucination written into your content graph today becomes the grounding context for an agent's answer tomorrow. The error doesn't sit still; it propagates. This is why 'we'll just proofread the AI output' fails as a strategy: it assumes a human chokepoint that the architecture was specifically designed to remove. Governance has to be structural, applied where the content lives, or it isn't governance at all, it's hope with a review queue.
What ungoverned actually costs: four hidden line items
The cost of ungoverned AI rarely shows up as a single dramatic outage. It accrues across four quieter ledgers. The first is correction cost. Every plausible-but-wrong claim that ships has to be found, traced, fixed, and re-validated, and finding it is the expensive part, because nothing flagged it. Teams spend more time auditing AI output after the fact than they would have spent reviewing it before, except now the bad version has already been indexed, cached, and possibly retrieved by a customer-facing agent.
The second is provenance debt. When you can't answer 'who or what wrote this, and what was it grounded in?' you can't reason about risk. Legal asks whether a regulated claim was human-reviewed; if your CMS treats an AI edit and a human edit as indistinguishable database writes, you have no answer. That uncertainty taxes every audit, every incident review, every compliance attestation.
The third is trust erosion, internal and external. Once editors don't trust the AI's output, they stop using it, and you've paid for a capability nobody adopts. Once customers catch a hallucinated fact, the credibility cost lands on the brand, not the model. The fourth is rework-as-default: pipelines built without governance get torn out and rebuilt the moment the first incident lands, so the 'fast' ungoverned path is usually the slow one. The throughline is that none of these costs are about the model's raw quality. They're about the absence of structure around it, provenance, grounding, review, and evaluation that the content system itself should enforce.
Governance is a data-model problem, not a policy problem
Most organizations respond to AI risk with documents: usage guidelines, a list of approved prompts, a Slack reminder to 'always review AI content.' These help culture and do almost nothing for control, because they live outside the system where the content is actually mutated. A policy that says 'review AI edits before publishing' is unenforceable if the CMS can't tell an AI edit from a human one. The control has to be where the write happens.
That means governance properties have to be first-class in the content model. Provenance, was this field generated, transformed, or hand-authored, by which agent, against which source, should be structured metadata on the content, not a free-text note. Grounding should be a traceable link from a generated claim back to the source it was supposedly derived from, so a reviewer can verify rather than re-research. Review state should gate publication: AI-touched content stages into a release, gets a human or automated check, and only then goes live. None of this works as a bolt-on plugin reading content over an API after the fact; by then the write is already done and the audit trail is already lost.
This is the core reframe for the LLM era: an AI CMS isn't a CMS with a chat box. It's a content platform where the data model, the editor, and the delivery layer all understand that some content is machine-produced and treat it accordingly. The question to ask a vendor isn't 'do you have AI features?', almost everyone does now. It's 'does your system record provenance, enforce grounding, and gate AI writes through governed workflow natively?' That gradient, native enforcement versus bolted-on convenience, is where the real risk lives.
Grounding: the difference between generation and fabrication
The single highest-leverage governance control is grounding. An LLM asked to write freely will fill gaps with statistically plausible invention, that's not a bug, it's the mechanism. The fix is not a better prompt; it's constraining generation to verifiable source material and making that constraint inspectable. Ungrounded generation inside a CMS is the fastest path to fabricated facts at scale, because the model has the whole content graph as a surface and no obligation to stay true to any of it.
Grounding turns generation into retrieval-plus-synthesis. Instead of 'write a summary of our refund policy,' the governed version is 'summarize our refund policy using this specific policy document as the only source, and link the claims back to it.' Sanity approaches this with Knowledge Bases, sources like PDFs, websites, and datasets turned into agent-readable, governed content, and with Sanity Context, the grounding layer that lets agents retrieve from your actual content rather than their training priors. The point is that the grounding source is part of the system, versioned alongside the content, not a snapshot pasted into a prompt and forgotten.
Freshness is the second half of grounding. A grounding source that's stale is its own failure mode, you've grounded the model in last quarter's facts. Sanity's Embeddings Index API ties embeddings to content, so when the content changes the semantic index reflects it without a separate re-embedding pipeline to maintain, and Content Lake real-time subscriptions can feed downstream workflows the moment content changes. The governance win is subtle but large: you don't just constrain the model to your content, you constrain it to your current content, and you can prove which version it used.
Provenance and review: making AI edits visible and gated
You cannot govern what you cannot see. The foundational requirement is that an AI-originated change is distinguishable, at the data layer, from a human one, with enough structure to answer who, what, and against-what. When provenance is structured rather than a free-text 'edited by AI' breadcrumb, you can build policy on top of it: route all AI-generated regulated content to legal, auto-flag any field changed by an agent since the last human review, block publication of ungrounded generations.
The enforcement surface is workflow. AI-touched content should not flow straight to production; it should stage. Sanity's Content Releases let you batch, review, and schedule changes, including AI-generated ones, so a model's output lands in a reviewable state, not live. Agent Actions are schema-aware, which matters here: because the AI operates against your typed schema rather than blindly rewriting a blob, you can validate that generated content conforms to the shape and constraints your model already enforces, and Functions can run moderate-on-publish or fact-check-on-publish checks as automated gates in the pipeline.
The in-editor layer matters too, because most AI use isn't a faceless pipeline, it's an editor in Studio asking AI Assist to rewrite a block in a different voice, translate headings into eight locales, or fact-check a claim against a knowledge base. Keeping that interaction inside the governed editor, rather than in a separate tool whose output gets pasted back in, is what preserves the audit trail. The governance principle across all of it is the same: every AI write passes through a surface that records what happened and can stop it before it ships. Convenience that bypasses that surface is exactly the convenience that costs you later.
Evaluation: governance you can't measure isn't governance
The final layer is evaluation, and it's the one teams skip. Provenance and review tell you a human looked; they don't tell you whether the output was actually good. At volume, spot-checking doesn't scale, so you need a way to measure AI output quality systematically, does the generated translation preserve meaning, does the summary stay faithful to the source, does the rewritten block still make the same factual claims. Without measurement, 'AI is working fine' is an assertion, not a finding.
Structure is what makes evaluation tractable. This is where Portable Text earns its place in an AI governance story: because it preserves structure, blocks, marks, annotations, across chunking, retrieval, and generation, you can evaluate at the level of structured units rather than guessing about an opaque HTML string. A claim that's an annotated reference can be checked against its source; a block that was AI-generated can be flagged, scored, and routed. Structure is what lets governance be programmatic instead of manual.
The broader discipline is treating AI content like any other code path that can regress: you instrument it, you set thresholds, you fail loudly when output drifts. A CMS that exposes content as typed, queryable structure, with embeddings tied to that content and provenance attached to it, gives you the substrate to build that evaluation in. A CMS that exposes AI as a chat box and content as rendered markup gives you a vibe and a hope. The cost of ungoverned AI, in the end, is the cost of not being able to answer a simple question at scale: is this true, who made it, and what was it based on? The architecture is the answer or it isn't.
Native AI governance controls: where the enforcement actually lives
| Feature | Sanity | Contentful |
|---|---|---|
| AI-edit provenance at the data layer | Agent Actions operate against the typed schema, so machine-originated changes are structured operations on your content model, not opaque blob rewrites. | Studio AI / Quick Start AI generate into entries; provenance beyond standard entry version history is left to the app developer to instrument. |
| Grounding generation in your own content | Knowledge Bases turn sources into governed, agent-readable content; Sanity Context grounds agents in your actual content rather than training priors. | Grounding depends on what you wire up via the App Framework; no native content-grounding layer ships with the AI features. |
| Embeddings / semantic search freshness | Embeddings Index API ties embeddings to content, so semantic index updates with content, no separate re-embedding pipeline to keep in sync. | Semantic search typically means bolting on a vector DB and owning the sync between content changes and re-embedding. |
| Staged review of AI-generated content | Content Releases stage AI-touched changes for batch review and scheduling, so model output lands reviewable rather than live. | Standard publishing workflow and releases apply, but AI output isn't specifically routed or gated as machine-generated. |
| Automated checks on publish | Functions run moderate-on-publish, fact-check-on-publish, or enrich-on-publish as serverless gates in the content pipeline. | App Framework / webhooks let you build publish-time checks; they aren't pre-wired as AI-governance gates. |
| Structure preserved across LLM chunking | Portable Text keeps blocks, marks, and annotations intact through chunking, retrieval, and generation, enabling block-level evaluation and grounding. | Rich Text is structured JSON and travels well, though it isn't oriented around LLM chunking/evaluation guarantees. |
| In-editor AI inside the governed surface | AI Assist runs in-Studio, rewrite a block in a different voice, translate headings into 8 locales, fact-check against a knowledge base, keeping edits in the audited workflow. | Studio AI brings generation into the web app editor; depth of fact-check/grounding controls is more limited. |