Recursive AI-generated training data has no governance standard. SWT3 procedures track synthetic fraction, generation depth, and contamination status at every stage.
Audience: ML engineers, data governance teams, EU AI Act compliance officers, dataset curators, AI safety researchers, and auditors evaluating training data quality obligations.
Assessor Notice: SWT3 witness anchors record that specific governance and operational controls were active at a specific point in time. They do not replace the assessor's independent judgment, regulatory authority, or organizational due diligence. Compliance determinations remain the responsibility of the applicable regulatory body.
Synthetic data is no longer supplementary. Industry estimates suggest 60% of AI training data will be synthetic by 2030. What was once a technique for augmenting scarce datasets has become the default data strategy for organizations training large models.
Agentic AI accelerates this trend dramatically. Agents generating training data, evaluation data, and augmentation data for other agents creates feedback loops that no human has reviewed. The boundary between "real" data and "generated" data is dissolving inside production pipelines.
The arxiv paper "The Synthetic Mirror" (June 2026) documents agent-generated synthetic feedback loops as an emerging systemic risk. The Global AI Federation flagged recursive synthetic data contamination as an urgent multilateral priority in 2026.
The fundamental shift: organizations used to ask "Should we use synthetic data?" Now the question is "How much of our training data is already synthetic without us knowing?"
When a model trains on the output of another model, and that model trained on outputs of yet another model, the statistical distribution narrows with each generation. This is "model collapse" -- first documented by Shumailov et al. (2023), now observed in production systems.
The mechanism: each generation of synthetic data slightly amplifies the most common patterns and attenuates the least common ones. After several generations, the resulting distribution bears little resemblance to the original real-world data. Tail events disappear. Edge cases vanish. The model becomes confidently wrong about anything it has not seen repeatedly.
The hidden danger: any organization scraping web data for training is already ingesting AI-generated content without knowing it. The internet is increasingly composed of AI outputs. There is no reliable way to distinguish AI-generated text from human-written text at scale.
California SB 942 (operative August 2, 2026) requires AI content provenance disclosures -- but this applies to outputs, not to training inputs. No governance standard addresses the synthetic data lifecycle from generation through curation to training.
The core problem: When an AI model trains on the outputs of another AI model, and that model trained on the outputs of yet another model, the resulting weights contain recursive assumptions that no human has ever validated. This is "model collapse" -- and it is already happening at scale. The internet is increasingly composed of AI-generated content. Any organization scraping web data for training is ingesting synthetic outputs without knowing it. The question is no longer "Do you use synthetic data?" but "How many generations of AI output are baked into your training set?"
Under EU AI Act Article 10, high-risk system providers must document training data quality and provenance, including synthetic components. Without synthetic data provenance attestation, you cannot answer the most basic audit question: what fraction of your training data is synthetic, and how deep is the generation chain?
SWT3 synthetic data procedures record the synthetic fraction, generation depth, and contamination check results at each stage of the data lifecycle -- creating an auditable record that distinguishes first-generation synthetic augmentation from recursive multi-generation derivatives.
The practical impact is immediate. A first-generation synthetic dataset -- generated directly from curated real-world data with human review -- carries a fundamentally different risk profile than a third-generation dataset where AI outputs were used to generate more AI training data. Without provenance attestation, both look the same in a training pipeline. With it, an auditor can trace the lineage chain and assess whether the generation depth is appropriate for the system's risk classification.
| Regime | Synthetic Data Requirement | Current Evidence Gap | SWT3 Evidence |
|---|---|---|---|
| EU AI Act Art. 10 | Training data quality including synthetic data properties | No standard for synthetic fraction disclosure or depth tracking | AI-DATA.5 records fraction, depth, contamination |
| EU AI Act Art. 53 | GPAI training data transparency documentation | Cannot distinguish synthetic from organic in documentation | AI-DATA.5 + AI-DATA.1 source composition |
| California SB 942 | AI content provenance disclosure | Applies to outputs, not training inputs -- training-side gap | AI-DATA.5 generation chain documentation |
| NIST AI RMF MAP 2.3 | Data quality assessment and documentation | No synthetic-specific quality metrics or depth tracking | AI-DATA.2 quality metrics + AI-DATA.5 depth |
| Global AI Federation (2026) | Recursive contamination risk management | No contamination detection or reporting standard | AI-DATA.5 contamination check field |
Four stages where witness evidence is needed:
Synthetic data is created by an AI model. This is where generation depth begins. If the generative model was itself trained on synthetic data, the generation depth compounds. AI-DATA.5 records the generation depth at this stage.
Synthetic data is filtered, validated, and mixed with organic data. The synthetic fraction is determined here. AI-DATA.5 records the synthetic fraction and AI-DATA.2 records quality metrics applied to the synthetic component specifically.
The blended dataset trains a new model. AI-DATA.1 records the source composition, and AI-MDL.5 records weight hashes before and after training on the synthetic-inclusive dataset.
Model performance is assessed for synthetic data artifacts (distributional narrowing, reduced diversity, hallucination patterns). If the model's outputs will be used as training data for the next generation, the cycle begins again -- and generation depth increments.
What it records: Synthetic fraction code (0=none, 1=partial <50%, 2=majority ≥50%, 3=full 100%), generation depth (0=original human data, 1=first-gen synthetic, 2+=recursive), contamination check result (0=not checked, 1=clean, 2=contaminated).
What it proves: The synthetic composition of training data is documented with lineage depth and contamination status.
The generation depth is the most critical field. Depth 0 means no synthetic data. Depth 1 means synthetic data generated directly from organic source data -- the lowest-risk synthetic profile. Depth 2 or higher means recursive synthesis where AI outputs were used to generate more AI training data. Any depth > 1 without a contamination check (factor_c = 0) is a model collapse risk. For high-risk AI systems under EU AI Act Art. 10, generation depth > 2 without documented contamination mitigation is a finding.
What it records: Source composition identifier, record count, quality check status.
What it proves: The training dataset's source composition is documented, distinguishing organic from synthetic sources.
Compare AI-DATA.1 source inventory against AI-DATA.5 synthetic fraction. If the synthetic fraction exceeds what the source inventory accounts for, there is unattested synthetic contamination -- likely from web-scraped content that was AI-generated without the organization's knowledge.
What it records: Quality metric type, measured value, threshold applied.
What it proves: Quality metrics were applied and documented, including synthetic-specific assessments.
Verify that quality metrics were applied specifically to the synthetic component, not just to the blended dataset. Synthetic data that passes quality checks only when mixed with organic data may be masking distributional collapse. Request separate quality attestations for the synthetic and organic portions.
What it records: Total samples, features, class balance metrics for the training dataset.
What it proves: The statistical properties of the training data are documented, providing a baseline for detecting synthetic-induced drift.
Request lineage tracking for any synthetic component. Verify that the generative model used to create the synthetic data is itself documented. Synthetic data from an undocumented model has unknown provenance -- and unknown provenance means unknown generation depth.
What it records: SHA-256 hash of model weight files at lifecycle moments.
What it proves: Weight file state is documented before and after training on synthetic data, establishing a baseline for behavioral attribution.
Compare weight hashes before and after synthetic data was introduced to the training set. This establishes a causal baseline: if model behavior drifts after synthetic data inclusion, the weight delta provides attribution evidence. Without pre/post hashes, behavioral changes cannot be attributed to the synthetic component.
| Clearing Level | Synthetic Data Profile | Required Attestations | Risk Threshold |
|---|---|---|---|
| L0 (Analytics) | Synthetic augmentation <10%, depth 1, non-sensitive | AI-DATA.5 summary only | Low |
| L1 (Standard) | Synthetic up to 50%, depth 1, human-reviewed | AI-DATA.5 + AI-DATA.1 source composition | Medium |
| L2 (Sensitive) | Any synthetic fraction in regulated-domain data | Full DATA procedure set + contamination check required | High |
| L3 (Classified) | Any synthetic in high-risk system (EU AI Act Annex III) | Full set + per-batch provenance + recursive depth audit | Critical |
A customer service AI provider deploys version 1.0 of its chatbot. The model handles 50,000 customer interactions per month. Each quarter, the provider fine-tunes the next version on the previous quarter's interaction logs -- a standard practice for improving domain relevance.
The problem: 40% of those interactions were handled by the AI itself. Version 2.0 is training on version 1.0's outputs. Version 3.0 trains on a mix of human interactions and version 2.0's outputs. By version 4.0, the training data is predominantly recursive AI output with distributional narrowing that manifests as reduced response diversity and increased hallucination on edge cases.
The provider notices that version 4.0 gives confident but incorrect answers to unusual customer questions -- questions that earlier versions handled by escalating to a human agent. The model has "learned" to answer everything confidently because that is what its recursive training data reinforced.
Without synthetic data provenance, the organization cannot even identify that this is happening. The training data looks like "real customer interactions" because it was -- interactions handled by the AI. There is no flag distinguishing AI-handled interactions from human-handled ones in the training pipeline.
With AI-DATA.5 attestation at each training cycle, the synthetic fraction is recorded: version 2.0 shows 40% synthetic at depth 1; version 3.0 shows an estimated 55% synthetic at depth 2; version 4.0 shows an estimated 70% synthetic at depth 3. The contamination check at version 3.0 would have flagged the recursive depth, triggering review before the distributional collapse compounded to version 4.0.
The invisible line: Recursive training on a model's own outputs is not a theoretical risk. It is a standard practice described as "continuous improvement" in every MLOps playbook. Without synthetic data provenance, the line between "continuous improvement" and "model collapse" is invisible until the model fails in production.
| Procedure | EU AI Act Art. 10 | EU AI Act Art. 53 | CA SB 942 | NIST AI RMF | Model Collapse Risk |
|---|---|---|---|---|---|
| AI-DATA.5 | ✓ | ✓ | ✓ | ✓ | ✓ |
| AI-DATA.1 | ✓ | ✓ | ✓ | ||
| AI-DATA.2 | ✓ | ✓ | ✓ | ||
| AI-DATA.3 | ✓ | ✓ | ✓ | ✓ | |
| AI-MDL.5 | ✓ | ✓ |
from swt3_ai import Witness
w = Witness(
api_key="axm_your_key_here",
endpoint="https://sovereign.tenova.io/api/v1/witness"
)
# Record synthetic data provenance
w.witness("AI-DATA.5", verdict="PASS",
factor_a=1, # partial synthetic (<50%)
factor_b=1, # first-generation synthetic
factor_c=1 # contamination check: clean
)
# Record training data source composition
w.witness("AI-DATA.1", verdict="PASS",
factor_a=1, # source documented
factor_b=2400000, # total records
factor_c=1 # quality check passed
)
# Record quality metrics for synthetic component
w.witness("AI-DATA.2", verdict="PASS",
factor_a=1, # metric type: distributional divergence
factor_b=40, # measured value (0.04, scaled x1000)
factor_c=100 # threshold (0.10, scaled x1000)
)
w.flush()
import { Witness } from '@tenova/swt3-ai';
const w = new Witness({
apiKey: 'axm_your_key_here',
endpoint: 'https://sovereign.tenova.io/api/v1/witness',
});
// Record synthetic data provenance
await w.witness('AI-DATA.5', {
verdict: 'PASS',
factorA: 1, // partial synthetic (<50%)
factorB: 1, // first-generation synthetic
factorC: 1, // contamination check: clean
});
// Record training data source composition
await w.witness('AI-DATA.1', {
verdict: 'PASS',
factorA: 1, // source documented
factorB: 2400000, // total records
factorC: 1, // quality check passed
});
await w.flush();
Get started: Create a free account to begin recording synthetic data provenance. See the SDK documentation for complete API reference and additional language examples.