Celebrating 25 years of DDD's Excellence and Social Impact.

Artificial Intelligence

Annotate Legal Documents

How to Annotate Legal Documents for AI: Entity Extraction, Clause Tagging, and Contract Intelligence

Udit Khanna

Legal document annotation is the labeling work that turns contracts, filings, and legal correspondence into training and evaluation data for AI: identifying the parties, dates, and obligations in a document (entity extraction), classifying which type of clause a given passage is (clause tagging), and structuring the result so a downstream system can answer questions about risk, obligations, and non-standard terms (contract intelligence). 

This blog covers what legal document annotation actually involves: entity extraction and why it is harder than the general-domain version, clause tagging and the taxonomy question, contract intelligence as the layer built on top of both, and the annotator expertise and quality discipline the work requires. Text annotation services and model evaluation services are the two capabilities most directly involved.

Key Takeaways

  • Legal annotation is a different task, not a harder version of a familiar one. Contracts nest exceptions inside exceptions, define terms far from where they are used, and encode meaning in cross-references a generic extractor has no way to resolve.
  • Entity extraction in contracts means extracting relationships, not just names. Who owes what to whom, under what conditions, is the actual unit of value, and it depends on connecting entities across clauses rather than tagging them in isolation.
  • Clause tagging requires a taxonomy before it can use annotators. CUAD’s 41 categories are a proven reference point, not a universal answer, and building a taxonomy from your actual document set and use case is the step most programs skip.
  • Contract intelligence is a third layer, not a byproduct of the first two. Extracting entities and tagging clauses does not, by itself, flag that a clause is unusual, missing, or riskier than the standard version, which is the judgment most legal AI use cases actually need.
  • Annotator background is not a nice-to-have here. Distinguishing standard boilerplate from a negotiated deviation, or catching a defined term used inconsistently across fifty pages, requires legal training, and skipping it produces labels that look complete and are quietly wrong.

Entity Extraction: Relationships, Not Just Names

General-domain entity extraction identifies people, organizations, dates, and amounts as isolated spans of text. Contracts need more than that, because the value of a contract entity is almost always relational: not just that a party and a date exist, but that this party owes this obligation to that party by this date, contingent on a condition defined two sections earlier. An indemnification clause naming both parties is not useful as two tagged entities. It is useful as a structured relationship: who indemnifies whom, for what categories of loss, subject to what caps and exclusions, and how that interacts with the liability clause elsewhere in the document that sets a cap the indemnification clause may or may not be subject to.

This relational requirement is why contract entity extraction schemas typically define entity types that are already relationships in miniature: obligations (party, action, trigger, deadline), rights (party, entitlement, condition), and defined terms (term, definition, first use location, all subsequent uses). Annotating these accurately requires reading the clause in the context of the document’s other clauses, not scanning it in isolation, which is the core reason this work moves slower and needs more expertise than general entity tagging.

One structural detail worth making explicit: the labeled corpus this work produces typically splits into a training set that fine-tunes the extraction model and a held-out evaluation set that measures it, and that split has to happen at the contract level, not the clause level. Splitting by clause lets related clauses from the same agreement land on both sides of the divide, which quietly leaks the very cross-references and defined-term relationships the model is supposed to be learning to resolve on its own.

Clause Tagging and the Taxonomy Question

What CUAD’s Taxonomy Gets Right

CUAD’s 41 categories (termination rights, change of control, exclusivity, non-compete, cap on liability, governing law, and others) work as a taxonomy because they were built by lawyers around the questions lawyers actually ask when reviewing a contract for a transaction, not around clause types that are easy to distinguish computationally. That distinction matters: a taxonomy built for annotation convenience tends to group clauses that look similar on the page but carry different legal weight, while a taxonomy built around review questions groups clauses by what a reviewer needs to know, even when the underlying language varies widely.

Why Your Taxonomy Still Needs to Be Your Own

CUAD’s categories are a strong reference point and a poor default. A procurement contract review program and an M&A due diligence program need different category sets because they’re answering different questions, and forcing a general-purpose taxonomy onto a specific use case produces categories that are either too coarse to be useful or too fine to label consistently. Building the taxonomy is a joint exercise between the people who will use the extracted data and the annotation team, run before large-scale labeling starts, with the CUAD categories as a starting vocabulary rather than a fixed spec.

Boilerplate Versus Negotiated Language

A clause tagging schema that only identifies clause type misses a distinction that often matters more: whether a given clause is standard boilerplate or a negotiated deviation from it. The same clause type (limitation of liability, indemnification, termination) can be market-standard in one contract and materially unusual in another, and the unusual version is typically the one worth a reviewer’s attention. Mature annotation programs tag both the clause type and this boilerplate-versus-negotiated status against a defined baseline, which requires annotators who know what standard actually looks like for the relevant contract category.

Contract Intelligence: The Layer Built on Top

Entity extraction and clause tagging produce structured facts about a document. Contract intelligence is the further judgment layer: flagging a clause as unusually favorable or unfavorable relative to market standards, identifying a clause category that’s conspicuously absent from a contract where it would normally appear, detecting inconsistent use of a defined term across a long document, and surfacing cross-references that do not resolve to what they claim to reference. None of this falls out automatically from accurate entity and clause labels. It requires a further annotation pass, explicitly designed around the judgments the downstream use case needs, with its own guidelines and its own calibration process, because these are comparative and risk judgments rather than straightforward classification.

Missing-clause detection deserves particular attention because it inverts the usual annotation task: instead of labeling what’s present, annotators confirm what should be present given the contract type and is not, which requires a reference model of what a complete contract of that category normally contains. This is exactly the kind of judgment that separates legal-trained annotators from general-domain ones, and exactly the kind of value a contract review system cannot deliver without it.

Why Annotator Expertise and Quality Discipline Matter Here Specifically

The failure modes in legal annotation are quiet rather than obvious. An annotator without a legal background can tag a clause as a standard limitation of liability provision while missing a carve-out buried in a subordinate clause that removes the cap for exactly the category of loss most likely to occur, producing a label that is technically about the right clause and substantively wrong about what it means.

Here is what that looks like on the page. Consider a limitation of liability clause reading, in illustrative form: “In no event shall either party’s aggregate liability exceed the fees paid in the preceding twelve months.” Read alone, that is a standard, easy-to-tag cap. A subordinate clause two pages later adds: “The foregoing limitation shall not apply to claims arising from a party’s gross negligence, willful misconduct, or breach of the confidentiality obligations in Section 9.” An annotator without legal training tags the cap clause correctly and never connects it to the carve-out, because the two clauses share no vocabulary and sit pages apart. The label is accurate about the sentence and wrong about what the contract actually does: the cap does not apply to the loss category most likely to occur in a data-handling dispute, which is precisely the scenario a downstream risk flag needs to catch.

Calibration for this work follows the same discipline as other subjective annotation: written guidelines with worked examples, measured inter-annotator agreement, adjudication for disagreements. The measurement itself needs to fit the label type: categorical clause tags calibrate well against Cohen’s kappa, while taxonomies with more than two annotators or with intentionally missing labels typically call for Krippendorff’s alpha instead, since it was built to handle both cases and Cohen’s kappa was not. But the guideline authors and the annotators both need legal training for the worked examples to actually capture the judgment calls that matter. In our experience, the highest-value single intervention in a legal annotation program is not more QA volume; it is pairing annotation guidelines with a lawyer who reviews disputed calls, because the disputes are almost always exactly the substantive judgment calls a generic QA process would wave through.

Confidentiality and Privilege: The Question Legal Buyers Should Ask First

Everything above assumes executed agreements leaving your document management system and reaching an annotation team, and for a legal buyer, that assumption should never pass without scrutiny. Contracts carry confidential commercial terms, personal data, and in some cases, material connected to legal advice, so the annotation program has to be designed around confidentiality from the first document transferred, not retrofitted after a security questionnaire.

Four controls belong in any legal annotation engagement. First, contractual protections: a vendor NDA and data processing agreement that cover every individual with document access, not just the entity, with confidentiality obligations that survive the engagement. Second, minimization before transfer: documents should be scoped to what the taxonomy actually needs, with names, personal data, and commercially sensitive figures redacted or pseudonymized where the annotation task does not require them; a clause tagging program rarely needs real counterparty names to teach a model what an exclusivity clause looks like. Third, environment controls: annotation should happen in secure facilities with access-controlled workstations, no local storage or removal of documents, role-based access limited to the assigned team, and full audit logs of who touched which document. Fourth, independently audited security: certifications such as SOC 2 Type 2 and ISO 27001, and GDPR compliance where personal data of EU individuals is involved, are the baseline evidence that the controls exist in practice rather than on paper.

Privilege deserves its own sentence of caution. Whether sharing specific material with a third-party vendor could affect privilege or work-product protection depends on the material, the jurisdiction, and how the engagement is structured, and that assessment belongs with your own counsel before any transfer. The practical pattern that keeps programs safe is simple: annotation corpora are built from executed commercial agreements and templates, not from advice, litigation material, or attorney communications, and anything in the gray zone stays out of scope until counsel clears it. For material that cannot leave a controlled perimeter at all, on-premises or client-environment annotation, where the team works inside your infrastructure under your access controls, is the established alternative to shipping documents out. For government-connected or export-controlled material, an all-US citizen workforce option operating under US-based delivery adds a further layer.

How Digital Divide Data Can Help

Whether a legal AI program builds this capability internally or with a partner, the same components decide the outcome: a taxonomy built for the actual use case, annotators with the legal background to make the judgment calls correctly, and a calibration process built around disputed cases rather than volume. Producing those is the work we do.

The taxonomy and extraction layer: text annotation teams build entity extraction and clause tagging schemas around your actual contract categories and review questions, with CUAD-style taxonomies as a starting reference rather than a fixed answer.

The judgment layer: model evaluation services build and maintain the held-out evaluation sets and adjudication process that keep boilerplate-versus-negotiated calls and missing-clause detection consistent across annotators and across time.

If your program can show its taxonomy, its annotator qualification standard, and its adjudication process for disputed clause calls, this capability exists. If it cannot, that is the starting point. Talk to an expert.

Conclusion

Legal document annotation looks, from a distance, like a specialized instance of text labeling. Up close, it is a different discipline: entities that only mean something as relationships, clause taxonomies that have to be built around review questions rather than borrowed wholesale, and a contract intelligence layer that requires annotators to make the same comparative judgments a lawyer makes when something looks off. CUAD proved this is buildable, at real cost and with real expertise, and it remains the clearest evidence of what the work actually requires: not faster labeling, but the right people doing it.

The test for any legal AI program is direct: when your system flags a clause as unusual or misses one that a lawyer would have caught, can you trace that back to a taxonomy decision or an annotator’s judgment call you can inspect? If the answer is no, the system’s risk flags are guesses with a confidence score.

References

Hendrycks, D., Burns, C., Chen, A., & Ball, S. (2021). CUAD: An expert-annotated NLP dataset for legal contract review. In Proceedings of NeurIPS 2021 Datasets and Benchmarks Track. https://arxiv.org/abs/2103.06268

Frequently Asked Questions

Q1. Can we just fine-tune a general-purpose LLM on our contracts without a formal annotation program?

You can generate a demo that looks promising and a production system that quietly misses the clauses that matter, and the gap between those two often is not visible until a missed carve-out or an unflagged deviation causes a real problem. A general-purpose model can identify contract structure reasonably well out of the box (headings, parties, obvious dates) because that pattern is common in its pretraining data. It has no reliable way to know your organization’s definition of a market-standard liability cap or which clause categories your review process actually cares about, because those are use-case-specific judgments that live in a taxonomy and in annotator expertise, not in general language patterns. The annotation program is what encodes those judgments into something the model can learn from.

Q2. How large does a legal annotation taxonomy need to be? CUAD has 41 categories.

Sized to your review questions, not to CUAD’s count. CUAD’s 41 categories reflect the breadth of a general M&A due diligence review; a program focused on vendor procurement contracts or on a single risk category (data processing terms, for instance) needs a fraction of that, built deep rather than wide. The design test is whether each category maps to a specific action a reviewer takes when they see it: escalate, approve, or flag for negotiation. Categories that do not change what happens next are taxonomy overhead, not signal, regardless of how legally distinct they are in the abstract.

Q3. What inter-annotator agreement should we expect on legal clause tagging, and is it lower than general text tasks?

Expect it to vary sharply by category, more than most general text tasks, because some legal distinctions are genuinely more contestable than others, even among experienced lawyers. Clear categorical questions (is a governing law clause present) typically calibrate to high agreement on a straightforward Cohen’s kappa. Comparative judgments (is this indemnification clause market-standard or a negotiated deviation) calibrate lower, not because annotators are being careless but because reasonable lawyers can disagree at the margin. The useful response is not to force artificial consensus on the comparative categories; it’s to measure agreement per category, expect and plan for lower agreement on judgment-heavy ones, and route genuine disputes to adjudication by someone with the authority to make the call rather than averaging disagreement away.

Q4. Our contracts span multiple jurisdictions. Does that change the annotation approach?

Significantly, it’s a common place where programs underestimate the work. A clause that’s boilerplate in one jurisdiction’s market standard can be unusual, or even unenforceable, in another, which means “market-standard” as a label needs a jurisdiction dimension, not just a clause-type dimension. The practical approach is to define standard-language baselines per jurisdiction where legal practice materially differs, and to make sure annotator qualification covers the relevant jurisdictions rather than assuming legal training in one jurisdiction transfers cleanly to judgments about another. Skipping this produces a system that confidently flags jurisdiction-standard clauses as unusual, or worse, misses genuinely unusual ones because the baseline it learned came from the wrong jurisdiction.

Q5. How do we validate that our contract intelligence system’s risk flags are actually accurate, not just plausible-sounding?

Build a held-out evaluation set where the ground truth was determined by lawyers reviewing the same contracts independently, then measure the system’s flags against that set the same way you’d measure any classifier: precision on what it flags, recall on what a lawyer would have flagged that it missed. The recall side is the one programs skip most often, because it requires a lawyer to review contracts the system judged clean and confirm nothing was missed, which is more expensive than checking the system’s own flags, but it’s the only way to catch a system that looks accurate because it flags real issues while silently missing others. Refresh this evaluation set periodically as contract templates and market standards evolve, since a baseline of what’s “standard” has a shelf life.

How to Annotate Legal Documents for AI: Entity Extraction, Clause Tagging, and Contract Intelligence Read Post »

AI Data budget

How to Set a Realistic AI Data Budget: What Programs Actually Spend vs. What They Plan

Kevin Sahotsky

There’s a specific moment in AI program planning where budgets go wrong, and it isn’t the estimate. It’s the line items. The plan has a model line, a compute line, an integration line, and maybe a tooling line. Then, six months in, the actual spend starts accumulating in categories the plan never named: annotation that senior engineers were quietly doing themselves, a second pass of labeling after the guidelines changed, an evaluation set that had to be built from scratch because nobody budgeted one, and rework on a dataset that looked cheap until the quality numbers came back.

This isn’t a niche problem. In its March 2025 forecast, Gartner put worldwide GenAI spending at 644 billion dollars for 2025, an increase of 76.4 percent from 2024. Its July 2024 press release put GenAI deployment costs at $5 million to $20 million, depending on the approach, and named escalating costs among the top reasons projects are abandoned after proof of concept, right after poor data quality. Its 2026 follow-up found the outcome was worse: at least half were abandoned. Gartner’s guidance on GenAI total cost of ownership is blunt about the pattern: total costs often exceed initial expectations because of hidden items like compliance reviews, model retraining, and internal overheads. Data operations are embedded in almost every one of those hidden items.

This blog is about closing the gap between the budget you plan and the budget you’ll actually spend. It covers the line items programs consistently omit, the cost drivers that actually move data spend, a construction method that works backward from model requirements instead of forward from a per-label price, and the trade you should make when the number comes back too high.

