Why the Provenance Record Became a Deliverable

A GxP decision is a decision that touches patient safety, product quality, or data integrity. Releasing a batch. Accepting or rejecting a visual inspection result. Classifying a deviation. Flagging an adverse event for expedited reporting. When a trained model participates in any of those decisions, the company has to be able to explain the decision. Explaining the decision means explaining the model. Explaining the model means explaining the data it learned from.

That last step is where most programs run out of documentation. A model registry entry will usually record the algorithm, the hyperparameters, the validation metrics, and the approval signatures. It will point at a training dataset by name. Then the trail stops. The dataset name refers to a folder on a network share, or a table in a lake, or an export a data scientist pulled eighteen months ago from a system that has since been upgraded twice. Nobody wrote down which query produced it, which rows were dropped, which columns were derived, or who decided that the twelve thousand images labeled “acceptable” were in fact acceptable.

This is not a hypothetical weakness. The broader machine learning field has measured it. A large-scale audit of more than 1,800 widely used text datasets found license omission rates above 70 percent and license error rates above 50 percent on popular dataset hosting sites, which the authors described as a crisis in misattribution and informed use of the datasets behind many recent advances.8 A separate longitudinal audit of 14,000 web domains found that within a single year roughly 45 percent of one major training corpus had become restricted by website terms of service, and more than 28 percent of its most actively maintained sources had been fully restricted through robots.txt.9 Data that was fairly used at collection time can become data you no longer have clear rights to.

70%+ License omission rate found across 1,800+ audited text datasets, with error rates above 50 percent8
45% Share of the C4 corpus restricted by website terms of service by 2024, up sharply in one year9
58/100 Average 2024 transparency score across 14 foundation model developers, with data access and copyright status among the areas of sustained opacity14

Pharma and biotech teams often assume these findings apply only to companies training large public models. They apply to any team that assembled a training set from more than one source, which is nearly every team. A visual inspection model trained on images from three manufacturing sites, a deviation classifier trained on ten years of quality records including records inherited through an acquisition, a pharmacovigilance triage model trained partly on a licensed literature corpus: each of these has a rights question, a lineage question, and a version question. Answering them after the fact is expensive and often impossible.

The design rule this article rests on. The provenance record is not a narrative document written at the end of a project. It is a structured record produced by the pipeline as the dataset is built, stored under the same controls as any other GxP record, and versioned alongside the model. If a human has to write it from memory, it is already wrong.

What the Rules Actually Say Today

Before designing the record, it is worth being precise about what is legally binding right now, because a good deal of published commentary is not. Verified against primary sources as of September 2026, the position is as follows.

The EU AI Act: data governance duties for high-risk systems are not yet in force

Regulation (EU) 2026/1744, the Digital Omnibus on AI, was adopted on 8 July 2026, published in the Official Journal on 24 July 2026, and entered into force on 27 July 2026.1 It defers the application of the AI Act’s obligations for standalone high-risk systems listed in Annex III from 2 August 2026 to 2 December 2027, and for AI embedded in products already covered by EU product safety law under Annex I to 2 August 2028.1 The Article 10 data governance duties that sit inside that high-risk regime move with it.

Get this right in internal papers. Article 10 is not a current legal requirement for high-risk AI systems. Writing a business case that says otherwise invites a correction from legal counsel and undermines the rest of the argument. The accurate framing is that the obligations are deferred, not withdrawn, and that the preparation window is now finite and dated. We covered the mechanics of Article 10 itself in a separate piece linked below; this article deliberately does not repeat that analysis.

The general-purpose AI provider obligations did not move. The prohibited practices regime was expanded rather than deferred: the existing prohibitions still apply from 2 February 2025, and new prohibitions added by the same regulation apply from 2 December 2026.1 The second of those matters here for a practical reason: the European Commission published an Explanatory Notice and Template for the Public Summary of Training Content for general-purpose AI models on 24 July 2025.12 That template is the closest thing available to a regulator’s own view of what a training data disclosure should contain. It asks for model and provider identification, an organized listing of the main data source categories used in training (public datasets, licensed datasets, crawled or scraped online content, user data, synthetic data, other sources), and a processing and governance section covering copyright measures, removal of illegal content, and data protection compliance.12 A pharma team designing an internal provenance record can borrow that structure directly even though the obligation itself does not apply to them.

