TRACE assessments are designed to be machine-readable. Embedding them in your content makes accountability findable, indexable, and verifiable — without requiring anyone to visit the scorecard manually. Three formats exist for different publishing contexts.
<head> or returned from an API. Readable by search engines, aggregators, and any JSON-aware tool. The default format for web-published content.trace: block to your feed's channel or item elements. Read natively by podcast apps and feed aggregators that support namespace extensions.| Criterion | JSON-LD | XML Namespace | C2PA Assertion |
|---|---|---|---|
| Primary use context | Web pages, APIs | RSS / Atom feeds | Media files |
| Human-readable without tools | Yes — inspect source | Yes — inspect feed | No — requires C2PA reader |
| Indexed by search engines | Yes (Google, Bing) | Partial (feed crawlers) | No |
| Survives file download / re-hosting | No — page-level only | No — feed-level only | Yes — embedded in file |
| Cryptographic verification | No | No | Yes — tamper-evident |
| Supported file types | .html, .json | .rss, .xml, .opml | JPEG, PNG, MP4, MP3, PDF, and more |
| Implementation effort | Low — add a script tag | Low — add namespace + elements | Medium — requires C2PA tooling |
| Can coexist with other formats | Yes | Yes | Yes |
| Versioning support | Yes — frameworkVersion field | Yes — version attribute | Yes — specVersion field |
| Community authorship possible | Yes — assessedBy field | Yes — trace:assessedBy element | Yes — field in assertion data |
trace: block in the RSS feed, and a C2PA assertion embedded in the audio file. Each serves a different reader in a different context.
Regardless of format, every TRACE metadata object encodes the same core information. The field names differ by format; the data model is identical.
| Data Point | JSON-LD field | XML element | C2PA assertion key |
|---|---|---|---|
| Content title | contentTitle |
<trace:content title="…"> |
contentTitle |
| Producer | producer |
<trace:producer> |
producer |
| Community represented | communityRepresented |
<trace:community> |
communityRepresented |
| AI disclosure | aiGenerated, aiTools |
<trace:ai generated="true"> |
aiGenerated, aiTools |
| Track (A or B) | track |
<trace:track> |
track |
| Disqualified | disqualified |
<trace:disqualified> |
disqualified |
| Category scores | scores.transparency, etc. |
<trace:score category="…"> |
scores.transparency, etc. |
| Total score | totalScore, maxScore |
<trace:total score="…" max="…"> |
totalScore, maxScore |
| Verdict | verdict |
<trace:verdict> |
verdict |
| Assessment date | assessmentDate |
<trace:assessmentDate> |
assessmentDate |
| Link to scorecard | cardURL |
<trace:cardURL> |
cardURL |