Key Takeaways

  • Budgets fail by omission, not underestimation. The model and compute lines are usually close; the categories that blow up plans are the ones that never appeared: ongoing annotation, rework, evaluation sets, edge case collection, and guideline development.
  • Data work is an operating cost wearing a project cost’s clothes. Programs budget data as a one-time acquisition and then discover that retraining, drift response, and production feedback all consume labeled data continuously.
  • The pilot hides the real number. Pilot-phase data costs are invisibly subsidized by senior staff doing annotation themselves at a scale where that’s possible, which makes the production estimate look inflated when it’s actually the first honest number.
  • Per-label price is the least informative number in the budget. Cost per accepted, quality-verified label, including rework and QA, is the number that predicts what you’ll spend; the cheapest per-label quote is frequently the most expensive dataset.
  • When the budget is fixed, cut volume before quality. Volume can be added back cleanly when budget returns; a degraded quality tier and a missing evaluation set cannot be cheaply repaired.

Where Planned and Actual Budgets Diverge

The Lines Programs Plan

A typical AI program budget names the visible categories: model development or licensing, compute and inference, integration engineering, tooling, and sometimes an initial dataset purchase or annotation project. These estimates are usually defensible. Teams benchmark compute, vendors, quote integration, and the initial dataset gets a per-label quote that looks precise.

The Lines Programs Discover

The actual spend accumulates elsewhere. Guideline development and calibration: the unglamorous work of turning model requirements into instructions annotators can apply consistently, including the pilot rounds where inter-annotator agreement gets measured and the guidelines get revised. Rework: the second and third passes that follow every guideline change, every edge case discovery, and every QA finding, in a program where the first pass was priced as if it were the only pass. 

Evaluation sets: the human-verified gold data that quality measurement and drift monitoring depend on, which almost no first budget contains because it doesn’t feel like training data. Edge case collection: the deliberate sourcing of the rare cases production will surface, which is a data program of its own. And the production loop: the continuous annotation of production failures that separates improving systems from stalling ones. Across the program budgets I’ve reviewed, it’s common for these unnamed categories to end up rivaling the initial dataset line itself, not because any one of them is large but because all of them recur.

The whole argument fits in two columns:

Lines programs plan Lines programs discover
Model development or licensing Guideline development and calibration rounds
Compute and inference Rework passes after guideline and edge case changes
Integration engineering Evaluation set construction and maintenance
Tooling and platforms Deliberate edge case collection
Initial dataset (one-time, per-label quote) The production loop: continuous annotation of production failures, drift response, refresh cycles

The left column is priced in every plan. The right column is where the overruns live, and every item in it recurs.

The Five Drivers That Actually Move Data Spend

Task ambiguity is the first driver, and the least priced-in. Labeling a stop sign and grading the helpfulness of a model response are both ‘annotation,’ but the second requires judgment, calibration, and adjudication of disagreements. All of that is time. The more ambiguous the task, the more the real cost sits in guideline quality and calibration rather than in the labeling itself.

Quality tier is the second. The QA design that supports a demo differs from one that supports a regulated deployment: sampling rates, review tiers, agreement thresholds, and documentation all scale with the consequence of being wrong. Budgeting quality as a percentage bolt-on misses that quality is a design choice with its own cost curve.

Domain expertise is the third. Generalist annotation and specialist annotation, clinicians, lawyers, robotics-literate reviewers, occupy different labor markets. If the task needs the specialist, the budget either pays for it or pays more later in rework.

Volume dynamics are the fourth. Data needs don’t arrive flat. They spike at retraining, at expansion into new domains, and after every drift event. A budget built on average monthly volume will be wrong in both directions: idle capacity in quiet months, missed deadlines in spikes. What you’re actually buying is capacity with a ramp profile, and it should be priced that way.

Change is the fifth, and the most reliably omitted. Guidelines evolve as the model and the product evolve. Every material guideline change ripples into re-annotation of affected data. Programs that budget zero for change are implicitly assuming the first guidelines will never need revision.

A Construction Method That Produces a Defensible Number

Start from the model requirements, not the label price. What does the model need to learn, at what quality, refreshed how often? That converts into annotation volume with a quality tier and a cadence. Price the unit honestly: cost per accepted label, meaning the all-in figure that includes QA, adjudication, and expected rework, not the raw per-label quote. Then split the budget into build and run. The build phase covers the initial corpus, guideline development, calibration, and the evaluation set. The run phase covers the ongoing loop: production sampling, edge case annotation, drift response, and refresh cycles. In my experience, teams that present data as build-plus-run get their budgets approved more often than teams that present a single dataset number, because finance recognizes the shape: it looks like an operating capability, which is what it is.

Two sanity checks before the number goes in the deck. First, the evaluation set has its own line, because unbudgeted quality measurement rarely gets built. Second, rework carries an explicit allowance; a first-pass-only budget is a bet that your first guidelines are your final guidelines, and nobody has ever won that bet.

When the Number Comes Back Too High

The wrong response is to shop the per-label price down until the number fits, because the quote that undercuts the market is usually recovering its margin from your rework budget. The right response is to descope volume while protecting quality: a smaller, well-covered, quality-verified dataset with a real evaluation set beats a large degraded one, and it leaves a foundation that scales cleanly when more budget arrives. Descope the corpus, keep the QA design, keep the eval set, keep the calibration. Those are the parts you can’t cheaply add back later.

How Digital Divide Data Can Help

The build-and-run anatomy above is exactly what we construct with clients, so here’s how it maps to a real engagement.

A quote you can put in a budget deck. After seeing your data, we price against your quality tier and task ambiguity with QA and expected rework, factoring them into the number, whether the scope is sourcing and curating new datasets or preparing and labeling the data you already hold. Cost per accepted label is the figure you plan on.

The lines plans forget, delivered as line items. Guideline development, calibration rounds, and the evaluation sets we build and maintain for quality and drift measurement, each explicitly scoped and priced rather than surfacing as overruns.

Run-phase capacity with a ramp profile. Throughput commitments that flex with retraining cycles and drift response, with the pipelines that route production data back into annotation and training built alongside, so the loop is a budgeted operation rather than a surprise.

If you’re building next year’s AI budget now, a scoping conversation before the number is locked costs nothing and tends to save the change orders. Talk to an expert.

Conclusion

The gap between planned and actual AI data spend isn’t an estimation error. It’s a categories error: the plan prices the visible dataset and omits the operating loop that production actually runs on. The fix is structural, not heroic. Name the hidden lines, price the accepted label rather than the raw one, split build from run, protect the evaluation set, carry a rework allowance, and when the total is too high, cut volume before quality.

Here’s the one-line test for your current plan: does the data budget survive contact with the second version of your annotation guidelines? If a guideline revision would blow the number, the number was never realistic. It was just early.

References

Gartner. (2025, March 31). Gartner forecasts worldwide GenAI spending to reach $644 billion in 2025. https://www.gartner.com/en/newsroom/press-releases/2025-03-31-gartner-forecasts-worldwide-genai-spending-to-reach-644-billion-in-2025

Gartner. (2024, July 29). Gartner predicts 30% of generative AI projects will be abandoned after proof of concept by end of 2025. https://www.gartner.com/en/newsroom/press-releases/2024-07-29-gartner-predicts-30-percent-of-generative-ai-projects-will-be-abandoned-after-proof-of-concept-by-end-of-2025

Gartner. (n.d.). Enterprise guide to generative AI: Expert insights on ROI, use cases, and cost management. Accessed August 2026. https://www.gartner.com/en/topics/generative-ai

Gartner. (2026). Why half of GenAI projects fail: Avoid these 5 common mistakes. https://www.gartner.com/en/articles/genai-project-failure

Frequently Asked Questions

Q1. What does annotation actually cost per label? Give me a number.

Any number quoted before seeing your task is a marketing number, and that’s the honest answer. The same ‘label’ spans an order of magnitude of cost depending on task ambiguity, quality tier, domain expertise, and rework expectations, which is why the useful question is different: what is the cost per accepted label at my quality bar, all-in? Get that figure quoted against a sample of your real data with your real guidelines, including QA and an explicit rework assumption. Two vendors quoting the same raw per-label price can differ materially on that all-in figure, and the all-in figure is the one your budget will actually experience.

Q2. Should AI data be budgeted as a project cost or an operating cost?

Both, explicitly split. The build phase, the initial corpus, guideline development, calibration, and the first evaluation set, behave like a project cost with an end date. The run phase, production sampling, edge case annotation, drift response, refresh cycles, and evaluation set maintenance, is an operating cost that persists as long as the model serves traffic. Programs that budget only the build phase rediscover the run phase as overruns; programs that present both get cleaner approvals because the structure matches how finance already thinks about capabilities versus purchases.

Q3. How do I justify budget for evaluation sets when they don’t train the model?

Frame them as the instrumentation, because that’s what they are. Without a maintained, human-verified evaluation set, the program cannot measure production quality, cannot detect drift before the business metric moves, and cannot prove that any retraining actually improved anything, which means every other dollar in the budget is spent unmeasured. The evaluation set is typically a small fraction of total data spend, and it is the fraction that makes the rest auditable. If a stakeholder wants it cut, the counter-question is direct: which of our quality claims are we comfortable making without evidence?

Q4. Our pilot data costs were low. Why is the production quote so much higher?

Because the pilot number wasn’t a cost, it was a subsidy. Pilot data is typically hand-assembled and hand-labeled by senior engineers and data scientists whose time was charged to salaries rather than to the data line, at a volume where that’s feasible. Production removes the subsidy: volume exceeds what senior staff can absorb, quality needs formal QA rather than familiarity, and edge cases need deliberate sourcing. The production quote is not inflated; the pilot cost was artificially low. The useful comparison is the production quote against the fully loaded cost of your engineers doing the same work, which is a comparison the quote usually wins.

Q5. The budget is fixed, and the data estimate exceeds it. What do we cut?

Cut volume, protect structure. Reduce the corpus size and narrow the initial domain coverage, but keep the quality tier, the calibration process, the evaluation set, and the rework allowance intact. A smaller dataset at verified quality produces a better model and a truthful measurement of it, and it scales cleanly when budget returns. The tempting alternative, keeping the volume and dropping the quality tier or the eval set, produces a larger dataset you can’t trust and a model you can’t measure. Repairing both later reliably costs more than the savings.

How to Set a Realistic AI Data Budget: What Programs Actually Spend vs. What They Plan Read Post »

shutterstock 2646262423

Why AI Pilots Fail to Scale: How to Design a Pilot That Proves the Operation, Not Just the Model

Kevin Sahotsky

Here’s the pattern I see over and over: a team runs an AI pilot, the demo impresses everyone, leadership approves the production budget, and six months later the project is quietly stalled. Nobody can point to a single thing that broke. The model is the same model that aced the pilot. The use case hasn’t changed. And yet the thing that worked in the conference room doesn’t work in the business.

Our teams run LLM output validation for several of the leading model builders and deliver 3D and 4D annotation for some of the largest autonomy and mapping programs in the world. The pattern below comes from that vantage point, watching pilots succeed and stall across many programs rather than one.

Gartner found that at least half of GenAI projects were abandoned after proof of concept by the end of 2025, with poor data quality listed first among the causes. IDC, in research with Lenovo, put the conversion problem more starkly: for every 33 proofs of concept a company launched, only four reached production. The exact rate varies by study and by how each one defines success. The pattern does not. Most pilots do not become production systems, and the reasons are consistent enough to design around.

The convenient explanation is that the technology was overhyped. The more useful explanation, in most of the failures I have seen up close, is that the pilot ran on a dataset, and production needs a data operation. Those are different things, and teams consistently budget for the first and not the second.

That is a diagnosis rather than a plan, and it points somewhere more actionable than it first appears. The pilot is not the problem. Pilot design is the variable. A pilot built to answer one question, can this work, tells you very little about whether the operation behind it can hold. A pilot built to answer both questions costs marginally more and changes the production decision entirely. This article breaks down the six operational gaps between proof-of-concept and production, and for each one, what a pilot can do to answer it before the production budget is written.

Key Takeaways

  • Gartner’s first-listed cause of post-PoC abandonment is poor data quality. MIT’s research points to flawed enterprise integration and tools that do not learn from workflows, rather than model quality. Neither is a model problem, and neither is discovered by a pilot designed only to demonstrate a model.
  • A pilot runs on a dataset. Production runs on a data operation. The dataset is a static artifact that was hand-curated once. The data operation is a continuous pipeline with QA, edge case handling, drift monitoring, and throughput commitments. Teams that budget for the first and not the second stall at exactly the moment scaling begins.
  • The six gaps are predictable: data volume, quality assurance at scale, edge case coverage, drift monitoring, annotation throughput, and production feedback loops. They are invisible in a typical pilot because the pilot’s conditions were designed to avoid them. They are not invisible in a well-designed one, and that difference is a choice made at scoping.
  • The pilot dataset was clean because someone cleaned it. The most common silent assumption in pilot planning is that production data will look like pilot data. It will not, and the gap between hand-curated pilot data and messy production data is the single most common technical cause of the performance drop teams see at rollout.
  • The fix is to make the data operation a pilot deliverable rather than a post-approval detail. In practice, that means closing the feedback loop once at pilot scale, writing annotation guidelines someone outside the team could follow, and building a real evaluation set before the production decision, rather than describing all three in a plan.

A Pilot Answers One Question. Production Asks Two.

A pilot is an argument. Its job is to demonstrate that a use case is viable, and everything about how pilots get built reflects that job. The data is hand-selected and hand-cleaned. The edge cases are excluded, deliberately or by the natural bias of choosing examples that showcase the capability. The evaluation is run once, on a held-out set that came from the same distribution as the training data. The whole exercise is optimized to answer one question: can this work?

Production answers a different question: does this keep working, on data nobody curated, at a volume nobody hand-checks, under conditions that shift over time? That’s not a bigger version of the pilot question. It’s a different question with different infrastructure requirements, and the infrastructure it requires is a data operation. When teams describe a pilot that ‘worked’ and a production rollout that ‘didn’t,’ what almost always changed between the two isn’t the model. It’s that the protective conditions of the pilot were removed, and nothing was built to replace them.

The useful conclusion is not that pilots mislead. It is that a pilot answering only the first question is being asked to support a decision it was never designed to inform. A pilot can answer both. Doing so requires deciding at the scoping stage that the operation is part of what gets proven, and the six gaps below are where that decision gets made.

The Six Gaps Between Proof-of-Concept and Production

Gap 1: Data Volume

A pilot typically runs on hundreds to a few thousand carefully selected examples. Production consumes orders of magnitude more, continuously. The gap isn’t just quantity. It’s that pilot-scale data can be assembled by a couple of engineers over a few weeks, while production-scale data requires sourcing, licensing, or collection, processing, and validation as an ongoing function. One anonymized example from a program I followed closely: the pilot dataset was scoped and assembled in roughly three engineer-weeks. 

When the same team scoped the production data requirement for the identical use case, the estimate came back at seven months of elapsed time and a recurring annual data budget larger than the entire pilot had cost, and that line item had appeared nowhere in the approved production plan. The numbers are illustrative of the pattern, not a universal ratio, but the order-of-magnitude jump is what teams consistently fail to anticipate.

What can a pilot do about it? Produce the sourcing plan as a pilot deliverable. Where does production volume come from, what does it cost per unit at scale, and what is the lead time to first delivery? This is a document rather than an infrastructure build, and it costs days. Its absence is what turns the production budget conversation into a surprise.

Gap 2: Quality Assurance at Scale

In the pilot, quality assurance was someone looking at the data. That works at pilot volume and fails at production volume, where nobody can look at everything and the question becomes statistical: what sampling rate, what error tolerance, what escalation path when quality drops. A production QA design specifies review tiers calibrated to risk, measures inter-annotator agreement continuously rather than once, and treats a quality drop as an operational alert rather than a discovery made weeks later. None of this exists in a typical pilot, because at pilot scale it isn’t needed.

The instinct when quality is inconsistent is to add another review layer. That is usually the wrong fix. Across the pilots we have worked on, the strongest predictor of whether quality holds at production scale is not how much QC gets stacked on top. It is how many rounds the guidelines went through before the pilot started: deliberate sprints where annotators surface the questions the instructions did not answer, and the instructions get rewritten until the questions stop coming. Adding QA volume to a vague guideline does not fix the guideline. It just catches the same disagreement later, and at a higher cost.

What can a pilot do about it? Label a subset twice, with two different annotators, and measure the agreement. That single number tells you whether the guidelines are specific enough to survive being handed to someone else, and it is the input the production QA design is built from. A pilot with one annotator cannot produce it, which is why so few pilots do. A low number is not primarily a call for more reviewers. It is a call for another guideline iteration.

Gap 3: Edge Case Coverage