21 CFR Part 11: the record must be retrievable, controlled, and change-tracked

Part 11 does not say what a provenance record contains. It says what happens to it once it exists. Section 11.10(b) requires the ability to generate accurate and complete copies of records in both human readable and electronic form suitable for inspection, review, and copying by the agency. Section 11.10(c) requires protection of records to enable accurate and ready retrieval throughout the retention period. Section 11.10(e) requires secure, computer-generated, time-stamped audit trails that independently record operator entries and actions that create, modify, or delete electronic records, and requires that record changes not obscure previously recorded information. Section 11.10(k)(2) requires revision and change control procedures that maintain an audit trail documenting time-sequenced development and modification of systems documentation.2

Read those four together and the design implications are unusually concrete. The provenance record has to be exportable in a form a person can read and a system can process. It has to survive as long as the retention obligation on the decisions the model influenced. Changes to it have to be appended rather than overwritten. And the sequence of changes has to be reconstructable. That rules out a wiki page. It rules out a spreadsheet on a shared drive. It largely rules out anything that is not under formal document or record control.

EU GMP: Annex 11 governs, draft Annex 22 concentrates on test data

Annex 11 of the EU GMP guide covers computerised systems generally and is the operative text for GxP systems in Europe. The draft Annex 22 on artificial intelligence, released for stakeholder consultation on 7 July 2025 with the consultation period closing on 7 October 2025, is explicitly positioned as additional guidance to Annex 11 for computerised systems in which AI models are embedded.3 It remains a consultation draft. There is no final adopted text and no announced implementation date. Any internal plan that assumes an effective date is assuming something the regulators have not said.

The draft’s content is worth reading closely, because it shapes what a provenance record needs to prove. Section 5 sets out expectations for test data: it should be representative of and expand the full sample space of the intended use, be stratified, include all subgroups, and reflect the limitations, complexity, and common and rare variations of that intended use, with the criteria and rationale for selection documented. Test datasets and subgroups should be sufficient in size to calculate test metrics with adequate statistical confidence. Labeling of test data should be verified through a process that ensures a very high degree of correctness, which may include independent verification by multiple experts, validated equipment, or laboratory tests. Any pre-processing should be pre-specified with a rationale. Any cleaning or exclusion should be documented and fully justified. Generation of test data or labels by means of generative AI is not recommended and any use should be fully justified.3

Section 6 goes further on independence: technical or procedural controls should ensure data used to test a model was not used during development, training, or validation; test data should be protected by access control and audit trail functionality logging accesses and changes; there should be no copies of test data outside that repository; and it should be recorded which data has been used for testing, when, and how many times.3

The gap worth noticing

The draft is detailed about test data and comparatively quiet about training set origin. Its main lever on training data is section 2.2, which says documentation for the described activities should be available and reviewed by the regulated user whether the model was trained, validated, and tested in-house or supplied by a vendor.3

That is a general obligation with no field list attached. It means two things at once. Nobody can hand you a compliant template. And nobody can tell you your design is wrong, provided it answers the questions an inspector will actually ask.

Industry guidance: structure without a schema

The ISPE GAMP Guide: Artificial Intelligence, announced on 29 July 2025, is the first comprehensive AI guidance aimed at the pharmaceutical industry. It positions data as the backbone of AI-enabled systems while keeping patient safety, product quality, and data integrity at the front of decision making, and builds on GAMP 5 Second Edition, the Records and Data Integrity Guide, and the Data Integrity by Design Good Practice Guide.4 It gives you the lifecycle framing and the vocabulary. It does not give you a field list either.

