Schema-First Lab

Protocol Current spec v2.1.1

The protocol

An open framework for declaring who is behind a station, and that people made the work.

What it is

The protocol is an open framework built on Schema.org. It adds a small published vocabulary that lets a station, a podcast or a publisher state three things machines can't easily work out on their own: who is behind it, that people made the work, and where it belongs.

The full specification is published at fortdodgeradio.com. This page is a plain-language overview. If the two ever disagree, the specification is correct.

What a station declares

Declaration In plain terms
Human origin People are the authors of the work
Human-reported News and information were gathered and reported by people
Likeness protected The people behind the station do not consent to their likeness being used for AI training
Local authority hub The place the station belongs to, identified by its Wikidata record
Provenance hash A SHA-256 fingerprint tying a specific, unchanging artifact, such as an award photograph, to the owner's identity record
Live pulse stream The address of the station's continuous live audio, as proof the station is on the air
Regulatory anchor A verifiable regulatory or operational identifier for the station

Each declaration points to the specification, so a machine reading the markup can look up exactly what the claim means.

How trust works

The protocol uses self-attestation, not cryptography. A station makes its claims in public, on its own domain, and ties them to records it doesn't control: an ORCID profile, a LinkedIn profile, Wikidata, a DNS record, an archive of primary documents. The claims are only as strong as those records, and anyone can check them.

The specification defines three trust tiers:

The LinkedIn link doubles as a revocation switch. If a domain is ever compromised, the owner removes the link from the LinkedIn profile. The claims on the domain then lose the record that backed them, and anyone checking will find them unsupported.

How it evolved

Version Released What changed
Before the protocol 2019 Fort Dodge Radio's first structured data: one experimental block describing the station as a radio broadcast service
1.0 April 6, 2026 Four claims written as generic Schema.org property values
2.1.1 April 30, 2026 A dedicated vocabulary namespace, verification properties, provenance hashes, trust tiers and the revocation switch

That first 2019 block is worth seeing, because every later version grew out of it. It named the station, its slogan and its social accounts, with no founder, no place and no verification:

{
  "@context": "http://schema.org",
  "@type": "RadioBroadcastService",
  "name": "Fort Dodge Radio",
  "description": "Your Fort Dodge online radio station playing the 80's with the 70's best rock. Listen to free Internet radio and the Indie Music Room on Fort Dodge Radio.",
  "broadcaster": "Fort Dodge Radio",
  "availableChannel": "Internet",
  "callSign": "Fort Dodge Radio",
  "broadcastDisplayName": "Fort Dodge Radio",
  "slogan": "80's with the 70's Best Rock",
  "url": "https://www.fortdodgeradio.com/",
  "sameAs": [
    "https://twitter.com/fortdodgeradio/",
    "https://www.facebook.com/fortdodgeradio/",
    "https://www.youtube.com/channel/UC_n_1QTptm6jbml0SofT_XA"
  ]
}

Installing it

The specification ships with master prompts for broadcasters, podcasters, creators and journalists. The owner copies the right prompt into an AI assistant, answers its questions about the station, and the assistant writes the markup. The owner then checks the result with Google's Rich Results Test and the Schema.org validator before publishing. No programming background is required, but the owner is responsible for every claim.

Further reading

Three articles by Bill Grady on LinkedIn, from the May 2026 series that introduced version 2.1.1:

Read the full specification →