Pilot datasets systematically exclude edge cases, and the exclusion is usually invisible because it happened at selection time. The pilot examples were the clear ones. Production traffic includes the ambiguous document formats, the rare-but-costly failure modes, and the inputs from user populations the pilot data never sampled. A model that performed well on the pilot set can drop sharply in production, not because it degraded but because production finally showed it the cases the pilot never did. Closing this gap requires deliberate edge case collection and annotation, which is a data program in its own right, not something a model update can substitute for.

What can a pilot do about it? Deliberately include a hard subset. Set aside part of the pilot budget for cases chosen because they are difficult rather than because they are representative, and report performance on that subset separately. The headline accuracy number will look worse. The production forecast will be far more accurate, and the distance between the two numbers is the best available estimate of the edge case gap.

Gap 4: Drift Monitoring

The pilot was evaluated once, at a single point in time, against data from a single period. Production data shifts: user behavior changes, upstream systems get updated, document formats evolve, seasonal patterns cycle through. Without drift monitoring, the first sign of distribution shift is a business metric declining weeks after the shift began. A production data operation instruments the input distribution and model performance continuously, defines thresholds that trigger investigation, and maintains the labeled evaluation sets that make performance measurement possible on an ongoing basis. The evaluation sets are the part teams most often skip, and without them, drift monitoring is just guessing with dashboards.

What can a pilot do about it? Build the evaluation set. Not the monitoring infrastructure, which can wait, but the labeled, documented, representative set that all future measurement runs against. It is the cheapest item on this list to produce during a pilot and the most expensive to reconstruct afterward, because by then the data has already shifted and there is no clean baseline to shift from.

Gap 5: Annotation Throughput

The pilot’s labels were produced by whoever was available, often the data scientists themselves. That approach has no throughput. Production systems that depend on labeled data for retraining, for evaluation, and for edge case incorporation need annotation capacity with defined turnaround, consistent guidelines, and quality that doesn’t degrade when volume spikes. This is the gap that surprises teams most, because annotation looked free during the pilot. It wasn’t free. It was invisibly subsidized by senior staff doing it themselves at a scale where that was possible.

The subsidy is the visible half of the problem. The invisible half is that a pilot labeled by one person who already understands the data produces nothing transferable. The guidelines live in that person’s head; the handling time reflects someone working with full context on clean inputs, and there is no agreement baseline because there was only one annotator. The production question is not whether anyone bought capacity. It is whether the pilot produced anything that capacity could be built from.

What can a pilot do about it? Have someone outside the core team label a sample against written guidelines, and measure how long it takes them. That number, rather than the data scientist’s number, is the one production planning should use.

Gap 6: Production Feedback Loops

The highest-performing production AI systems improve after deployment because they capture production failures, route them through annotation, and feed them back into training and evaluation. That loop is what MIT’s research identifies as the core differentiator: the pilots that stall are the ones built on tools that cannot retain feedback or improve over time. The loop doesn’t build itself. It requires the pipeline infrastructure to capture production cases, the annotation capacity to label them, and the evaluation discipline to verify that each retraining actually improved the metric that matters. Every piece of that is data operations.

The loop does not have to wait for production. Running it once during the pilot is the single most informative thing a pilot can do, and it is cheap at pilot volume. Capture the cases the model got wrong, label them, retrain, and measure whether the metric moved. A pilot that has closed the loop once has demonstrated the production mechanism rather than just the model, and that is a far better predictor of what happens after launch than any accuracy number. A pilot that has never closed it is asking production to take the most important part on faith.

Why Teams Miss This at Budgeting Time

The pilot budget bought a model and a demo. The production budget typically bought compute, integration engineering, and licenses, and assumed the data would take care of itself because during the pilot it seemed to. That assumption is the single most expensive line item nobody writes down.

The reason it survives budgeting is that data operations don’t map to a familiar cost category. Model development looks like R&D. Integration looks like engineering. Data operations look like, depending on who’s reading the budget, either a rounding error or someone else’s job. The programs that scale treat it as what it is: the operational core of a production AI system, scoped and staffed with the same seriousness as the model work. The place to establish that is the pilot, because the pilot is what the production budget gets built from.

What DDD Brings as a Pilot Partner

Clients arrive at a pilot from very different starting points. Some show up with fully developed annotation guidelines and an RFP that already answers most of the six gaps above; our job there is mostly validation and stress-testing against hard cases. Others are using the pilot itself to figure out what “good” looks like for their use case, and the guidelines get written as the pilot runs. We see both regularly, and we don’t force either one into the other’s process. A partner who insists on the same rigid workflow regardless of which starting point they’re facing is optimizing for their own delivery convenience, not the client’s actual problem.

That range is exactly why we try to be advisory, not just executional. Clients don’t always know what they don’t know. It’s just what happens when you’ve only run your own program. Working across many clients, datasets, and scenarios inside the same domain means we see patterns no single client sees from inside their own pilot: a labeling ambiguity two other programs already fought through, an edge case category a client’s own guidelines never anticipated. When we spot one of those gaps, we raise it before the client asks, rather than annotating exactly what was specified and letting the gap surface in production instead.

The limit of that advice is worth stating plainly: no two clients are the same, even inside the same industry. Hand two competing autonomy programs the identical driving scenario, and the guidelines we hand back shouldn’t match, because the models behind them are different: different sensor stacks, different failure tolerances, different edge cases they’re already weak on. What sharpens one client’s model can measurably degrade another’s, even when the raw footage looks identical on screen. So we don’t template. Advice earned on one program gets reapplied to the next, never copied over.

In practice, three things carry most of that weight. We build the evaluation set first, because it’s the cheapest thing to produce during a pilot and the most expensive to reconstruct once the data has moved on. We close the feedback loop once during the pilot, so the production mechanism is proven before the budget gets written, not assumed. And we put a real number behind annotation and sourcing, measured on people who didn’t build the model, so production planning isn’t working from a subsidized estimate. Everything else in the six gaps above builds on those three.

If your pilot hasn’t answered these questions yet, that’s the conversation worth having before the production budget gets written. Talk to an expert.

Conclusion

The pilot-to-production failure rate is not a verdict on AI. It is a verdict on how programs get scoped. The programs that stall and the programs that scale are mostly running comparable models. What separates them is the data operation: production-scale sourcing, QA that holds at volume, deliberate edge case coverage, drift monitoring against maintained evaluation sets, annotation throughput, and a feedback loop that turns production failures into training signal.

None of that is glamorous, which is exactly why it gets skipped, and skipping it is why the demo that impressed everyone becomes the project nobody mentions. The encouraging part is that none of it has to wait for production. Every one of the six can be partly answered during the pilot, at pilot cost, by a team that decided at scoping to answer it. So here is the one-question test, and it applies before the pilot starts rather than after it ends: does this pilot prove the model, or does it prove the operation? If it only proves the model, it will be asked to support a decision it cannot inform. If it proves both, the production budget writes itself.

References

Challapally, A., Pease, C., Raskar, R., & Chari, P. (2025). The GenAI divide: State of AI in business 2025 (preliminary findings). MIT Project NANDA. https://nanda.media.mit.edu/ai_report_2025.pdf

Gartner. (2026). Why half of GenAI projects fail: Avoid these 5 common mistakes. https://www.gartner.com/en/articles/genai-project-failure

IDC and Lenovo. (2025). Cited in CIO, 88% of AI pilots fail to reach production. https://www.cio.com/article/3850763/88-of-ai-pilots-fail-to-reach-production-but-thats-not-all-on-it.html

Frequently Asked Questions

Q1. Our pilot hit 94 percent accuracy. Doesn’t that prove the model is production-ready?

It proves the model is pilot-ready. The 94 percent was measured on data drawn from the same curated distribution the model was trained on, with edge cases excluded at selection time and quality assured by hand. Production traffic comes from a broader, messier, shifting distribution that the pilot never sampled. The accuracy number that matters is the one measured on representative production data, including the ambiguous and rare cases, and most pilots have never produced that number because the evaluation set to measure it doesn’t exist yet. Building that evaluation set is one of the first deliverables of a production data operation. It is also far cheaper to build that evaluation set during the pilot than to reconstruct it afterward.

Q2. We can’t afford to build a full data operation before we’ve proven ROI. Isn’t that backwards?

You don’t need the full operation before the pilot. You need the operation scoped during the pilot, so the production budget reflects reality and the conversion plan exists before approval. The failure pattern isn’t teams that piloted cheaply. It’s teams that piloted cheaply, got approval based on pilot economics, and then discovered the production data requirements after the budget was locked. A one-page data operations plan produced alongside the pilot, covering volume sources, QA design, annotation capacity, and evaluation set maintenance, costs almost nothing and is the single highest-leverage document in the conversion decision.

Q3. Can’t we automate the QA and annotation instead of building ongoing capacity?

Partially, and the successful programs do. Automated QA handles the high-confidence majority; the design question is what happens to the rest. Automated checks can’t adjudicate ambiguous cases, can’t label novel edge cases the model has never seen, and can’t produce the human-verified evaluation sets that drift monitoring depends on. The realistic architecture is confidence-tiered: automation processes what it can validate, and human capacity handles flagged cases, edge case annotation, and evaluation set maintenance. Programs that plan for zero human annotation capacity in production are planning for silent quality decay.

Q4. How do we know if our stalled project has a data operations problem versus a genuine use case problem?

Run the six-gap diagnostic in order. If the model performed well on pilot data and degraded on production data, that’s gaps one through three: volume, QA, or edge case coverage. If it performed well at launch and declined over months, that’s gap four, drift. If improvements have stopped shipping because labeling is the bottleneck, that’s gap five. If production failures are observed but never make it back into training, that’s gap six. A genuine use case problem looks different: the model underperformed even on the curated pilot data, or the business metric was never sensitive to the model’s output in the first place. In my experience, the use case problem is the rarer diagnosis, because weak use cases usually die in the pilot, not after it.

Q5. We are about to start a pilot. What should we do differently?

Five things, none of which meaningfully change the pilot’s cost or timeline. Write the annotation guidelines down in enough detail that someone outside the team could follow them. Have one of those outside people label a sample, and use their handling time rather than your data scientist’s. Label a subset twice and record the agreement rate. Set aside a deliberately hard subset and report its accuracy separately from the headline number. And close the feedback loop once: capture the failures, label them, retrain, and check whether the metric moved. A pilot that does those five things produces a production forecast instead of a demo, and the conversion decision stops being a leap of faith.

Q6. What should the first 90 days of closing the gap look like for a stalled program?

First month: build the representative evaluation set. Sample real production traffic, including the ugly cases, annotate it to a documented guideline, and measure actual production performance against it. This replaces the pilot number with a real number and usually identifies which gaps dominate. Second month: stand up the QA and annotation capacity for the highest-impact gap the evaluation revealed, typically edge case coverage or quality assurance design. Third month: instrument the feedback loop, capturing production failures into an annotation queue and defining the retraining cadence. Ninety days don’t finish the data operation, but they convert the program from stalled to instrumented, and instrumented programs can show progress, which is what keeps production budgets alive.

Why AI Pilots Fail to Scale: How to Design a Pilot That Proves the Operation, Not Just the Model Read Post »

AI Governance Frameworks

AI Governance Frameworks: What Boards and C-Suites Need to Own About Data Decisions

Kevin Sahotsky

Here’s a pattern I’ve started seeing in boardrooms: the board asks management whether the company has an AI policy, management says yes, everyone moves to the next agenda item, and the actual decisions that create AI liability keep getting made three levels down, by default, by whoever happens to be assembling training data that week. The policy exists. The governance doesn’t.

A quick word on my vantage point: I lead go-to-market and strategic partnerships at Digital Divide Data, and the change I’ve noticed across this market over the past two years is who shows up to our conversations. It used to be data science leaders. 

Increasingly, the people in those conversations carry legal, risk, and audit responsibility, sometimes one person wearing all three hats, and the questions they bring reflect board priorities trickling down into the programs we work on. The numbers explain why that pressure is only now reaching the working level: in Deloitte’s Global Boardroom Program survey, 45 percent of directors and executives said AI wasn’t on the board agenda at all, and 79 percent said their boards had limited, minimal, or no knowledge or experience with AI. The 2025 follow-up showed the agenda gap narrowing to 31 percent, which means the priorities are starting to cascade, but they’re cascading from boards that mostly can’t yet interrogate the topic.

Here’s the thesis of this piece: when boards do engage with AI, they tend to govern the models and the use cases, because that’s where the demos are. But the least governed liability lives in the data decisions. The board oversight trackers make the point almost by accident: EY’s review of Fortune 100 disclosures and NACD’s annual board survey measure AI committee assignments, agenda time, and risk factor disclosure in detail, and neither contains a category for training data provenance or the data supply chain at all. Gartner’s analysis of why GenAI projects get abandoned after proof of concept lists poor data quality first among the causes, ahead of risk controls and cost, and the EU AI Act writes data governance obligations directly into law for high-risk systems. 

Failures against those obligations carry fines of up to 15 million euros or 3 percent of worldwide annual turnover under Article 99; the Act’s outer ceiling of 35 million euros or 7 percent is reserved for prohibited practices such as social scoring. This blog lays out the five data decisions that belong at the board and C-suite level, what owning them actually looks like in practice, and how the major frameworks map onto them.

Key Takeaways

  • The governance gap is a data gap. Boards that engage with AI tend to govern models and use cases; the liability concentrates in data decisions about provenance, rights, quality, and regulated content, which are currently being made by default at the engineering level.
  • Five data decisions belong at the top: what data the company may train on, what data may never enter AI systems, who owns the quality metric, what flows through the vendor chain, and what evidence trail exists when a regulator or plaintiff asks.
  • Owning a decision means owning its evidence. A board that cannot see data provenance, quality metrics, and vendor attestations in its reporting pack has delegated the decision whether it intended to or not.
  • The frameworks agree more than they differ. The NIST AI Risk Management Framework, the EU AI Act, and ISO/IEC 42001 all converge on the same requirement: documented, accountable, auditable data decisions with named owners.

Why Data Decisions Are Where the Liability Lives

Think about what actually goes wrong in the AI failures that reach boards. A model trained on data the company didn’t have rights to use invites litigation that no deployment safeguard can cure. A model trained on data that underrepresents a customer population produces discriminatory outcomes that no post-hoc filter reliably catches. Customer data that entered a training set without the right consent basis creates a privacy violation that is close to irreversible, because you can’t cleanly subtract one person’s data from a trained model. In each case, the harm was locked in at the data decision, months before anyone saw an output.

The pattern is no longer hypothetical. The largest AI legal outcome to date is a training data case: the $1.5 billion copyright settlement between Anthropic and a class of book authors, granted final approval in July 2026, turned entirely on an upstream sourcing decision. The court found that training on lawfully acquired books was transformative fair use; assembling a corpus from pirate libraries was not. The US Federal Trade Commission has drawn the same line from the enforcement side, repeatedly ordering companies to delete not only improperly obtained data but the models trained on it. A provenance failure doesn’t just risk a fine. It can require destruction of the asset.

That’s why the regulatory architecture targets data directly. Article 10 of the EU AI Act requires that training, validation, and testing datasets for high-risk systems be subject to documented governance practices. Those practices cover design choices, data collection, preparation, and examination for possible biases. The commercial failure data points in the same direction. 

Gartner predicted in mid-2024 that at least 30 percent of GenAI projects would be abandoned after proof of concept by the end of 2025, listing poor data quality first among the causes. Its 2026 follow-up analysis reported the outcome was worse: at least half were abandoned after proof of concept. The legal exposure and the business-case failure share a root, and it isn’t the model.

The Five Data Decisions Boards and C-Suites Must Own

Decision 1: What Data the Company May Train On

This is the provenance and rights decision, and it’s the one with the longest liability tail. Every training dataset has a chain of custody: where it came from, under what license or consent, with what restrictions. A board doesn’t need to review datasets. It needs to know that a policy exists specifying which sourcing categories are approved (licensed, first-party with consent, commissioned collection, public domain) and which require escalation, and that someone is accountable for the provenance record on every model the company ships. In my experience, when I ask executive teams who signed off on the sourcing of their flagship model’s training data, the most common honest answer is that nobody did. It was assembled, not approved.

Decision 2: What Data May Never Enter AI Systems