The EMA reflection paper on the use of artificial intelligence in the medicinal product lifecycle, adopted in September 2024, is the clearest European statement of principle: sources of data and any processing activity should be documented in detail to allow traceability in line with GxP requirements, and bias identification is treated as a high priority.5 Again, a principle rather than a schema.

One more useful signal comes from outside life sciences. The NIST Generative AI Profile, published as NIST AI 600-1, treats content provenance as one of four primary considerations alongside governance, pre-deployment testing, and incident disclosure.13 Worth noting that NIST’s use of the term is mostly about the provenance of AI outputs and synthetic content, which is a different problem from the provenance of training inputs. Teams that borrow the vocabulary without noticing the distinction end up building the wrong control.

The Provenance Record, Field by Field

What follows is a working schema. It is organized into five blocks that answer five different questions, and it is deliberately flat enough to be produced by a pipeline rather than written by a person. The identifiers matter: every block hangs off a dataset version identifier that is immutable once issued.

Block 1: Source

One entry per contributing source. A training set assembled from four systems has four source entries, not one. This is where most reconstructions fail, because the merged dataset has lost the boundary between its inputs.

FieldWhat it holdsWhy an inspector asks
source_idStable identifier for this contributing source within the datasetLets every downstream row be traced back to one origin
system_of_originNamed system and instance, with the validated state of that system at extraction timeData from a non-validated instance carries different weight
extraction_queryExact query, API call, or export definition, stored verbatimThe only way to show what was and was not pulled
extraction_timestampDate and time of extraction, with time zoneAnchors the dataset to a point in the source system’s own history
record_countRows, images, or documents extracted from this sourceReconciles against the final dataset count
date_range_coveredEarliest and latest business date representedShows whether the set spans a process change or a site transfer
site_or_entityManufacturing site, clinical site, or legal entity that generated the dataSupports subgroup analysis and post-acquisition rights questions
extracted_byNamed individual or service account, with rolePart 11 attributability
source_hashCryptographic hash of the extracted payload as receivedProves the raw extract has not been altered since

Block 2: Rights and license

One entry per source, and it needs a status rather than a free text note. The audit findings on license omission and misattribution cited above are what happens when this block is optional.8

FieldWhat it holds
ownershipWhich legal entity owns the underlying data, named explicitly
rights_basisInternally generated, licensed, contracted, public domain, or open license
license_referenceContract number, license name and version, or agreement identifier
permitted_useWhether the agreement permits model training specifically, not just analysis
territorial_scopeWhere the data may be processed and stored
expiry_or_review_dateWhen the rights lapse or must be reconfirmed
rights_verified_byNamed reviewer, usually legal or contracts, with date
onward_use_restrictionsAny limit on model distribution, publication, or transfer with the model

The field that catches teams out is permitted_use. A vendor agreement that permits a company to analyze its own instrument data does not automatically permit training a model on it and deploying that model at other sites. A literature license that permits reading does not automatically permit ingestion. These are different rights and they need separate confirmation.

Block 3: Transformation

Every step between the raw extract and the training set, in order, each one individually recorded. This is the block that makes the dataset reproducible and it is the one most often reduced to a single line saying “cleaned and normalized”.

FieldWhat it holds
step_sequenceOrdinal position, because order changes the result
operation_typeFilter, join, deduplicate, impute, normalize, augment, resample, redact, or derive
code_referenceRepository, file path, and commit hash of the code that ran
parametersActual parameter values used, not defaults referenced elsewhere
records_in / records_outCounts before and after, so every dropped record is accounted for
exclusion_rationaleWhy records were removed, referenced to a pre-specified rule where one exists
executed_byPerson or scheduled job, with timestamp
output_hashHash of the output of this step

Two details make this block defensible rather than decorative. First, records_in and records_out must reconcile across the whole chain, from source extract counts to final dataset count. An unexplained difference of forty rows is the kind of thing an inspector finds in five minutes. Second, exclusion rationale should point at a rule written before the exclusion, not a justification written after it. Draft Annex 22 makes exactly this point about test data: cleaning or exclusion should be documented and fully justified, and pre-processing should be pre-specified with a rationale that it represents intended use conditions.3 The same discipline applied to training data is not required by the draft, and it is still the right design.