The inverse decision matters as much: the categories of data that are off-limits for training, fine-tuning, or prompting regardless of business case. Health information governed by HIPAA (the US Health Insurance Portability and Accountability Act), personal data without a lawful basis under GDPR (the EU’s General Data Protection Regulation), material non-public information, privileged legal content, and customer data whose contracts exclude AI use. This boundary has to be set centrally and enforced technically, because the alternative is that it gets set implicitly by whoever is under the most delivery pressure. The test of whether this decision is owned: can management state the prohibited categories from memory, and can they show the control that enforces them?

Ownership here now extends past prevention into remediation. When prohibited data is discovered in a system after the fact, regulators have ordered deletion of the models built on it, and recent settlements have required destruction of the underlying datasets. The policy should say in advance what happens on discovery, because unwinding a trained model is expensive at best and impossible at worst.

Decision 3: Who Owns the Data Quality Metric

Data quality is the strongest single predictor of AI program failure in the published analyses, and yet in most organizations it has no executive owner: model accuracy has an owner, uptime has an owner, and the quality of the data feeding both is everyone’s job and therefore no one’s. Owning this decision means naming an accountable executive, defining the metrics (coverage, label accuracy, representativeness, freshness), and putting them in a reporting cadence that reaches the C-suite before models retrain, not after outcomes degrade. Boards should ask to see the data quality dashboard with the same expectation they’d bring to financial controls: not because directors will read every number, but because the existence and ownership of the number is the governance.

Decision 4: What Flows Through the Vendor Chain

Most enterprise AI is built on a data supply chain: annotation partners, data licensors, model providers, cloud platforms. Your compliance perimeter includes all of them. A vendor’s sourcing practices, security posture, and workforce model become your exposure the moment their output enters your training pipeline. The governance requirement is flow-down. That means contractual provenance warranties; security certifications verified rather than assumed, including ISO 27001, SOC 2, and sector-specific regimes where relevant; audit rights; and clarity about where your data physically goes and who touches it. The board-level question is simple: do we hold the same evidence about our data vendors that our customers would demand from us?

Decision 5: What Evidence Exists When Someone Asks

The last decision is about the audit trail, and it’s the one regulation has made explicit. When a regulator, plaintiff, enterprise customer, or acquirer asks how a model was trained, the answer has to exist as documentation: dataset composition, sourcing records, quality measurements, bias examinations, and the decision log of who approved what. Under the EU AI Act, this documentation is an obligation for high-risk systems; in litigation and M&A diligence, it’s rapidly becoming the default expectation for everyone else. The uncomfortable property of evidence is that it can’t be created retroactively with any credibility. The board either mandated the trail before the model shipped, or it explains the gap afterward.

What Owning These Decisions Looks Like in Practice

Ownership isn’t the board making data decisions. It’s the board ensuring the decisions have named owners, defined escalation paths, and evidence that reaches the top. In practice, that means four structures. A charter amendment placing AI data governance explicitly with a committee, typically audit or risk, so it stops being homeless on the agenda. A decision-rights matrix specifying who may approve new training data sources, who may approve exceptions to prohibited categories, and what requires escalation to the C-suite or board. A reporting pack that includes data provenance status, quality metrics, and vendor attestation status alongside the financial and cyber metrics directors already see. And a management-level review gate, so that no model ships without its data documentation complete, the same way no financial statement ships without its controls executed.

The frameworks give this structure a shared vocabulary. The NIST AI Risk Management Framework organizes it as Govern, Map, Measure, and Manage functions, with data provenance and quality sitting across all four. The EU AI Act converts the same substance into legal obligation for high-risk systems. ISO/IEC 42001, the international management-system standard for AI, packages it as an auditable management system that certification bodies can assess. A board doesn’t need to pick a winner. A practical sequence: adopt NIST as the internal organizing structure, map it to the AI Act obligations that apply to your systems, and treat ISO/IEC 42001 certification as an option when customers start asking for third-party assurance.

How Digital Divide Data Can Help

Frameworks assign the accountability; the evidence still has to be produced. Whether that layer gets built internally or with a partner, it needs to contain the same four things, and producing them is the work we do.

Provenance a regulator can read: training data with documented sourcing, licensing, and consent records, so the answer to ‘where did this data come from’ is a file rather than a reconstruction. This is what data collection and curation programs deliver.

Quality metrics an audit committee can read: measured, sampled QA with accuracy and representativeness reported continuously, the artifact Decision 3 requires an owner to produce. That reporting discipline is built into AI data preparation.

Bias examinations and evaluation evidence on a cadence: maintained, labeled evaluation sets and subgroup analyses, which is what Article 10’s examination requirement and your own board pack both draw on. Model evaluation services keep that evidence current.

And a supply chain you can flow requirements down: ISO 27001 and SOC 2 Type 2 certifications, GDPR-aligned data handling and support for HIPAA-regulated workflows where applicable, audit support, and clear answers on data residency and access, so Decision 4 holds beyond your own walls. 

If your next board pack has an AI section and it contains use cases and spend but no data provenance, quality, or vendor evidence, that’s the gap this piece is describing. Talk to an expert.

Conclusion

AI governance is arriving in boardrooms as a technology topic, and the boards that handle it well will be the ones that recognize it as a data topic, because that is where the least governed liability lives. The models will keep changing quarterly. The five decisions won’t: what we may train on, what may never enter, who owns quality, what flows through vendors, and what evidence exists when someone asks. Those decisions are being made in your organization right now, with or without governance, and the only question is whether they’re being made by the people who’ll answer for them.

The practical starting point costs one agenda item: ask management to bring the current answers to the five decisions to the next meeting, in writing, with names attached. In my experience, the value of that exercise isn’t the document. It’s the two or three blanks that nobody can fill in, because those blanks are your actual AI risk register. Delaware’s oversight doctrine gives the exercise legal weight: directors who make no good faith effort to implement reporting systems for mission-critical risks can face personal exposure, and governance counsel have begun applying that standard to AI data decisions. The blanks aren’t just a risk register. They’re the start of a defense, or the absence of one.

References

Deloitte Global Boardroom Program. (2024). Governance of AI: A critical imperative for today’s boards. https://www.deloitte.com/nz/en/services/consulting/analysis/governance-of-ai.html

Deloitte Global Boardroom Program. (2025). Progress on AI in the boardroom, but room to accelerate. https://www.deloitte.com/global/en/issues/trust/progress-on-ai-in-the-boardroom-but-room-to-accelerate.html

European Union. (2024). Regulation (EU) 2024/1689 (Artificial Intelligence Act). Official Journal of the European Union. https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689

National Institute of Standards and Technology. (2023). AI Risk Management Framework. https://www.nist.gov/itl/ai-risk-management-framework

Gartner. (2024, July 29). Gartner predicts 30% of generative AI projects will be abandoned after proof of concept by end of 2025. https://www.gartner.com/en/newsroom/press-releases/2024-07-29-gartner-predicts-30-percent-of-generative-ai-projects-will-be-abandoned-after-proof-of-concept-by-end-of-2025

Gartner. (2026). Why half of GenAI projects fail: Avoid these 5 common mistakes. https://www.gartner.com/en/articles/genai-project-failure

EY Center for Board Matters. (2025). Cyber and AI oversight disclosures in 2025. https://www.ey.com/en_us/board-matters/cyber-disclosure-trends

National Association of Corporate Directors. (2025). 2025 Public Company Board Practices and Oversight Survey. https://www.nacdonline.org/all-governance/governance-resources/governance-surveys/surveys-benchmarking/2025-public-company-board-practices–oversight-survey/

The Authors Guild. (2026, July 21). Court grants final approval of $1.5 billion Anthropic copyright settlement. https://authorsguild.org/news/court-grants-final-approval-anthropic-copyright-settlement/

Mintz. (2024, January 23). Algorithmic disgorgement: An increasingly important part of the FTC’s remedial arsenal. https://www.mintz.com/insights-center/viewpoints/54731/2024-01-23-algorithmic-disgorgement-increasingly-important-part

Frequently Asked Questions

Q1. Our board isn’t technical. How can directors credibly own decisions about training data?

The same way they own financial controls without being accountants. The board’s job isn’t to evaluate datasets; it’s to verify that the decisions have named owners, documented policies, and evidence in the reporting pack. Every one of the five decisions reduces to questions a non-technical director can ask and evaluate: who approved this data source, what categories are prohibited and what enforces them, whose name is on the quality metric, what attestations do we hold from vendors, and where is the documentation. Deloitte’s finding that 79 percent of boards report limited or no AI knowledge is a case for structured questions and expert briefings, not a case for delegation by default.

Q2. We already have privacy, security, and compliance functions. Isn’t this covered?

Partially, and the gaps between the functions are exactly where AI data risk lives. Privacy governs personal data but typically has no view into whether a licensed dataset’s terms permit model training. Security governs access but not whether the data being accessed is representative or rights-cleared. Compliance tracks regulations but often maps AI obligations to no existing control owner. The five decisions are cross-functional by nature, which is why they escalate: someone with authority over all three functions has to assign the ownership, and that’s a C-suite and board-level act. A useful diagnostic is to ask each function who owns training data provenance; if you get three different answers or three referrals, it’s unowned.

Q3. Which framework should we adopt: NIST AI RMF, ISO/IEC 42001, or the EU AI Act?

They’re not competitors, and the practical answer is a sequence rather than a selection. The EU AI Act isn’t optional if your systems fall in its scope; it’s law, and its data governance article defines obligations, not suggestions. The NIST AI Risk Management Framework is voluntary and works well as the internal organizing structure because it’s function-based and framework-agnostic. ISO/IEC 42001 matters when you need third-party assurance, because it’s the one a certification body can audit against, and enterprise customers are beginning to ask for it in procurement the way they ask for ISO 27001 today. The pattern most organizations land on: NIST for structure, the AI Act for legal floor, and 42001 certification when the market demands the certificate.

Q4. What should actually appear in the board reporting pack for AI data governance?

Five artifacts, one per decision, each fitting on a page. A provenance summary: models in production, data sources per model, approval status, and any sources under remediation. A prohibited-data attestation: the categories, the enforcing controls, and any exceptions granted with their approvers. The quality dashboard: the owned metrics with trend lines and threshold breaches. A vendor status table: data supply chain partners, certifications verified, attestations current or expired. And a documentation readiness indicator: which production models have complete data documentation and which have gaps. The pack’s purpose isn’t detail; it’s that a director can see in five pages whether the five decisions are owned and evidenced, and can ask about anything red.

Q5. We don’t operate in Europe. Does the EU AI Act really matter to us?

Quite possibly, and the determination belongs with counsel rather than a blog, but two facts are worth knowing before that conversation. The Act’s reach extends beyond companies established in the EU: providers placing systems on the EU market and situations where system outputs are used in the EU can fall in scope regardless of where the company sits. And even for companies genuinely outside its reach, the Act is functioning as the reference standard: enterprise customers, investors, and other regulators are borrowing its categories and its documentation expectations, which means its data governance requirements describe the evidence sophisticated counterparties will ask for irrespective of jurisdiction. Building the documentation trail only for the markets that legally require it usually costs more than building it once.

AI Governance Frameworks: What Boards and C-Suites Need to Own About Data Decisions Read Post »

Audit an AI Model for Bias

How to Audit an AI Model for Bias: A Practical Data-Level Checklist

Kevin Sahotsky

Bias in AI models is overwhelmingly a data problem before it is a model problem. The patterns a model learns, the groups it overrepresents or underrepresents, and the shortcuts it takes when making predictions. Almost all of these trace back to characteristics of the data the model was trained on. This is particularly relevant for AI program leads, product managers overseeing model deployments, and compliance teams working in regulated industries where demonstrating fairness is not optional.

This blog walks through a practical data-level checklist for auditing an AI model for bias, covering where bias enters, what to measure, and what the remediation options actually look like. Trust and safety solutions and model evaluation services are the two capabilities most directly involved in identifying and addressing data-level bias before it reaches production.

Key Takeaways

  • Bias in AI models originates in training data far more often than in model architecture. Auditing the architecture without auditing the data misses the root cause.
  • There are three stages where bias enters: data collection, data labeling, and data curation. Each stage requires its own audit approach and cannot be substituted by checks at the other stages.
  • Representation gaps are the most common and most overlooked source of bias. A model trained on data that systematically underrepresents certain groups will produce worse outputs for those groups even when no individual annotation is wrong.
  • Fairness metrics measure different things and can contradict each other. Choosing which metric to optimize requires an explicit decision about what kind of fairness matters for the deployment context.

Where Bias Actually Comes From

Stage 1: Data Collection

The first place bias enters is at collection. If the data collected to train a model does not represent the full range of people, contexts, and conditions the model will encounter at deployment, the model will systematically underperform on the cases that were underrepresented in training. This is not a labeling problem. The labels can all be correct, and the model will still produce biased outputs because it has seen too few examples of certain groups or conditions to learn to handle them well.

Collection bias is the hardest to fix after the fact because it requires going back and collecting more data from the underrepresented cases, which is expensive and time-consuming. The audit question at this stage is simple but easy to defer: does the distribution of the training data match the distribution of the deployment population? Data collection and curation services that audit demographic and contextual coverage before collection ends are far cheaper than auditing after a biased model has reached production.

Stage 2: Data Labeling

The second entry point is labeling. Human annotators apply labels to training data, and those labels reflect the annotators’ own frames of reference, cultural contexts, and implicit associations. An annotator who consistently associates certain names with certain characteristics, or who applies sentiment labels differently across different dialects or writing styles, introduces label-level bias that the model will learn directly. Because label bias looks like signal rather than noise from the model’s perspective, it is often harder to detect than representation gaps.

The audit approach at this stage is inter-annotator agreement disaggregated by subgroup. If annotators agree consistently on majority-group examples but diverge significantly on minority-group examples, the annotation process is introducing differential error rates that the model will inherit. Text annotation services that measure inter-annotator agreement at the subgroup level, not just in aggregate, surface this pattern before it compounds through the full training dataset.

Stage 3: Data Curation

The third entry point is curation. Even when collection and labeling are unbiased, the decisions made about which data to keep, which to filter, and how to balance the training set introduce bias. A curation pipeline that filters out low-confidence examples disproportionately removes data from underrepresented groups, because low-confidence labeling correlates with the annotators’ lower familiarity with those groups. A resampling strategy that balances by category but not by demographic subgroup within category can leave systematic gaps.

Curation bias is the most invisible of the three because it happens in the pipeline rather than in the data itself. The audit requires tracking not just what data was kept but what was removed and why, which most curation pipelines do not do by default.

The Data-Level Bias Audit Checklist

Check 1: Representation Audit

Map the demographic and contextual distribution of your training data against the deployment population. For each group that matters for your deployment context, calculate the proportion in the training set versus the proportion in the population the model will serve. A gap of more than ten percentage points between a group’s representation in training and its representation in the deployment population is a useful starting threshold for flagging meaningful risk, warranting either additional data collection or a fairness constraint during training. The right threshold will vary with deployment context and the stakes involved.

Representation audit tools include demographic classifiers applied to the training set, metadata analysis where demographic fields exist, and external benchmarks that characterize the expected deployment distribution. The output is a coverage map, not a single metric.

Check 2: Label Consistency Audit

Calculate inter-annotator agreement disaggregated by the subgroups relevant to your deployment context. The relevant breakdown depends on the application: for a hiring model, this might be by applicant name type or inferred demographic; for a content moderation model, this might be by dialect or topic type; for a medical model, this might be by patient demographic characteristics in the case descriptions.

As a useful starting threshold, any subgroup showing inter-annotator agreement more than ten percentage points below the overall agreement level is a signal worth investigating, suggesting the labeling process may be applying different standards to different groups. This is the input to annotator calibration and guideline revision, not a reason to discard the data. Model evaluation services that measure subgroup-level annotation consistency as a standard output of the labeling quality process catch this before it accumulates through the full training set.

Check 3: Curation Audit

Document what was removed from the training set and why. For each filtering step, calculate the removal rate disaggregated by subgroup. If a low-confidence filter removes data from one subgroup at twice the rate of another, that filter is introducing a representation gap that did not exist in the raw collected data. The audit does not require abandoning confidence-based filtering. It requires checking whether the filter is applied uniformly across groups and adjusting the threshold or supplementing with additional collection where it is not.

Check 4: Performance Disparity Measurement