Block 4: Labeling

Covered in its own section below, because labeler qualification is the field pharma teams most often leave empty and the one that carries the most weight in a GxP argument.

Block 5: Consent and personal data

FieldWhat it holds
personal_data_presentYes, no, or pseudonymized, assessed per source
legal_basisConsent, legitimate interest, contract, or other basis, per jurisdiction
consent_scopeWhether the original consent covers secondary use for model development
deidentification_methodTechnique used, with the validation reference for that technique
reidentification_assessmentWhether a risk assessment was performed and its conclusion
withdrawal_handlingWhat happens to the model if a subject withdraws consent

The withdrawal field is uncomfortable and it belongs in the record anyway. A trained model does not forget a record because the underlying row was deleted. Deciding in advance whether withdrawal triggers retraining, triggers a documented risk acceptance, or is handled by the fact that the training data was irreversibly aggregated is better than discovering the question during an audit.

The dataset-level header

Above the five blocks is a short header that ties the record to the model and to the decision it supports.

IDENTITY

dataset_version_id and content hash

Immutable once issued. The hash covers the assembled dataset, not just the manifest, so that a changed file produces a changed identity.

PURPOSE

intended_use_reference

Pointer to the approved intended use description for the model. Draft Annex 22 expects intended use to be characterized in detail, including the input sample space and its rare variations.3

SPLIT

partition_map

Which records went to training, validation, and test, with the mechanism that keeps the test partition isolated and the access controls over it.

APPROVAL

fitness_statement and signatures

A short signed statement that this dataset is fit for the stated intended use, from a process subject matter expert and quality, with date.

Pinning a Dataset Version So Someone Can Rebuild It

A provenance record that describes a dataset nobody can reconstitute is a description, not a record. Pinning means that two years from now, a person who was not there can produce a byte-identical dataset from the record alone, or can prove that the stored dataset is the one described.

Three mechanisms, used together

Content addressing. Hash the assembled dataset and make that hash part of its identity. Any change produces a new identity rather than a modified old one with no visible difference. This is what makes the Part 11 requirement that record changes not obscure previously recorded information2 achievable for a dataset rather than only for a form field.

Immutable storage. The dataset itself lives in storage that does not permit overwrite, with retention set to match the retention obligation on the decisions the model touched. Retention design has its own considerations at end of life, which we address separately in the article on decommissioning a GxP AI system.

A machine-readable manifest. The provenance record should exist in a structured format, not only as a PDF. Two established options are worth knowing. W3C PROV-O, a W3C Recommendation since 30 April 2013, models provenance as entities, activities, and agents connected by relations such as was generated by, used, and was attributed to.6 That maps cleanly onto a data pipeline: the dataset is an entity, each transformation step is an activity, and the person or service account is an agent. Croissant, developed through MLCommons and published as a specification with an accompanying peer-reviewed paper, is a JSON-LD metadata format for machine learning datasets built on schema.org, organized into dataset metadata, resource, structure, and semantic layers, and adopted by several major dataset repositories.1011

Why bother with a standard format at all. Three reasons that hold up in a GxP setting. It makes the record queryable, so questions like “which models used data from this site before the 2025 line change” are answerable in minutes rather than weeks. It makes the record portable, which matters when a system is replaced or a program moves to a new vendor. And it makes automated checks possible, so a pipeline can refuse to train on a dataset whose rights block is incomplete rather than relying on a reviewer to notice.

The narrative layer still matters

Structured metadata answers what. It does not answer why. The datasheet concept, introduced by Gebru and colleagues, proposes that every dataset be accompanied by a document covering motivation, composition, collection process, recommended uses, and related considerations, on the model of a component datasheet in electronics.7 That narrative layer is what a reviewer reads first and what an inspector will ask about. The practical arrangement is a two-part record: a generated structured manifest that carries the facts, and a short approved narrative that carries the reasoning, with the narrative under document control and the manifest under record control.

Labeling, Labelers, and the Qualification Question

In a GxP setting the label is a judgment. When a person marks a vial image as a reject, that is a quality decision, and the usual rules about who is competent to make quality decisions do not stop applying because the decision happened during dataset preparation. Yet labeling is routinely treated as data preparation work, outsourced without qualification records, and documented nowhere.

Draft Annex 22 is clear on the test side: labeling of test data should be verified following a process that ensures a very high degree of correctness, which may include independent verification by multiple experts, validated equipment, or laboratory tests.3 For training labels the draft is silent, which leaves the design to the company. The defensible position is that training labels get a proportionate version of the same treatment, scaled to risk.

The labeling block

FieldWhat it holds
label_schema_versionThe definition of each class, versioned, because class definitions drift
labeling_procedure_refThe approved procedure or work instruction the labelers followed
labeler_idPseudonymous but resolvable identifier for each labeler
labeler_qualificationTraining records, competency assessment, and the role that authorizes the judgment
labeler_organizationInternal, contracted, or third-party vendor, with the agreement reference
labels_per_recordSingle-labeled, double-labeled, or adjudicated
agreement_metricInter-rater agreement on the overlap sample, with the method used
adjudication_ruleHow disagreements were resolved and by whom
ground_truth_basisWhere a label came from an instrument or laboratory result rather than a human, the method and its qualification status
label_change_logAny relabeling after the fact, with reason and approver

Two of these deserve emphasis. Agreement metric gives you a number to defend when someone asks how good the labels are. Without an overlap sample, there is no answer other than an opinion. Label change log matters because relabeling is common and rarely recorded. If a model underperformed and someone went back and corrected labels, that is a change to a GxP-relevant record, and Part 11’s requirement that changes not obscure previously recorded information applies to it.2

Synthetic and machine-generated labels

Draft Annex 22 says generation of test data or labels, for example by means of generative AI, is not recommended and any use should be fully justified.3 Teams increasingly use a large model to pre-label a training set and have humans correct the output. That practice is not prohibited on the training side, and it changes what the provenance record must show.

Record the generating model and its version, the prompt or configuration, the human review rate, the correction rate, and whether reviewers saw the machine suggestion before making their own judgment. The last one is the important one: a reviewer shown a suggestion agrees with it more often than one who is not, and a record that does not disclose the ordering overstates the independence of the human check.

The rights block is the part of the provenance record most likely to be dismissed as a legal matter that data teams should not have to handle. It is also the part most likely to produce an expensive surprise, because rights change after collection while the dataset does not.

Rights drift is a real failure mode

The web domain audit cited earlier documented how quickly permission conditions can move: within roughly a year, the share of one widely used corpus restricted by terms of service reached 45 percent, and more than 28 percent of the most actively maintained sources in it became fully restricted through robots.txt.9 Public web data is the extreme case, but the same pattern shows up internally. A data sharing agreement with a contract manufacturer expires. An acquired company’s data turns out to have been collected under consent language that does not cover model development. A vendor changes its terms at renewal and the new terms restrict training use.

The provenance record handles this with two fields that most designs omit: expiry_or_review_date and a periodic reconfirmation step. Rights are given a review date the same way a supplier qualification is. When the date arrives, someone confirms that the basis still holds and records the confirmation. When it does not hold, that becomes a documented decision about the model, not a discovery two years later.

Borrowing the Commission’s structure

The Commission’s training content template for general-purpose AI models is a useful structural reference even for teams entirely outside its scope. Its source category listing (public datasets, licensed datasets, crawled or scraped online content, user data, synthetic data, other sources) is a reasonable taxonomy for classifying internal training sets, and its processing and governance section shows the kind of narrative a regulator considers adequate for copyright measures and data protection compliance.12 Using a published regulatory structure rather than inventing one has an argumentative advantage: when an inspector asks why the record is organized this way, the answer points at a document the regulator wrote.

One thing not to do. Do not classify a source as “internal” simply because the file is stored on an internal system. Data received from a contract manufacturer, a clinical site, a laboratory network, or an instrument vendor arrives with terms attached, and those terms travel with the data regardless of where it is stored. The rights basis field should record the origin of the entitlement, not the location of the file.