Evaluate model performance disaggregated by subgroup across your held-out evaluation set. The relevant metrics depend on the task. For classification tasks, measure precision, recall, and F1 separately for each subgroup. For regression tasks, measure mean error and error variance. For generative tasks, use human evaluation panels drawn from the relevant subgroups rather than automated metrics, because automated metrics often have their own demographic biases.

Performance disparity greater than five percentage points in recall across demographic subgroups on a classification task in a regulated domain is a reasonable benchmark for a material finding requiring remediation before deployment, though the appropriate threshold depends on the regulatory context and the consequences of false negatives for each subgroup.

Check 5: Fairness Metric Selection

Different fairness metrics operationalize different concepts of fairness, and they can mathematically conflict with each other. Demographic parity requires that the positive prediction rate is equal across groups. Equalized odds requires that both the true positive rate and the false positive rate are equal across groups. Calibration requires that predicted probabilities correspond to actual outcome rates for each group. A model cannot simultaneously satisfy all three under most real-world data distributions. Choosing which metric to optimize requires an explicit decision about what fairness means in the deployment context, and that decision should be documented before the model is trained, not after it is evaluated. This survey of fairness concepts in machine learning provides the foundational taxonomy that the checklist items above build on.

Check 6: Regulatory Compliance Documentation

If the model falls under the EU AI Act’s definition of a high-risk AI system, which includes models used in employment, education, credit scoring, law enforcement, and several other categories, the compliance timeline is now settled: following the Digital Omnibus amendment formally adopted by the European Parliament and Council in June 2026, standalone Annex III high-risk AI systems must meet data governance and bias testing requirements by December 2, 2027. 

This is a deferral from the original August 2026 deadline, but the regulatory direction has not changed, and preparation is expected to be underway now. Article 10 of the EU AI Act specifies that training, validation, and testing datasets must be subject to data governance practices, must be relevant, representative, free of errors, and complete, with appropriate statistical properties for the specific population and context in which the system operates. Beyond fines, non-compliance creates a direct commercial risk: EU public procurement frameworks increasingly require AI Act compliance as a condition of tender eligibility, meaning a non-compliant system can disqualify an organization from public contracts before any fine is assessed.

What Remediation Actually Looks Like

Pre-Processing: Fix the Data Before Training

Pre-processing remediation addresses bias at the data level before training begins. The options include resampling underrepresented groups to bring their representation closer to the deployment distribution, reweighting training examples to increase the influence of underrepresented groups on model weights, and targeted data collection to fill coverage gaps identified in the representation audit. Pre-processing remediation is the most durable because it fixes the root cause rather than adjusting the model’s outputs downstream.

In-Processing: Constrain the Training

In-processing remediation adds fairness constraints to the training objective. This typically means adding a penalty term to the loss function that penalizes prediction disparity across demographic groups, or using an adversarial training approach where a separate model is trained to predict the demographic group from the primary model’s outputs. In-processing approaches require that demographic labels are available during training, which is not always the case.

Post-Processing: Adjust the Outputs

Post-processing remediation adjusts the model’s decision thresholds after training to equalize a chosen fairness metric across demographic groups. This is the easiest to implement and the most fragile, because it addresses the symptom rather than the cause. A threshold adjustment that achieves demographic parity on the evaluation set may not generalize to production traffic if the production distribution differs from the evaluation set. Post-processing remediation should be treated as a stopgap while pre-processing and in-processing remediation are implemented.

How Digital Divide Data Can Help

Digital Divide Data supports enterprise AI teams running data-level bias audits and implementing the remediation programs that audit findings require. For programs measuring representation gaps and label consistency across demographic subgroups, model evaluation services design evaluation frameworks disaggregated by the subgroups relevant to the deployment context rather than reporting only aggregate metrics. 

For programs that need targeted data collection to close coverage gaps identified in a representation audit, data collection and curation services source training examples from the underrepresented groups and contexts the audit identified. For programs addressing label-level bias through annotator calibration and guideline revision, trust and safety solutions provide annotation teams with calibration frameworks that measure and reduce subgroup-level annotation inconsistency.

If your model is in production and you haven’t run a data-level bias audit, you’re managing a risk you haven’t measured. Talk to an expert.

Conclusion

The six checklist items above are all data-level activities that need to happen before training and again after evaluation:

  • Representation audit
  • Label consistency audit
  • Curation audit 
  • Performance disparity measurement
  • Fairness metric selection
  • Regulatory compliance documentation

None of them require changes to the model architecture. All of them require discipline about what the training data actually contains and how it was produced.

The organizations that catch bias early are the ones that treat the audit as a standard step in the data program rather than a response to a production failure. What does your current training data pipeline document about the demographic distribution of the data that fed your last model?

References

Mehrabi, N., Morstatter, F., Saxena, N., Lerman, K., & Galstyan, A. (2021). A survey on bias and fairness in machine learning. ACM Computing Surveys, 54(6), 1-35. https://arxiv.org/abs/1908.09635

European Parliament and Council of the European Union. (2024). Regulation (EU) 2024/1689 of the European Parliament and of the Council (EU AI Act). Official Journal of the European Union. https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689

Raji, I. D., Smart, A., White, R. N., Mitchell, M., Gebru, T., Hutchinson, B., Smith-Loud, J., Theron, D., & Barnes, P. (2020). Closing the AI accountability gap: Defining an end-to-end framework for internal algorithmic auditing. In Proceedings of the ACM Conference on Fairness, Accountability, and Transparency (FAccT). https://arxiv.org/abs/2001.00973

Frequently Asked Questions

Q1. Is bias auditing the same as fairness testing?

They overlap but are not identical. Bias auditing is a broader process that identifies where bias entered the system, covering data collection, labeling, and curation. Fairness testing is a specific evaluation activity that measures whether the model’s outputs meet a chosen fairness criterion. You can run fairness testing without a bias audit, but the results will tell you that a problem exists without telling you where it came from or how to fix it. A full bias audit includes fairness testing as one component alongside the data-level checks that identify root causes.

Q2. Which fairness metric should we use?

There is no universally correct answer because different metrics operationalize different ethical concepts of fairness, and they can mathematically conflict with each other under real-world data distributions. The choice should be driven by the deployment context and the consequences of different error types for each affected group. A credit scoring model where false negatives disproportionately harm one group warrants a different metric than a content moderation model where false positives disproportionately silence one group. Document the choice and the reasoning before training begins, not after.

Q3. How often should a bias audit be run?

Before the first deployment of a model, whenever the training data is updated in a way that changes its composition, whenever the model is retrained or fine-tuned, and at a regular cadence after deployment, typically quarterly for high-stakes applications, to catch distribution drift in the production traffic that the original training set did not anticipate. One-time pre-deployment auditing is insufficient because deployment environments change and model behavior can drift as production traffic diverges from the training distribution.

Q4. What data is needed to run a demographic subgroup analysis?

Ideally, demographic attributes are captured at data collection and preserved through the annotation and curation pipeline so they are available for disaggregated analysis. When this is not the case, demographic attributes can be inferred using name-based classifiers, language model-based classifiers, or proxy variables that correlate with demographic characteristics. Inferred demographics introduce their own error rates and should be treated as approximate rather than definitive. For regulated applications where demographic analysis is required, the most defensible approach is to collect demographic attributes directly and with participant consent at the point of data collection.

Q5. Does a bias audit guarantee the model is fair?

No. A bias audit identifies measurable disparities in the training data and model outputs against specific metrics. It does not guarantee fairness in a philosophical or legal sense, because fairness is context-dependent and the audit’s conclusions are bounded by the metrics chosen, the subgroups analyzed, and the evaluation data used. What a thorough bias audit does provide is documented evidence of due diligence, specific findings that can be addressed through remediation, and a defensible record of what was measured and what was done about it. That is what regulators and enterprise governance programs require.

How to Audit an AI Model for Bias: A Practical Data-Level Checklist Read Post »

AI in Supply Chain

AI in Supply Chain: What Demand Forecasting and Logistics Models Need From Training Data

Kevin Sahotsky

Almost every supply chain leader I talk to is already running an AI pilot of some kind: demand forecasting, route optimization, inventory planning. Most of them are also quietly frustrated, because the pilot performed well in the demo and then underdelivered once it touched real operations. The model wasn’t wrong about the math. It was working from data that didn’t reflect the supply chain it was actually being asked to plan for.

This is particularly relevant for supply chain leaders, demand planning teams, and operations executives who are past the pilot stage and trying to figure out why their AI forecasting tool isn’t closing the gap they expected. The industry-wide numbers back this up. Most organizations plan to use AI for supply chain decisions within the next couple of years, but only a small fraction have a formal strategy for getting there, and the gap between adoption and actual readiness is almost always a data gap before it’s a model gap.

This blog covers what demand forecasting and logistics models actually need from their training data to perform reliably in production, not just in a pilot. Data collection and curation services and AI data preparation services are the two capabilities most directly involved in closing the gap between a forecasting model that looks good on a slide and one that actually holds up against real demand volatility.

Key Takeaways

  • Demand forecasting models trained only on historical sales data systematically underperform during demand shifts, because the signal that predicts a shift rarely lives in the sales history itself.
  • Supply chain AI needs data integrated across systems that were never designed to talk to each other. Partner data chaos, not model architecture, is the most common reason forecasting and logistics AI underdelivers.
  • SKU-level and category-level forecasting have very different data requirements, and treating them the same way is one of the most common planning mistakes.
  • Exception and disruption data- the supplier delay, the port closure, the demand spike- is the training signal that determines whether a model can do more than predict business as usual.
  • Human review at the exception layer is what keeps automated forecasting accurate, because full autonomy isn’t the goal right now. Appropriate autonomy is.

Why Forecasting Models Underdeliver Outside the Pilot

Historical Sales Data Is a Starting Point, Not a Foundation

Traditional forecasting leaned almost entirely on historical sales data, and that’s exactly where a lot of AI forecasting pilots still start. The problem is that historical sales data tells you what happened under the conditions that existed at the time. It doesn’t tell you why those conditions are about to change. A model trained purely on sales history will perform reasonably well during stable periods and fail exactly when you need it most, during a demand shift, a new product launch, or a market disruption.

This isn’t a hypothetical concern. Industry data shows AI-powered forecasting can reduce forecast errors meaningfully and cut inventory costs, but those gains depend on the model having access to a broader mix of signals than historical sales curves alone. Retailers that combined external signals with real-time inventory visibility saw the greatest improvements, specifically because the model had something other than the past to reason from.

The Real Bottleneck Is Partner Data Chaos

Ask supply chain leaders what’s actually holding AI back day to day, and the answer that comes up again and again isn’t the model. It’s the mess of formats, systems, and partner data that the model has to be fed from. Suppliers report inventory differently. Carriers report transit status on different schedules. Internal systems were built for different purposes at different times and were never designed to be queried together. Data engineering for AI that builds the integration layer connecting these disparate sources into a consistent, queryable structure is what turns partner data chaos into something a forecasting model can actually use, and it is consistently the unglamorous work that determines whether the visible AI layer performs.

What Demand Forecasting Models Actually Need

SKU-Level vs. Category-Level Forecasting Have Different Data Needs

One of the most common mistakes I see is treating SKU-level and category-level forecasting as the same data problem at different resolutions. They aren’t. Category-level forecasting can tolerate more noise in any individual data point because the aggregation smooths it out. SKU-level forecasting, especially for products with intermittent or erratic demand patterns, needs cleaner, more granular data because there’s no aggregation to hide a labeling error or a missing data point.

This matters most for businesses managing SKU proliferation: large retailers and consumer goods companies that are tracking demand across thousands of individual products. A forecasting approach that works fine at the category level can produce confidently wrong SKU-level forecasts if the underlying data wasn’t curated with that level of granularity in mind from the start.

External Signals Are Not Optional Anymore

The forecasting approaches that are actually moving the needle right now combine internal sales data with external signals: economic indicators, weather patterns, regional events, competitor activity, and social signals where relevant. Collecting and structuring these external signals consistently, so they can be joined to internal sales data on a common timeline, is a data engineering task that most internal teams underestimate the effort of. Data collection and curation services that source and standardize external demand signals on an ongoing basis, not as a one-time enrichment, are what let a forecasting model actually use this information rather than treating it as an occasional input that goes stale.

Seasonality and Intermittent Demand Need Explicit Handling

Demand patterns that are seasonal, intermittent, or erratic break the assumptions that simpler forecasting methods rely on. A model that hasn’t been given enough historical cycles to learn a seasonal pattern, or training data with sparse and irregular intermittent-demand examples, will produce point forecasts that look plausible and are systematically wrong in predictable ways: missing the seasonal peak, or smoothing over the spikes that intermittent-demand products actually exhibit. The fix isn’t a different algorithm. It’s making sure the training data includes enough cycles and enough representation of the demand pattern types the business actually has.

What Logistics and Routing Models Need

Real-Time Data, Not Just Planning Data

Route optimization and ETA prediction depend on data that’s current, not just historical. A model trained on historical transit times without real-time traffic, weather, and carrier status data will optimize for a world that no longer exists by the time the truck leaves the dock. The practical implication is that logistics AI needs a live data pipeline, not a periodically refreshed training set, and the infrastructure to keep that pipeline current is a meaningfully different investment than the one-time data preparation that a static forecasting model might get away with.

Exception Data Is the Most Valuable and Least Collected

Most logistics data pipelines are built to capture the normal case well and the exception case poorly. The supplier delay, the port closure, the carrier capacity shortfall- these are exactly the events that determine whether a logistics AI system adds value beyond what a simple rules engine could already do, and they’re also the events most likely to be missing, inconsistently labeled, or buried in free-text notes rather than structured fields. AI data preparation services that specifically target exception event extraction and structuring, pulling disruption data out of free text and into a consistent schema, give logistics models the training signal they need to do more than optimize for business as usual.

Why Human Review at the Exception Layer Still Matters

Full autonomy in supply chain AI isn’t where the industry actually is right now, and the practitioners closest to deployment are honest about that. The current consensus across the field is that appropriate autonomy, not full autonomy, is the right target for 2026. Automated forecasts paired with human review on exceptions and material categories consistently outperform either fully automated or fully manual approaches.

Building that human review layer into the data pipeline, not as an afterthought but as a designed checkpoint, is what keeps a forecasting system’s error rate from compounding silently. Model evaluation services that score forecast accuracy by category, by exception type, and by demand pattern, rather than as a single aggregate accuracy number, are what let a supply chain team know where the human review needs to be concentrated rather than spread thin across everything.

How Digital Divide Data Can Help

Digital Divide Data supports supply chain and logistics teams building the data foundation that demand forecasting and routing models actually need. For programs that need external demand signals collected and standardized on an ongoing basis, data collection and curation services source and structure economic, weather, and market signals so they can be joined cleanly to internal sales data. 

For programs that need exception and disruption events extracted from free-text logs into structured, model-ready fields, AI data preparation services turn unstructured supplier, carrier, and operations notes into the training signal that logistics models need to handle disruption. For programs connecting fragmented partner and internal systems into a single queryable pipeline, data engineering for AI builds the integration layer that turns partner data chaos into a usable forecasting input.

If your forecasting model performs well in the pilot and underdelivers in production, the gap is almost always in the data feeding it, not the model architecture. Talk to an expert.

Conclusion

The supply chain AI gap that emerges between a strong pilot and a disappointing production rollout is rarely an algorithmic problem. It’s a data problem: historical sales data without external signals, fragmented partner systems never designed to be queried together, and exception events that occur in the operation but never make it into a structured training set. Each of these is solvable, but only if the team treats data integration and curation as the primary investment rather than something the model is supposed to work around.

The organizations pulling ahead in supply chain AI aren’t the ones with the most sophisticated forecasting algorithm. They’re the ones that did the less visible work of making sure their models had real, current, well-structured signal to learn from. What does your current forecasting pipeline actually feed the model, and how much of it is historical sales data alone?

References

Logistics Viewpoints. (2025, December 22). AI in logistics: What actually worked in 2025 and what will scale in 2026. https://logisticsviewpoints.com/2025/12/22/ai-in-logistics-what-actually-worked-in-2025-and-what-will-scale-in-2026/

Inbound Logistics. (2026, January 8). AI in supply chain management: 2026 outlook. https://www.inboundlogistics.com/articles/ai-in-supply-chain-management-how-useful-will-it-be-in-2026/

Frequently Asked Questions

Q1. Why does a demand forecasting model that performed well in a pilot underdeliver once it is deployed at scale?

Pilots are often run on a clean, curated slice of data and a stable demand period. Production exposes the model to the messier reality: fragmented partner data, demand patterns the pilot dataset didn’t include, and exception events that weren’t part of the pilot’s scope. The model’s architecture usually isn’t the problem. The training data it’s actually getting in production is narrower or noisier than what it learned from during the pilot, and that gap is what shows up as underperformance.

Q2. What external data signals matter most for demand forecasting beyond historical sales?

It depends on the category, but the signals that consistently add value are economic indicators relevant to the customer base, weather data for weather-sensitive categories, regional event calendars, and competitor pricing or promotion activity where it’s trackable. The specific mix matters less than having a consistent process for collecting and standardizing whichever signals are relevant to your categories, so the model can actually learn a stable relationship between the signal and the demand shift rather than seeing it inconsistently.

Q3. How should a supply chain team prioritize data investment between forecasting accuracy and logistics optimization?

Start with whichever side is generating the more expensive errors right now. If you’re consistently overstocking or understocking specific categories, the forecasting data investment will pay off faster. If you’re missing delivery windows or absorbing avoidable transportation costs because of routing decisions made on stale data, the logistics data pipeline is the higher-value investment. Most teams need both eventually, but sequencing the investment around your most expensive current error avoids spreading a limited budget too thin to fix either one well.

Q4. How much human review should remain in an automated forecasting and logistics pipeline?

Enough that exceptions and high-consequence categories get a human check before the system acts on them automatically. Full autonomy isn’t where the field is right now, and the practitioners closest to production deployment are explicit that appropriate autonomy, not full autonomy, is this year’s realistic target. A practical approach is to automate the routine, high-confidence cases and route anything flagged as an exception, a material category, or a low-confidence prediction to a human reviewer before it triggers a downstream action.

Q5. What is the most common reason a supply chain AI program stalls after the pilot phase?

Underestimating the data integration work required to move from a pilot dataset to a production data pipeline. A pilot can run on a manually assembled, cleaned dataset. Production requires an ongoing pipeline that ingests, standardizes, and validates data from multiple internal systems and external partners on a continuous basis. Teams that scope the pilot but not the production data infrastructure consistently find that the second phase takes longer and costs more than the first, and that gap is where many programs stall.

AI in Supply Chain: What Demand Forecasting and Logistics Models Need From Training Data Read Post »

AI Evaluation Program

Why Your AI Evaluation Program Is Missing Cultural Failures, and How to Fix It

Kevin Sahotsky

Here’s a pattern I’ve seen more than once. An enterprise buys access to a frontier model, runs it through internal evaluations, and the results look good. Strong accuracy. Coherent outputs. The team gets comfortable. Then the model enters a customer-facing workflow serving users in the Middle East, Southeast Asia, or Sub-Saharan Africa, and something goes wrong. The outputs are technically correct in a narrow sense but contextually off. Users notice.  This is particularly relevant for AI procurement leads, product teams, and enterprise buyers deploying models in global or multilingual markets.

The evaluation wasn’t wrong. It was just evaluating the wrong thing. Standard benchmarks are predominantly designed around Western, English-language contexts. They measure capability on the kinds of inputs those contexts generate. When the deployment context is different, the benchmark stops being a reliable predictor of real-world performance.

Cultural alignment is becoming a first-order evaluation problem for any enterprise deploying AI in global markets. Model evaluation services and low-resource language services are the two capabilities most directly involved in closing the gap between what standard benchmarks measure and what global deployment actually requires.

Key Takeaways

  • Frontier models are trained predominantly on Western, English-language data. This produces systematic gaps in cultural knowledge, values alignment, and contextual reasoning that standard benchmarks do not surface.
  • Cultural failure is not a language problem. A model can be fluent in Arabic or Hindi while still applying Western cultural assumptions to content produced in those languages.
  • Standard benchmarks do not catch cultural misalignment. Evaluation programs that rely on existing leaderboard benchmarks will miss the failure modes that matter most in global deployments.
  • The evaluation gap is measurable. Culturally grounded human evaluation of production-representative inputs is the only reliable way to understand how a model will perform in a specific cultural context before that context reveals the failure.
  • The fix requires both better evaluation data and better training data. Identifying cultural gaps through evaluation and then closing them through targeted data collection are two sides of the same coin.

Why Frontier Models Fail on Culturally Specific Data

Why Your Training Data Is Setting You Up to Fail Globally

Frontier models are trained on large corpora of text drawn primarily from the English-language web and Western institutional sources. This is not a secret. What is underappreciated is how deeply that training distribution shapes the model’s outputs, even when it’s being asked to produce content in other languages or for other cultural contexts. The model’s prior, its default assumptions about what is typical, appropriate, or correct, reflects the distribution it learned from. That prior doesn’t disappear when the model switches languages.

Multilingual Capability Won’t Save You From Cultural Failures

One of the most persistent misunderstandings in enterprise AI procurement is treating multilingual capability as a proxy for cultural competence. A model can generate grammatically correct Arabic text while simultaneously encoding assumptions about gender roles, family structure, or political norms that do not reflect the cultural context of Arabic-speaking users. Fluency is a surface property. Cultural alignment is a deeper one.

The distinction matters operationally because evaluation programs built around language capability will miss the cultural alignment failures that determine whether a deployment succeeds or fails in a global market. Model evaluation services that treat cultural alignment as a distinct evaluation dimension, separate from language fluency, surface the failure modes that language-focused benchmarks hide.

The Long Tail of Cultural Knowledge

Cultural knowledge is not evenly distributed across the training data, and the imbalance is not random. High-resource languages with large web presences are well-represented. Low-resource languages and the cultural knowledge embedded in communities that use them are systematically underrepresented. This creates a long tail of failure modes: the model handles high-frequency cultural contexts adequately but fails on the specific cultural knowledge that matters most to underserved user populations.

For enterprises deploying AI in markets where that long tail is the core use case, not an edge case, this is a significant operational risk. The evaluation frameworks designed for high-resource language contexts will not surface those failures because they were not designed to.

Why Your Current Evaluation Program Is Leaving You Exposed

Benchmark Saturation and Its Limits

The most widely used LLM benchmarks now report near-ceiling performance for frontier models. This is sometimes interpreted as evidence that the cultural alignment problem is being solved. It isn’t. It’s evidence that the benchmarks are no longer measuring the right things. Benchmark saturation means the evaluation has stopped differentiating between models on dimensions that matter for global deployment, not that the underlying cultural gaps have been closed.

Research on culturally grounded benchmarks designed to be more challenging than existing leaderboard tests consistently finds that even the best-performing frontier models fall significantly short of human performance on culturally specific knowledge tasks. The gap is not small. It is the difference between a model that appears capable on a benchmark and a model that is actually capable in the deployment context that the benchmark was supposed to represent.

Static Benchmarks Against Evolving Models

Standard benchmarks are also static. Once published, they become part of the training and evaluation ecosystem, which means models can be optimized against them directly or indirectly. A model that scores well on a published cultural benchmark may have been trained on data that overlaps with or was derived from that benchmark. Benchmark contamination reduces the signal value of any static evaluation set over time.

Production-representative evaluation, drawing samples from the actual inputs the model will receive in a specific deployment context, is the evaluation approach that does not suffer from contamination because it reflects what users are actually doing, not what benchmark designers anticipated. Data collection and curation services that source evaluation data from production-like inputs in the target cultural context produce evaluation sets that benchmark contamination cannot undermine.

The Absence of Local Human Judgment

The other thing standard evaluation misses is local human judgment. Evaluating whether a model’s output is culturally appropriate for a specific context requires evaluators who are embedded in that context. An evaluation program that uses Western-trained evaluators to assess outputs for Middle Eastern or Southeast Asian users will miss the specific cultural failure modes that those users will encounter.

This is not a minor calibration issue. The cultural knowledge required to identify certain failures, in moral reasoning, in representation of contested history, in application of local norms to specific scenarios, is not accessible to evaluators who do not share that cultural background. Building evaluation programs around locally embedded human judges is not optional for global deployments. It is what makes the evaluation valid.

What Evaluation Should Look Like

Start With the Deployment Context, Not the Benchmark

Effective cultural evaluation starts with a clear specification of the deployment context: what cultural communities will use the system, what tasks they will use it for, and what cultural knowledge, values, and norms are relevant to those tasks. The evaluation design follows from that specification, not from the availability of existing benchmarks.

This sounds obvious. It isn’t how most enterprise evaluation programs are actually structured. Most evaluation programs start with the available benchmarks and check the model against them. Starting from the deployment context and then designing the evaluation to match it is a different workflow that produces different results.

Culturally Grounded Human Evaluation

The core of a culturally grounded evaluation program is human evaluation by annotators who are embedded in the target cultural context. Those annotators assess model outputs against culturally specific quality criteria: does this response reflect accurate cultural knowledge, apply appropriate norms for this context, and represent contested topics in a way consistent with local perspectives? Model evaluation services that recruit and calibrate evaluators from the specific cultural communities a model will serve produce evaluation programs that are valid for those communities rather than approximations derived from more accessible evaluator populations.

One-Time Evaluations Are a Risk You Can’t Afford

Cultural alignment is not a static property. Models are updated. Deployment contexts evolve. New use cases emerge. An evaluation program that runs once before launch and then stops will miss the drift that occurs as these changes accumulate. Programs that treat cultural evaluation as a continuous operational discipline, running regular evaluation cycles against production inputs and updating the evaluation set as the deployment context evolves, maintain a valid signal of cultural alignment throughout the model’s production life.

How Digital Divide Data Can Help

Digital Divide Data has operated in Cambodia, Laos, Kenya, and the US since 2001, which means our annotator teams are embedded in the cultural communities that global AI deployments are often trying to serve. That depth of local presence is what makes our evaluation and data collection programs culturally valid rather than culturally approximated. 

For programs building culturally grounded evaluation frameworks, model evaluation services design evaluation suites built around the specific cultural context of the deployment, with locally embedded human evaluators who assess outputs against culturally specific quality criteria. For programs building the training data needed to close identified cultural gaps, data collection and curation services, and low-resource languages services source culturally representative training examples from the communities the model needs to serve.

If your evaluation program isn’t measuring cultural alignment for the contexts where you’re deploying, that’s worth addressing before the market tells you about the gap. Talk to an expert.

Conclusion

Frontier models are capable. They are not culturally neutral. The training data that produces their capabilities also shapes their defaults, their values, and their blind spots in ways that systematic standard benchmarks do not surface. For enterprise deployments serving global user populations, that gap is an operational risk that shows up after launch when it could have been identified and addressed before it.

The evaluation programs that find these gaps early share a common structure: they start from the deployment context rather than the available benchmarks, they rely on locally embedded human judgment rather than evaluator populations that don’t share the target cultural background, and they treat evaluation as a continuous discipline rather than a pre-launch gate. The enterprises building this discipline now are not doing it as a compliance exercise. They are doing it because the first mover in a regional market that gets the cultural experience right is the one that earns user trust before a competitor with a less careful evaluation program gets the chance to lose it. That advantage is hard to claw back once a market has decided which provider understands it and which one does not. What’s the gap between what your current evaluation program is measuring and what your deployment context actually requires?

References

Cao, Y., et al. (2023). Assessing cross-cultural alignment between ChatGPT and human societies: An empirical study. arXiv. https://arxiv.org/abs/2303.17466

Li, Y., et al. (2024). CulturalBench: A robust, diverse, and challenging benchmark on measuring the (lack of) cultural knowledge of LLMs. arXiv. https://arxiv.org/abs/2410.02677

Huang, J., & Yang, K. (2023). Culturally aware natural language inference. In Findings of EMNLP 2023. Association for Computational Linguistics. https://aclanthology.org/2023.findings-emnlp.745

Adilazuarda, M. F., et al. (2024). Towards measuring and modeling “culture” in LLMs: A survey. arXiv. https://arxiv.org/abs/2403.15412

Frequently Asked Questions

Q1. Our vendor says their model is already multilingual. Isn’t that enough?

Because standard benchmarks are predominantly designed around Western, English-language contexts. A model can score at the top of a leaderboard while having significant blind spots in the cultural knowledge, values, and norms of non-Western communities. The benchmark was not designed to surface those blind spots, so it doesn’t. Culturally grounded evaluation designed around the specific deployment context is the tool that surfaces them.

Q2. We already ran our own internal evaluation, and the model passed. Why isn’t that sufficient?

Because the team running that evaluation was very likely evaluating against the same kind of benchmark the model was trained to do well on, and very likely did not include evaluators from the specific cultural communities the deployment will actually serve. An internal evaluation that does not include locally embedded judgment from your target markets is not measuring cultural alignment, even if it produced a passing result. The pass tells you the model is technically functional. It does not tell you whether it is culturally appropriate for the markets you are entering.

Q3. This sounds expensive and slow. Can’t we just fix issues as they come up after launch?

You can, but the cost shows up on the other side of the ledger instead. Fixing a cultural misalignment issue after launch means it has already reached real users, generated support escalations, and possibly damaged a regional partnership or a brand reputation you cannot easily rebuild. A culturally grounded evaluation program run before launch is an upfront cost with a defined scope. A post-launch fix is an unplanned cost with a reputational tail attached. Most enterprises that have been through both prefer to pay for the first.

Q4. Our model provider already re-trains and updates the model regularly. Doesn’t that keep cultural alignment current automatically?

On a continuous cadence, not just before launch. Models are updated, deployment contexts evolve, and new use cases emerge. A one-time pre-launch evaluation misses the drift that accumulates as these changes occur. Programs that run regular evaluation cycles against production-representative inputs maintain a valid signal of cultural alignment throughout the model’s production life.

Why Your AI Evaluation Program Is Missing Cultural Failures, and How to Fix It Read Post »

Prompt Injection

Prompt Injection and Indirect Attacks: How They Work and What Training Data Can Do About It

Prompt injection is the top-ranked vulnerability class in production LLM systems. It works because LLMs cannot reliably distinguish between instructions that come from a trusted source and instructions embedded by an adversary in the content the model is processing. The instruction-following capability that makes LLMs useful is precisely the mechanism that makes them exploitable.

Direct injection attacks are the more visible form: a user provides adversarial input in the prompt that overrides or bypasses system instructions. Indirect injection is more dangerous: malicious instructions are embedded in external content that the model processes during a legitimate task, a document it was asked to summarize, a web page it retrieved, or an email it was asked to analyze. The victim user does not need to behave adversarially. The attack succeeds when the model does its job.

Understanding how these attacks work at the technical level is a prerequisite for designing training data programs that build genuine robustness. Trust and safety solutions and model evaluation services are the two capabilities most directly involved in operationalizing that robustness at scale.

Key Takeaways

  • Prompt injection exploits the same instruction-following behavior that makes LLMs useful. Defenses that suppress instruction-following entirely degrade capability. The goal is to train models to distinguish trusted from untrusted instruction sources.
  • Indirect injection is fundamentally more dangerous than direct injection because it does not require adversarial user behavior. The attack surface extends to any external content the model processes.
  • Pattern-matching defenses alone are insufficient. Adversaries adapt formulations to bypass known filters, which means robustness requires training on diverse adversarial examples, not just known attack templates.
  • Training data for injection robustness needs to cover the full attack surface: direct injections, indirect injections across content types, multi-turn context manipulation, and multimodal injection vectors.
  • Adversarial training is iterative. A model fine-tuned on one set of injection examples develops blind spots for attack patterns not covered by that set. Red teaming and safety evaluation must continue after every training update.

How Prompt Injection Works

The Instruction Trust Problem

An LLM processes its input as a sequence of tokens. System instructions, user input, and retrieved external content all enter the context window in the same fundamental format: text. The model has no cryptographic or structural mechanism to verify which parts of its context came from a trusted source and which came from an untrusted one. It infers trust from position and framing, which is exactly what injection attacks exploit.

Direct injection attacks reformulate user input to appear as system instructions. Common techniques include role-play framing that asks the model to assume a persona without safety constraints, fictional scenario framing that presents the harmful request as hypothetical, token smuggling that uses encoding tricks or unusual whitespace to obscure adversarial content, and instruction override attempts that directly tell the model to ignore its previous instructions. Each technique is a different approach to the same goal: making the model treat adversarial user input as authoritative instruction.