Keeping the Record Alive Through Retraining

A provenance record that is accurate on the day of first validation and stale six months later is worse than no record, because it invites reliance it cannot support. Retraining is where the record either holds or decays without anyone noticing.

The change control question around retraining, which decisions require what level of assessment and when a retrained model needs revalidation, is a topic in its own right and we treat it separately. What matters here is narrower: what happens to the provenance record when the dataset changes.

1

Issue a new dataset version, never edit the old one

The retrained model points at dataset_version_id v2. Version v1 remains exactly as it was, still linked to the model version it trained, still retrievable for as long as the decisions it influenced must be retained. Editing v1 in place breaks the link between a past decision and the data behind it.

2

Record the delta explicitly

A new version record carries a delta block: which sources were added, which were removed, which transformation steps changed, how many records differ, and what the rationale was. An inspector comparing two model versions should be able to see the data difference without diffing two large files.

3

Re-verify the rights block, do not carry it forward

New data brings new rights questions and old data may have moved. The rights_verified_by field gets a new signature and date for every dataset version, even when nothing appears to have changed. Copying the previous verification forward is how a lapsed license survives three retraining cycles unnoticed.

4

Protect the test partition across versions

Draft Annex 22 expects effective controls to keep test data out of development, training, and validation, expects access to it to be controlled and audit-trailed, expects no copies outside the repository, and expects a record of which data was used for testing, when, and how many times.3 Retraining is where that isolation most often breaks, because the convenient new training pool includes last year’s test set.

5

Reconcile the record against monitoring signals

Where drift monitoring has flagged a change in the input distribution, the provenance record for the next dataset version should show whether the new data addresses that change. Monitoring that never feeds back into the dataset design is an alarm with nothing on the other end of it.

Version chains get long. A model retrained quarterly for three years has twelve dataset versions, and an inspector will not read all of them. What they will do is pick one, usually the one behind a decision they are already looking at, and follow it. The record has to be equally good at version seven as at version one, which is another argument for generating it rather than writing it.

Presenting the Record to an Inspector

Everything above is design. This section is delivery, and delivery is where good records still fail. An inspector has limited time and is not going to learn your data architecture. What they will do is ask a small number of questions and watch how quickly and confidently you answer.

The four questions to rehearse

The questionWhat they are testingWhich record fields answer it
Where did the data that trained this model come from? Whether you know, or are reconstructing on the spot Source block for every contributing source, with extraction query and timestamp
Show me that this is the dataset you say it is. Whether the record is tied to the artifact or merely describes it dataset_version_id, content hash, immutable storage location
Who decided these labels were correct, and what qualified them? Whether label judgments were made by competent people under a procedure Labeling block: procedure reference, labeler qualification, agreement metric, adjudication rule
What changed between this model version and the last one? Whether change control reaches the data, not only the code Delta block, rights re-verification signature, partition map

Two further questions come up often enough to prepare for. “Which records did you exclude and why” goes straight to the transformation block and the reconciliation of record counts. “Was any of this data used to test the model as well as train it” goes to the partition map and the isolation controls, and it is the question that a poorly designed pipeline answers badly.

The walkthrough package

Prepare a short package per model, refreshed at each dataset version, rather than assembling one under pressure. In practice it contains four things: a one-page dataset summary showing sources, counts, date ranges, and the fitness statement; the full structured provenance record in human readable and electronic form, which is the Part 11 11.10(b) expectation applied literally2; the labeling summary with qualification references; and the version chain showing every dataset version behind every deployed model version.

Keep the raw manifest available but do not lead with it. Handing an inspector a JSON-LD file at minute three is a way of appearing to comply while making the reviewer’s job harder, and reviewers notice.

A test worth running internally. Pick a model in production. Ask someone who did not build it to answer the four questions above using only what is stored, with no access to the original team. Give them two hours. Whatever they cannot answer is what an inspector will find, and the exercise takes an afternoon rather than a remediation program.

Where Provenance Records Fail

Five patterns account for most of the failures worth naming.

Reconstruction after the fact

The most common one. A model is already in use, provenance is requested, and someone spends six weeks rebuilding a history from Slack messages, notebook comments, and memory. The output is a plausible document that nobody can verify, which is a worse position than an honest gap, because it puts a signature on something unverified. The better response to a legacy model with no record is a documented gap assessment: state what is known, state what cannot be reconstructed, assess the risk, and decide whether the model continues, is retrained on a documented dataset, or is retired.

The vendor boundary

A model arrives trained. The vendor treats its training data as confidential. The regulated user still owns the obligation: draft Annex 22 says documentation should be available and reviewed by the regulated user whether the model was trained in-house or supplied by a vendor.3 Confidentiality is negotiable through structure. A vendor can usually provide source categories, date ranges, geographic coverage, labeling methodology and labeler qualification standards, and an attestation on rights and consent, without disclosing the data itself. Where a vendor will not provide even that, the record should say so plainly and the risk assessment should carry it. Transparency findings across major model developers show that copyright status, data access, and data labor remain areas of persistent opacity,14 so this is a predictable negotiation rather than an unusual one, and it belongs in the contract rather than in a support ticket after go-live.

The dataset that has no owner

Training sets are often assembled by a project team that disbands. The dataset then belongs to nobody: no one reviews its rights expiry, no one maintains its storage, no one notices when the underlying source system is decommissioned. Naming a data owner in the record header, with the same seriousness applied to system ownership, is a small field that prevents a large class of problems.

Documenting the pipeline instead of the dataset

A well-documented pipeline is not a provenance record. The pipeline describes what the code does in general. The record describes what happened to one specific dataset on one specific day with one specific set of parameters. Teams with mature engineering practices sometimes make this substitution honestly, pointing at a repository and a design document, and it does not answer the second inspector question at all.

Treating provenance as a compliance artifact only

The last one is a framing failure rather than a technical one. Teams that build the record purely to satisfy an anticipated inspection build it late, build it thin, and resent it. Teams that build it because it makes their own work possible get a different result. When a model underperforms at one site, the provenance record tells you whether that site was represented in training. When a class definition changes, the record tells you which datasets used the old definition. When a source system is upgraded, the record tells you which models depend on data from the prior version. That is engineering value, and it is the reason the record gets maintained between audits rather than only before them.

A reasonable starting scope. Do not attempt to retrofit provenance records across an entire model estate at once. Start with models that touch a GxP decision directly, apply the full schema to the next dataset version of each, and apply a reduced header-only record to lower-risk models. Draft Annex 22 supports proportionality explicitly: activities should be implemented based on the risk to patient safety, product quality, and data integrity.3

Conclusion

The regulatory position on training data provenance in September 2026 is genuinely unusual. The EU AI Act’s data governance duties for high-risk systems are deferred to December 2027 and August 2028. Draft Annex 22 has no final text and no implementation date, and what it does say concentrates on test data rather than training set origin. Part 11 tells you how to control a record without telling you what belongs in it. The GAMP AI guide and the EMA reflection paper give principles rather than schemas. There is, right now, no authority that will hand a pharma or biotech team a compliant field list.

That absence is the opportunity. The companies that design their provenance record now, while the requirement is a principle rather than a checklist, get to design it around how their data actually moves, test it against real inspector questions, and have two or three dataset versions of practice behind them before anything becomes binding. The companies that wait will be retrofitting a record onto models already in production, which is the expensive version of the same work and produces a weaker document. The fields in this article are a starting schema, not a standard. What makes any schema defensible is that it was designed deliberately, generated automatically, controlled properly, and rehearsed against the questions someone will actually ask.

Sakara Digital works with pharma and biotech organizations designing the records that have to hold up when an AI model touches a GxP decision. If you are building a training data provenance record and want an independent view on the schema, the controls around it, and how it will read to an inspector, we are happy to have that conversation.

For Further Reading