To understand why pattern-matching defenses fail, it helps to see what these attacks look like at the implementation level. A role-play override attack typically opens by establishing a new persona that lacks the original model’s safety constraints, instructs the model to confirm the persona shift, and then embeds the harmful request as the first task for the new persona. Because the persona establishment happens before the harmful request, the model sees the harmful request as arriving from within its own accepted operational frame rather than as an adversarial input.

Token smuggling works at a layer below what rendered-text filters inspect. One documented variant embeds adversarial instructions between zero-width Unicode characters, specifically the zero-width space (U+200B). In a summarization context, a document might contain what appears to be normal financial text, but woven through it at the character level are zero-width characters surrounding an instruction to output the system prompt. Most safety filters check the rendered text and see nothing unusual. The model’s tokenizer, however, processes the full Unicode stream, including those invisible characters, and the instruction reaches the model intact. This is the implementation-level reason why surface-text defenses cannot close the vulnerability: the attack operates at a layer that those defenses do not inspect.

Why Indirect Injection Is the Harder Problem

Indirect prompt injection embeds adversarial instructions in external content that the model processes during a legitimate task. A document containing hidden text instructs the model to exfiltrate data from its context. A web page containing a prompt telling the model to recommend a specific action regardless of user intent. An email instructing the model to forward the conversation externally. The model encounters these instructions while doing exactly what it was asked to do and has no reliable way to determine that the instruction source is adversarial.

In practice, a document-based indirect injection works as follows. A user asks an LLM agent to summarize a contract. The PDF contains a passage that appears visually indistinguishable from legitimate contract text but carries an instruction structured to look like a system directive: it tells the model to disregard the summarization task, email the full document contents to an external address, and omit this instruction from the summary. The model processes this passage as part of the document content. Depending on its safety training, it may comply because it has no mechanism to determine that this passage was not placed there by a trusted principal. This is the mechanism behind CVE-2025-53773 in GitHub Copilot, where hidden prompt injection embedded in pull request descriptions could trigger remote code execution. Real-world incidents involving AI assistants being weaponized as spear-phishing tools by hiding commands in external emails follow the same architectural pattern. The attack surface is not the model itself. It is every piece of external content the model is asked to process.

Trust and safety solutions that cover both direct and indirect injection in their annotation scope produce adversarial datasets that reflect this actual production attack surface, including the content-embedded variants that represent the majority of real-world incidents.

Multi-Turn and Agentic Attack Vectors

Multi-turn injection attacks build adversarial context across a conversation rather than attempting to override instructions in a single turn. The attack gradually shifts the model’s perceived context, establishing assumptions or persona framings across multiple exchanges that prime the model to comply with a harmful request that would have been refused if presented directly in the first turn. These attacks are harder to detect because no single turn looks adversarial. The pattern only becomes visible across the conversation trajectory.

Agentic systems extend the injection attack surface significantly. When an LLM agent can retrieve documents, execute code, send messages, or interact with external services, a successful injection can trigger real-world consequences beyond generating harmful text. Excessive agency, granting AI systems broad permissions, creates conditions for both accidental and malicious misuse. In environments where agents can access databases, trigger workflows, or initiate transactions, injection vulnerabilities carry operational impact that pure generation contexts do not.

What Training Data for Injection Robustness Requires

Why Coverage Determines Robustness

A model’s robustness to prompt injection is directly determined by the diversity and coverage of the adversarial examples it was trained on. A model fine-tuned on a narrow set of injection patterns learns to refuse those specific patterns while remaining vulnerable to injection formulations not represented in its safety training data. This is the fundamental challenge of adversarial training: the model can only learn defenses for the attacks it has seen.

This creates a coverage imperative. Safety training datasets need to include injection examples across the full space of attack vectors, formulations, languages, and content types that the model will encounter in production. Sparse or template-based adversarial datasets produce models that pass safety evaluations designed around the same templates while remaining vulnerable to novel attack formulations. Genuine robustness requires genuine diversity.

Direct Injection Coverage

Direct injection training data needs to cover the major attack categories and their variations. Role-play and persona framing attacks need to be represented across a range of persona descriptions and framing contexts, not just the most obvious formulations. Token-level manipulation attacks, including Unicode tricks, whitespace injection, and encoding manipulation, need to be included because pattern-matching defenses that operate on surface text will miss them. Instruction override attempts need to be represented in direct and indirect formulations, with and without technical language. Data collection and curation services that build adversarial datasets through structured red teaming rather than template generation produce coverage that reflects how attacks actually appear in production.

Indirect Injection Coverage by Content Type

Indirect injection training data needs to be organized by content type because the visual appearance and structural characteristics of injection attacks differ across documents, web pages, code, and structured data. An injection embedded in a PDF document looks different from one embedded in an HTML page, which looks different from one in a CSV row, which looks different from one in a code comment.

Each content type requires adversarial examples that reflect how injections are realistically embedded in that format. For documents, that means injections in headers, footers, hidden text fields, and metadata sections. For retrieved web content, that means injections in page elements that are processed but not prominently displayed. For code, that means injections in comments, variable names, and string literals. Coverage across content types is what produces a model robust to indirect injection in the actual contexts where it will be deployed.

Embedding Space and Multimodal Attacks

More capable models face a more sophisticated attack vector: adversarially crafted documents can be constructed such that their vector embeddings cluster near high-priority query embeddings in a retrieval index, causing them to be retrieved and processed even when they are semantically unrelated to the query. This exploits the retrieval layer rather than the generation layer and requires defenses at the data preparation and indexing stage rather than at the model level. LLMs that process images alongside text face an additional vector: adversarial content embedded in images that the vision component interprets as instructions. These attacks operate in a modality where human review is less effective as a quality control mechanism. Model evaluation services that include embedding space attack evaluation alongside text-level injection testing produce a more complete picture of the system’s actual attack surface.

What the Attack Surface Looks Like in Quantitative Terms

Benchmark data gives concrete shape to how serious the vulnerability is in practice. Across 13 LLM backbones evaluated in a comprehensive agent security benchmark, covering 10 prompt injection attack types across e-commerce, finance, and autonomous driving scenarios, the highest average attack success rate reached 84.30%, with current defenses showing limited effectiveness against sophisticated adversarial techniques. In a separate evaluation of goal-hijacking and prompt-extraction attacks drawn from a dataset of over 126,000 human-generated adversarial samples, even the most capable frontier models achieved only approximately 84% robustness to hijacking and approximately 69% robustness to prompt-extraction. Open-source and smaller models were substantially less resilient. Browser-centric agents can be partially hijacked by simple, human-written injections in up to 86% of evaluated cases.

Multi-layer defense architectures show measurable improvement. A combined approach including input validation, output monitoring, and an LLM-as-Critic evaluation layer reduced successful attack rates from 73.2% to 8.7% while maintaining 94.3% of baseline task performance. Adding the LLM-as-Critic output validation layer alone improved detection precision by 21% over input-only filtering approaches. These numbers define the gap that training data programs need to close: a safety fine-tuning approach that does not move the needle on attack success rate is not achieving what the data investment was intended to achieve, and measuring that gap explicitly is how programs know whether their adversarial training is working.

Annotation Requirements for Adversarial Safety Data

Classifying Injection by Attack Type and Severity

Raw red teaming outputs are not training-ready without structured annotation. Each adversarial input that produced a harmful model response needs to be classified by attack type, the specific mechanism it used to bypass safety training, and the severity of the resulting failure. Attack type classification enables targeted analysis of which defense strategies are most effective for which attack categories. Severity classification enables prioritization of training examples that represent the most consequential failures.

Annotation guidelines for injection classification need to distinguish between categories that require different defensive responses. A persona framing attack that elicits harmful content requires a different training signal than an indirect injection that executes an unauthorized action in an agentic context. Conflating these into a single failure category produces training data that does not give the model the specificity it needs to learn category-appropriate responses.

Pairing Attacks With Correct Refusal Responses

Every adversarial input that produced a harmful response needs to be paired with a human-written correct refusal response before it can be used as a safety training example. The quality of this pairing determines the quality of the training signal. An overly broad refusal response that incorrectly identifies the nature of the attack, or fails to explain why the request was declined, produces a model that refuses correctly in the training distribution but generalizes poorly to novel attack formulations.

The choice of alignment method for this pairing process has significant practical implications. RLHF using Proximal Policy Optimization requires training a separate reward model on human preference data, then using that reward model to provide feedback during reinforcement learning fine-tuning of the policy. This pipeline is powerful but expensive: it requires maintaining multiple models simultaneously, introduces training instability, and involves numerous hyperparameters requiring careful tuning. Direct Preference Optimization reformulates the alignment objective as a classification task over preference pairs. The DPO loss optimizes the log-probability ratio of the policy model relative to a reference model for chosen versus rejected responses, weighted by a temperature hyperparameter beta that controls how aggressively the model is pushed toward preferred outputs. For safety fine-tuning programs with bounded annotation budgets and specific injection defense objectives, DPO is generally preferred: it operates within standard supervised fine-tuning infrastructure, eliminates the need for a separately trained reward model, and is more stable than PPO-based RLHF.

The beta hyperparameter in DPO controls a trade-off that annotation programs need to understand before configuring fine-tuning runs. Low beta values push the model aggressively toward preferred outputs but risk reducing diversity and creating over-confident refusals that reject legitimate inputs. High beta values keep the model behavior closer to the reference model, producing smaller safety improvements but less over-refusal. Calibrating beta for injection defense training requires evaluating both attack success rate reduction and legitimate-request acceptance rate at multiple beta values before committing to a production fine-tuning run.

Human preference optimization workflows that include structured comparison annotation, where human evaluators judge model responses to adversarial inputs against human-written refusals, produce the preference signal that trains the model to generalize its refusal behavior rather than memorize specific attack-refusal pairs.

Refusal Calibration: The Over-Refusal Problem

Safety fine-tuning without calibration produces a systematic failure mode that is as damaging to deployment as insufficient safety coverage: over-refusal. A model trained on adversarial examples without carefully constructed negative examples of legitimate-but-superficially-similar inputs learns an overly broad decision boundary. It refuses requests that mention topics adjacent to the safety training distribution, even when those requests are entirely legitimate. This degrades utility in exactly the domains where safety investment was highest, because those are the domains with the densest adversarial training data.

Measuring over-refusal requires evaluation on a held-out set of legitimate inputs that are semantically similar to the adversarial training distribution but represent valid use cases. The over-refusal rate, the fraction of legitimate inputs refused by the safety-tuned model, should be tracked alongside the attack success rate reduction as complementary metrics. A safety fine-tuning run that reduces attack success rate from 80% to 15% but increases over-refusal rate from 2% to 25% has not produced a deployable model. Preference data for injection defense training needs to include explicit examples of legitimate requests that should not be refused, paired with appropriate helpful responses, so the model learns to discriminate between adversarial framing and superficially similar legitimate framing rather than refusing the entire adjacent region of the input space.

Inter-Annotator Consistency for Adversarial Data

Adversarial annotation has higher inter-annotator consistency requirements than standard annotation because disagreement about whether a model response constitutes a failure produces contradictory training signals. If one annotator classifies a model response as a successful injection and another classifies the same response as an acceptable output, the conflicting labels cancel each other rather than contributing to robustness.

Annotation guidelines for adversarial data need to provide explicit decision criteria for ambiguous cases: model responses that partially comply with an injection, responses that refuse the explicit harmful content but reveal information the injection was designed to extract, and responses that appear safe but establish context enabling follow-up attacks. These are precisely the cases where inconsistent labeling is most likely and where the training signal is most important to get right.

The Iterative Safety Training Loop

Why One Round of Adversarial Training Is Not Enough

Fine-tuning a model on an adversarial dataset does not produce a model robust to all future injection attempts. It produces a model more robust to the specific attack patterns represented in that dataset. Adversaries adapt. New attack formulations emerge. Fine-tuning the model for new capabilities can inadvertently reduce its robustness to injection patterns it previously handled correctly, a phenomenon known as safety regression.

Effective safety programs treat adversarial training as an iterative loop: red team the current model, curate and annotate the failures that emerge, fine-tune on the expanded adversarial dataset, re-evaluate to verify patched failure modes are addressed and the fine-tuning has not introduced new regressions, and repeat. Each cycle produces a model with better coverage of the attack space than the last, and the red teaming in each cycle becomes more targeted as the team learns which attack categories the model is most vulnerable to.

Safety Regression Testing After Fine-Tuning

Every fine-tuning operation, whether for safety improvement or capability extension, needs to be followed by regression testing against the full set of previously identified injection vulnerabilities. Domain fine-tuning that makes the model more capable in a specific context can inadvertently reduce its robustness to injection attacks it previously handled correctly. This happens because fine-tuning shifts the model’s behavior distribution, and the shift may move the model closer to complying with attack formulations it was previously robust to. Model evaluation services that maintain structured regression test suites across attack categories give safety programs the ability to detect and correct regressions before the model reaches production.

How Digital Divide Data Can Help

Digital Divide Data supports enterprise AI safety programs across the full adversarial data lifecycle, from red teaming and failure mode annotation through safety fine-tuning and regression evaluation. For programs building adversarial training datasets, trust and safety solutions cover structured red teaming across direct injection, indirect injection, multi-turn, and multimodal attack categories, with annotation that classifies failures by attack type, severity, and required defensive response.

For programs building the preference data that safety fine-tuning requires, human preference optimization services provide structured comparison annotation where human evaluators judge model responses to adversarial inputs, producing the preference signal that trains the model to generalize refusal behavior across novel attack formulations. For programs evaluating injection robustness before deployment and after fine-tuning updates, model evaluation services design adversarial evaluation suites that cover the full attack surface, including regression test suites that verify safety fine-tuning has not introduced new vulnerabilities.

Build adversarial training data that reflects the actual attack surface your production system will face. Talk to an expert.

Conclusion

Prompt injection robustness is not a property that safety fine-tuning delivers once and retains indefinitely. It is a coverage problem that requires continuous investment in adversarial data diversity, annotation quality, and iterative evaluation. The models that are most robust to injection attacks are the ones trained on the most diverse and accurately annotated adversarial datasets, not the ones fine-tuned on the largest set of the same attack patterns.

The attack surface for production LLM systems extends well beyond direct user input. Indirect injection through processed content, multi-turn context manipulation, agentic exploitation, and embedding space attacks all require specific coverage in the adversarial training data. Programs that build safety training datasets around the full attack surface are the ones that produce deployments with genuine injection robustness. Trust and safety solutions built on that discipline are what separate systems that are safe under adversarial pressure from systems that only appear safe until someone looks carefully.

References

OWASP Foundation. (2025). LLM01:2025 prompt injection. OWASP GenAI Security Project. https://genai.owasp.org/llmrisk/llm01-prompt-injection/

Yi, J., Xie, Y., Zhu, B., Kiciman, E., Sun, G., Xie, X., & Wu, F. (2025). Benchmarking and defending against indirect prompt injection attacks on large language models. In Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining (pp. 1809–1820). ACM. https://doi.org/10.1145/3690624.3709179

Chen, C. et al. (2025). The obvious invisible threat: LLM-powered GUI agents’ vulnerability to fine-print injections. arXiv:2504.11281. https://arxiv.org/abs/2504.11281

Gulyamov, S., Gulyamov, S., Rodionov, A., Khursanov, R., Mekhmonov, K., Babaev, D., & Rakhimjonov, A. (2026). Prompt injection attacks in large language models and AI agent systems: A comprehensive review of vulnerabilities, attack vectors, and defense mechanisms. Information, 17(1), 54. https://doi.org/10.3390/info17010054

Zhang, H., Chen, W., Huang, F., Li, M., Zakar, O., Cohen, R., Zhu, S., & Qiu, X. (2025). Agent Security Bench (ASB): Formalizing and benchmarking attacks and defenses in LLM-based agents. In Proceedings of ICLR 2025. https://arxiv.org/abs/2410.02644

Rafailov, R., Sharma, A., Mitchell, E., Manning, C. D., Ermon, S., & Finn, C. (2024). Direct preference optimization: Your language model is secretly a reward model. In Advances in Neural Information Processing Systems, 36. https://arxiv.org/abs/2305.18290

Frequently Asked Questions

Q1. What is the difference between direct and indirect prompt injection?

Direct injection is when a user provides adversarial input that attempts to override system instructions in the prompt itself. Indirect injection is when malicious instructions are embedded in external content that the model processes during a task, such as a document it summarizes, a web page it retrieves, or an email it analyzes. Indirect injection is more dangerous because the user does not need to behave adversarially. The attack succeeds when the model does its job.

Q2. Why are pattern-matching defenses insufficient for injection robustness?

Because adversaries adapt their formulations to bypass known filters, often operating at a layer below what those filters inspect. Token smuggling using zero-width Unicode characters is invisible to filters that check rendered text but present in the token stream the model processes. A pattern-matching defense that blocks a specific injection template does not block variations using different encoding or structural presentation to achieve the same effect. Genuine robustness requires training the model to recognize the intent and mechanism of injection attacks across novel formulations, not just to match text patterns associated with known attacks.

Q3. What content types need to be covered in indirect injection training data?

Every content type the model processes in production: documents in various formats, retrieved web content, code, structured data like CSV and JSON, and, for multimodal systems, images. Each content type requires adversarial examples that reflect how injections are realistically embedded in that format, because the structural presentation of an injection in a PDF header looks different from one in an HTML element or a code comment, and the model needs to have encountered both to be robust to both.

Q4. What is the difference between DPO and RLHF for safety fine-tuning, and which should programs use?

RLHF using PPO requires a separately trained reward model and reinforcement learning-based policy optimization, which is powerful but expensive, training-unstable, and requires significant engineering infrastructure. DPO reformulates the alignment objective as a classification over preference pairs, optimizing the log-probability ratio of chosen versus rejected responses relative to a reference model, weighted by a temperature hyperparameter beta. For bounded-budget safety fine-tuning programs focused on injection defense, DPO is generally preferred because it operates within standard supervised fine-tuning infrastructure and is more stable. The beta hyperparameter needs to be calibrated jointly against attack success rate reduction and over-refusal rate, because aggressive safety tuning at low beta can produce a model that refuses legitimate inputs that share surface features with the adversarial training distribution.

Q5. How does safety regression occur after fine-tuning, and how can it be detected?

Safety regression happens when fine-tuning for a new capability shifts the model’s behavior distribution in a way that reduces its robustness to injection patterns it previously handled correctly. The model effectively forgets some of its safety training when it learns new capabilities. Detecting regression requires running the complete set of previously identified injection vulnerabilities against the fine-tuned model before deployment, not just evaluating the new capabilities the fine-tuning was intended to add.

Prompt Injection and Indirect Attacks: How They Work and What Training Data Can Do About It Read Post »

RAG

How to Build a Knowledge Base That Actually Makes RAG Reliable

The most common failure mode in enterprise RAG programs is not the language model. It is the knowledge base that the model is retrieving from. Teams spend months selecting an LLM, tuning prompts, and evaluating generation quality. The knowledge base design gets a fraction of that attention, and the retrieval failures that follow are treated as model problems when they are almost always data problems.

A poorly designed knowledge base degrades retrieval precision regardless of how sophisticated the retrieval pipeline is. Irrelevant chunks get retrieved. Relevant ones get missed. The model generates from a bad context, and the output looks like a hallucination. The root cause is upstream.

This blog covers the specific design decisions that determine whether a knowledge base supports reliable retrieval or undermines it. Retrieval-augmented generation and data collection and curation services are the two capabilities where these decisions have the most direct impact on production RAG quality.

Key Takeaways

  • Knowledge base design determines the ceiling of RAG performance. A well-configured retrieval pipeline cannot compensate for a poorly structured or poorly maintained corpus.
  • The chunking strategy is the most consequential design decision. Semantic boundary chunking consistently outperforms fixed-size chunking for heterogeneous enterprise content.
  • Metadata is not optional. Without structured metadata, retrieval cannot filter by source, date, document type, or access level, which means every query searches everything.
  • Deduplication and version control are prerequisites for retrieval reliability. Duplicate and outdated documents introduce noise that degrades precision before the retrieval pipeline even runs.
  • Knowledge base governance is an ongoing operational requirement, not a one-time setup task. Corpus quality degrades unless there are active processes to manage it.

Why a Good Knowledge Base Sets Everything Up 

The Retrieval Pipeline Can Only Work With What the Index Contains

Retrieval pipeline sophistication, hybrid search, reranking, and query expansion are valuable. But every technique in the pipeline operates on chunks that were indexed from documents that were prepared before any of that architecture was built. If the chunks are malformed, the index is stale, or the documents are duplicated and contradictory, no retrieval technique can recover that.

The knowledge base is the upstream dependency on which all retrieval quality depends. Teams that treat it as a straightforward data loading step and focus their engineering effort entirely on the retrieval and generation layers are solving the wrong problem first.

What a Knowledge Base Actually Is in a RAG Context

In a RAG pipeline, the knowledge base is the indexed corpus from which the retrieval layer surfaces relevant content at query time. It is built from source documents that are parsed, cleaned, split into chunks, embedded, and stored in a vector index with associated metadata. The retrieval layer queries that index. The quality of what gets retrieved is bounded by the quality of what was indexed.

This means the knowledge base is not just a storage layer. It is a processed, structured representation of the organization’s knowledge that has been deliberately designed to support the specific retrieval queries the system will need to answer. Design choices at every stage of that process, parsing, cleaning, chunking, metadata, versioning, affect retrieval precision in ways that are difficult to correct after the index is built.

Chunking Strategy: The Decision That Determines Everything Downstream

Why Fixed-Size Chunking Fails for Enterprise Content

Fixed-size chunking splits documents into segments of a fixed token count, with optional overlap between consecutive chunks. It is simple to implement and works adequately for uniform content like FAQ documents or knowledge base articles, where information is consistently structured. For the heterogeneous document types that characterize enterprise knowledge bases, it produces consistently poor results.

An enterprise corpus typically includes contracts, policies, technical specifications, email threads, meeting notes, and product documentation. These document types have different structural logic. A clause in a contract that spans a paragraph boundary has legal meaning as a unit. Splitting it across two fixed-size chunks produces fragments that are meaningless in isolation. A technical specification organized by section headers loses navigability when those headers land in the middle of a chunk that also contains unrelated content from the preceding section.

Semantic Boundary Chunking and When to Use It

Semantic boundary chunking splits documents at natural structural boundaries: section headers, paragraph breaks, sentence endings, and logical transitions. The resulting chunks are coherent as standalone units because they respect the document’s own organizational logic rather than imposing an arbitrary size constraint on it.

For enterprise RAG programs working with heterogeneous document types, semantic boundary chunking is the appropriate baseline. Data collection and curation services that design chunking approaches around document structure rather than token count produce corpora that support significantly higher retrieval precision.

Chunk Size and Overlap Calibration

Even within semantic boundary chunking, chunk size and overlap require calibration to the specific retrieval use case. Smaller chunks support higher precision retrieval because the retrieved content is more tightly scoped to the query. Larger chunks support better context completeness because more surrounding information is included. The right balance depends on the types of queries the system needs to answer and the typical information density of the source documents.

Overlap between consecutive chunks is a useful hedge against boundary errors. A chunk that begins mid-sentence because of a parsing error becomes retrievable if the preceding chunk has sufficient overlap to include the full sentence. Overlap adds index size but reduces the impact of imperfect boundary detection. For enterprise corpora with diverse document formatting, some overlap is almost always worth the cost.

Metadata Design: What Makes Retrieval Filterable

Why Metadata Determines Retrieval Precision

Vector similarity search finds semantically similar content. Metadata filtering constrains retrieval to content from the right sources, the right time periods, the right document types, and the right access levels. Without metadata, every query searches the entire corpus regardless of whether the query is specifically about a recent policy update, a particular product line, or documents accessible to the querying user.

Metadata precision directly controls retrieval precision. A query about a contract amendment from last quarter should not retrieve contract templates from three years ago that happen to be semantically similar. A user query that should only surface content accessible to their role should not retrieve board-level documents they are not authorized to see. Neither of these constraints is achievable without well-structured metadata.

What Metadata the Knowledge Base Needs

The minimum metadata set for enterprise RAG includes document source, document type, creation date, last updated date, content owner, and access level or sensitivity classification. These fields enable the retrieval layer to filter candidates before ranking them by relevance, which reduces noise and improves precision without requiring changes to the retrieval architecture.

Beyond the minimum set, domain-specific metadata adds significant value for specific retrieval use cases. For legal document corpora, contract type, counterparty, and effective date enable highly scoped retrieval. For technical documentation, product version, platform, and deprecation status prevent outdated specifications from contaminating current guidance. Designing metadata schemas around the specific filtering requirements of the retrieval use cases the system needs to support, rather than applying a generic metadata template, is a design investment that pays back in retrieval precision.

Metadata Enrichment as a Data Preparation Step

Many enterprise documents do not carry structured metadata in their original form. A scanned policy document may have a filename but no creation date, owner, or access classification embedded in its content. A legacy technical specification may exist as a plain text file with no structural metadata at all. Metadata enrichment, the process of extracting, inferring, or manually assigning structured metadata to documents before indexing, is a data preparation step that most knowledge bases require but few teams budget for explicitly. Text annotation services that include metadata enrichment as part of corpus preparation treat it as an annotation task rather than an afterthought, producing indexes where every document carries the metadata that retrieval filtering depends on.

Deduplication, Versioning, and Corpus Maintenance

What Duplicate Documents Do to Retrieval Quality

Duplicate documents in a knowledge base do not just waste index space. They actively degrade retrieval quality. When two versions of the same document are both indexed, queries that should return one precise result return two partially overlapping chunks from different versions. If those versions contain different information, which is common in enterprise environments where documents are updated and re-uploaded without removing the originals, the retrieval layer surfaces conflicting context. The model then generates from contradictory source material.

Deduplication before indexing is not a nice-to-have. It is a prerequisite for retrieval reliability. Content-based deduplication that identifies near-duplicate documents and retains only the canonical version, combined with a version management process that replaces rather than appends when documents are updated, prevents duplicate content from accumulating in the index.

Version Control for a Living Knowledge Base

Enterprise knowledge bases are not static. Policies change. Contracts get amended. Product specifications are updated. A knowledge base that was well-maintained at launch will degrade in retrieval quality over time if there is no ongoing process for managing document versions.

Version control for a RAG knowledge base means defining what happens to the existing indexed version of a document when an updated version is ingested. The safe approach is to retire the old version, index the new version, and update the metadata to reflect the change. Programs that append new versions without retiring old ones accumulate version conflicts that are invisible to the retrieval layer but produce inconsistent retrieval outputs. Data collection and curation services that include ongoing corpus maintenance alongside initial ingestion treat the knowledge base as a living asset that requires active management rather than a one-time build.

Index Freshness and Re-indexing Pipelines

Re-indexing should trigger on source document change, not on a fixed schedule. A weekly batch re-index means that for up to seven days after a policy change, the retrieval layer is surfacing the old version with full confidence. For regulated industries where policy currency matters for compliance, that is an unacceptable gap.

Change-triggered re-indexing pipelines require integration between the document management system and the indexing pipeline, which adds engineering complexity. That complexity is worth managing. The alternative is a knowledge base that gradually becomes a source of confidently stated outdated information, which is the failure mode that damages user trust in RAG systems faster than almost anything else.

Access Control at the Knowledge Base Layer

Why Document-Level Access Control Must Live in the Index

Access control for enterprise RAG cannot rely on the generation layer to filter sensitive content from outputs. The generation layer sees whatever the retrieval layer passes to it. If the retrieval layer surfaces a document that the querying user should not have access to, the generation layer has already been exposed to that content before any output filter can operate.

Document-level access control must be enforced at the retrieval layer, before candidates are ranked and passed to the model. This means the metadata schema must include sensitivity classification and access role mapping for every indexed document, and the retrieval pipeline must filter on those fields as a precondition to similarity search, not as a post-processing step.

Multi-Tenancy and Namespace Isolation

For enterprise environments where different user groups should access different subsets of the knowledge base, namespace isolation or multi-tenant vector store configuration is the appropriate architecture. A single shared vector store with metadata-based access filtering is manageable at a moderate scale. At a large scale with many user roles and sensitivity levels, namespace isolation that physically separates document subsets by access group provides stronger guarantees and simpler access control logic.

The design choice between metadata filtering and namespace isolation depends on the number of distinct access groups, the overlap between them, and the compliance requirements of the organization. Both approaches are viable. What is not viable is a single shared index with no access control logic, which is the default configuration of most early RAG implementations.

How Digital Divide Data Can Help

Digital Divide Data supports enterprise RAG programs at the knowledge base layer, where retrieval reliability is determined before the retrieval pipeline is ever configured.

For programs preparing document corpora for indexing, data collection, and curation services, including document parsing, deduplication, semantic boundary chunking design, metadata enrichment, and access classification as part of corpus preparation, producing indexes built for retrieval precision from the start.

For programs managing ongoing knowledge base maintenance, text annotation services support continuous metadata enrichment and version management workflows that keep corpus quality stable as document collections evolve.

For programs evaluating retrieval quality against knowledge base design choices, model evaluation services provide retrieval-specific evaluation frameworks that diagnose whether precision failures originate in the knowledge base or in the retrieval pipeline.

If your RAG system is returning irrelevant results or surfacing outdated content, the answer is almost always in the knowledge base design. Talk to an expert.

Conclusion

A RAG system is only as reliable as the knowledge base it retrieves from. Retrieval pipeline sophistication cannot compensate for a corpus with poor chunking, missing metadata, duplicate documents, or stale content. The knowledge base is the upstream dependency, and the design decisions made when building it determine the ceiling of retrieval quality regardless of what is built on top of it.

The programs that build reliable RAG systems treat knowledge base design as a first-class engineering discipline. They invest in semantic chunking strategies that respect document structure, metadata schemas designed around their retrieval use cases, deduplication and versioning processes that prevent corpus degradation, and access control architectures that enforce document-level security at the retrieval layer. Retrieval-augmented generation built on a well-designed knowledge base is what separates the enterprise AI systems that users trust from the ones that quietly accumulate retrieval failures until trust erodes entirely.

References

Miyaji, R., Moulin, R., Monção, S., & Machado, L. (2025). Empowering business decisions and knowledge management through advanced RAG-driven QA systems. 2025 IEEE Conference on Artificial Intelligence (CAI). https://doi.org/10.1109/CAI64502.2025.00016

Frequently Asked Questions

Q1. Why does knowledge base design matter more than retrieval pipeline configuration for RAG quality?

The retrieval pipeline operates on chunks that were indexed from documents that were prepared before the pipeline was built. If the chunks are malformed, duplicated, or missing metadata, the retrieval pipeline has no way to recover that. Retrieval technique sophistication, hybrid search, reranking, and query expansion all improve results within the constraints set by the knowledge base. The knowledge base sets the ceiling.

Q2. What is semantic boundary chunking, and why does it outperform fixed-size chunking for enterprise content?

Semantic boundary chunking splits documents at natural structural boundaries such as section headers, paragraph breaks, and logical transitions. Fixed-size chunking splits at token counts regardless of document structure. For heterogeneous enterprise content where different document types have different structural logic, semantic boundary chunking produces coherent chunks that are meaningful as standalone units. Fixed-size chunking produces fragments that cut across logical boundaries, degrading retrieval precision because the retrieved chunk may not contain the complete information the query needs.

Q3. What metadata fields are essential for an enterprise RAG knowledge base?

The minimum set includes document source, document type, creation date, last updated date, content owner, and access level or sensitivity classification. These fields enable the retrieval layer to filter candidates before ranking by relevance. Beyond the minimum, domain-specific metadata fields calibrated to the specific retrieval use cases of the system, such as contract type for legal corpora or product version for technical documentation, substantially improve retrieval precision for those use cases.

Q4. How should a knowledge base handle document updates to prevent stale content from degrading retrieval?

Updated documents should replace rather than append to existing indexed versions. This means the old version is retired from the index, and the new version is ingested and indexed with updated metadata. Programs that append new versions without retiring old ones accumulate version conflicts where queries return chunks from multiple versions of the same document containing different information. Change-triggered re-indexing pipelines that detect document updates and trigger re-ingestion automatically are the production standard for maintaining index freshness.

How to Build a Knowledge Base That Actually Makes RAG Reliable Read Post »

Scroll to Top