BlogFindings

Earmark signs an AI preference into the content, and prevents no use

draft-hood-aipref-earmark-00, an individual submission dated 12 August 2026, embeds a signed usage preference in the content itself so the preference survives copying, syndication and aggregation. Its own text states that a Mark does not prove copyright ownership, that Earmarks do not make preferences self-enforcing, and that Earmark prevents no use. It names the failure it is answering: a preference written at the perimeter attaches to the location rather than to the content.

18 min read Lantad

A draft published on 12 August 2026 attacks that assumption directly, and it is worth reading for the diagnosis even by people who will never deploy it. Earmark, filed as draft-hood-aipref-earmark-00 by Chris Hood of Nomotic AI, proposes signing a usage preference into the content itself so that the preference travels with the content instead of staying at the address it was published from. Everything below is read from the draft text at ietf.org on 13 August 2026, from the specifications it reuses, and from the datatracker record. Lantad has measured none of it: we have not seen a Mark in the wild, we hold no count of sites carrying one, and we have no figure for whether any AI system reads one. What this post can add, and what the last section does, is set the proposal against the layer this site actually scans, which is whether an AI crawler can fetch and read your page at all.

In short

  • Earmark, published as draft-hood-aipref-earmark-00 on 12 August 2026 by Chris Hood of Nomotic AI, defines a signed statement called a Mark that is embedded in published content rather than written at the server perimeter.
  • The draft names the failure mode it exists to answer: perimeter signals attach the preference to the location, so the moment content is copied, scraped, syndicated or aggregated, the preference stays behind and the content travels on unencumbered.
  • A Mark Object carries six required members, being v, holder, content, pref, iat and sig, and reuses the category identifiers and values of the IETF AI Preference vocabulary rather than defining preference semantics of its own.
  • The draft's own limits are explicit: a Mark does not prove copyright ownership, Earmark encrypts nothing, controls no player and prevents no use, and enforcement remains with law, contract and the market.
  • Lantad has measured nothing about Earmark. Nothing in the draft changes robots.txt, a status code, or whether the text of a page is present in the raw HTML, which are the things a scan actually reads.

What a perimeter signal governs

  • A request made to your server for your URL
  • A named crawler token, resolved against your robots.txt groups
  • The response your origin or CDN chooses to send
  • The fetch, which the draft says robots.txt remains the right tool for

What it stops governing

  • A copy of the text sitting in someone else's database
  • A syndicated republication on a host you do not control
  • An aggregated extract that never names your domain
  • Any use that begins after the content has already left
The gap the Earmark draft names in its own introduction, read at ietf.org on 13 August 2026. Reported from the draft text, not measured by Lantad.

Why a preference written at the perimeter stops applying

The draft's introduction states the problem in two sentences that are worth quoting exactly, because the whole design follows from them. It observes that publishers today express usage preferences at the perimeter, naming a robots.txt file, an HTTP response header, or a well-known URI as the mechanisms that describe what automated clients may do with content served from one location. Then it names the consequence: perimeter signals share one failure mode, the preference attaches to the location rather than to the content, so the moment content is copied, scraped, syndicated, or aggregated, the preference stays behind and the content travels on unencumbered.

That is a precise description of something the corpus of AI crawler research keeps running into from the other direction. The mechanism that governs a fetch is RFC 9309, which standardised the robots exclusion protocol, and it governs exactly one thing, which is whether a compliant automated client should request a URL from your origin. It has nothing to say about the second, third or fortieth party to hold the bytes afterwards. Researchers have already measured what that boundary costs in practice: a canary token study found that a robots.txt block did not stop 12 of 18 AI chatbots from reaching content, because the path from a page to an answer runs through intermediaries that never made the original request.

It is also the reason so many recent proposals in this space read as variations on one theme. RSL writes a licence directive into robots.txt and states that it changes no access. Content signals ask rather than block. TDMRep is not named in any crawler's own documentation. Each adds expressiveness at the perimeter, and each inherits the perimeter's boundary. Earmark's contribution is to accept that boundary as fixed and move the artifact instead, which is a different bet rather than a better version of the same one.

The draft is careful not to claim it replaces anything. Its Relationship to Existing Mechanisms section states that robots.txt and the aipref attachment mechanisms govern the fetch, and remain the right tools for the perimeter. It positions itself as filling a specific hole: what the ecosystem lacks, in its words, is the portable, signed, offline-verifiable carrier for text and other formats outside the C2PA family, under one Mark Object shared across all content types. C2PA and the CAWG training and data mining assertion already do this for media, and the draft says the media binding rides them rather than duplicating them. Those two specifications live at c2pa.org and cawg.io, neither of which this site links to. For anyone thinking about generative engine optimisation, the practical reading is that the fetch layer and the provenance layer are now being standardised by different groups with different assumptions about who is holding the file.

Where a perimeter preference stops applying, per the failure mode described in the Earmark draft introduction, read on 13 August 2026. A diagram of the mechanism described in the draft, not a measurement of any site.

What a Mark actually contains

The unit of the mechanism is a Mark, and the draft is careful about the naming: an individual signed statement is a Mark, while the mechanism as a whole is Earmark. A Mark Object is JSON with six required members and three optional ones, and the list is short enough to read in full.

The required members are v, the Mark format version, which this document defines as version 1; holder, an object containing a key, which is a JWK or key thumbprint, plus optional name, uri and domain members; content, an object containing digests, an array of digest entries each carrying alg, form and hash; pref, the asserted preferences, using the category identifiers and values of the AI Preference vocabulary; iat, an issuance timestamp; and sig, a JWS signature by the holder key over the JCS-canonicalized Mark Object. The optional members are license, a URI of terms under which reserved uses may be granted, exp, an expiry after which the Mark asserts nothing, and pref_v, which pins a vocabulary version.

Two of those lean on existing standards rather than inventing anything, which is consistent with the abstract's stated approach of defining new machinery only where none exists. The signature format is JSON Web Signature, RFC 7515, a Standards Track document published in May 2015, which represents content secured with digital signatures or Message Authentication Codes using JSON-based data structures. The canonicalisation is the JSON Canonicalization Scheme, RFC 8785, an Informational Independent Submission published in August 2020, whose abstract opens by noting that cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. Canonicalisation matters here for an unglamorous reason: two JSON serialisations of the same object with keys in a different order would hash differently, and a signature over the raw bytes would then break for no semantic reason.

The pref member is where this connects to work already under way. It reuses the IETF vocabulary for expressing AI usage preferences, which as of 13 August 2026 stands at draft-ietf-aipref-vocab-06, submitted on 28 April 2026, an active working group document with an intended status of Proposed Standard. That vocabulary defines two categories: AI model training, which it describes as the act of using an asset in the production or refinement of an AI model that can generate content in one or more modalities, and search, which it describes as use of an asset in an application whose primary purpose is to select assets and direct users to their location. It is also blunt about its own reach, stating that preferences do not themselves create rights, obligations, or prohibitions, and that the specification only seeks to ensure that preferences can be understood rather than to provide a means of ensuring that preferences are respected. We wrote about the state of that work in the AI preferences standard you cannot deploy yet, and the situation it described still holds: the companion draft defining where to attach a preference over HTTP, draft-ietf-aipref-attach, is recorded on the datatracker as expired and archived at revision 04.

MemberRequiredWhat the draft says it holds
vRequiredMark format version. This document defines version 1
holderRequiredkey as a JWK or key thumbprint, plus optional name, uri and domain
contentRequireddigests, an array of entries each with alg, form and hash
prefRequiredPreferences using the category identifiers and values of the AI Preference vocabulary
iatRequiredIssuance timestamp
sigRequiredA JWS signature by the holder key over the JCS-canonicalized Mark Object
licenseOptionalURI of terms under which reserved uses may be granted
expOptionalExpiry, after which the Mark asserts nothing
pref_vOptionalPins a vocabulary version
The Mark Object members, transcribed from section 3 of draft-hood-aipref-earmark-00 at ietf.org on 13 August 2026. Reported from the draft, not measured by Lantad.

Where a Mark is written, and what actually gets hashed

Four bindings are defined, one per content shape, and the HTML one is the only one most site owners would ever touch. A Mark is carried in a link element with rel set to earmark, referencing an external Mark, or inline in a script element with a type of application/earmark+json. That is a familiar pattern to anyone who has added structured data to a page, and it has the same property: it is inert markup that a parser either understands or ignores.

The HTTP binding is a response header named Earmark, which the draft says carries the Mark Object or its URI, providing the perimeter form of the same assertion for direct fetches. It is worth noticing what that concedes. A header is a perimeter signal by construction, so the HTTP binding is the mechanism admitting that for a direct fetch the old shape is still the convenient one, and the embedded bindings are for everything that happens afterwards. The media binding rides C2PA manifests as described above, and a plain text binding uses a trailer line carrying an Earmark label.

The part that repays attention is the digest, because it is what ties a signature to a specific piece of content rather than to a claim in general. Two digest forms are defined: exact, the digest of the content octets as published, and canonical, the digest of the content in the canonical form defined by the binding. For HTML, the canonical digest covers the text content of the element identified by the optional content.scope member, after Unicode NFC normalisation and whitespace collapse. That is a deliberate choice with a real consequence: it means a Mark can survive a template change, an ad insertion or a CSS rewrite that leaves the article text alone, because none of those alter the normalised text of the scoped element. It also means the Mark covers the words and not the page.

The verification procedure is five steps and the draft states them plainly. A detector extracts candidate Marks from each supported binding, verifies the signature over the canonicalized Mark Object, computes the applicable digest per the binding's rules and compares against content.digests, may corroborate the key via DNS where holder.domain is present, and interprets pref per the AI Preference vocabulary. The most instructive line is the one covering the mismatch case: a valid signature with no digest match means the content was modified after marking, and detectors must treat it as exactly that, an assertion about different content, rather than as verification of the content in hand. That is an unusually disciplined piece of specification writing, and it is the same instinct that runs through what Web Bot Auth actually specifies: a cryptographic mechanism is only useful when it is explicit about the case where the check fails.

There is one further idea in the draft that does more work than its length suggests. A rights holder may register a Mark at publication by submitting the Mark Object and content digests to an append-only, publicly verifiable transparency log, following the pattern established for certificates and supply-chain statements. The draft calls registration among the highest-value options in the document, because it turns stripping into evidence and survives total removal of every circulating copy: any party holding any copy can compute its digest and query the log. The section also says log formats and inclusion-proof mechanics are out of scope, and that the section is a concept-level description and a candidate for a companion document, which is the draft marking its own unfinished edge.

Content typeWhere the Mark sitsPerimeter or embedded
HTMLlink element with rel=earmark, or an inline script of type application/earmark+jsonEmbedded
Any direct fetchAn Earmark response header carrying the Mark Object or its URIPerimeter
MediaInside a C2PA manifest, reusing the CAWG training and data mining assertionEmbedded
Plain textA trailer line carrying an Earmark labelEmbedded
The four bindings defined in draft-hood-aipref-earmark-00, transcribed from the Bindings section at ietf.org on 13 August 2026. Reported from the draft, not measured by Lantad.

What the draft refuses to claim for itself

The most useful thing about this document is how much of it is spent narrowing what it asserts, and any honest write-up has to lead with that rather than bury it. A Mark asserts, verifiably, that this key holder stated these preferences over content with these digests at this time. The draft then adds four words that decide everything downstream: it asserts nothing else.

The disclaimers are explicit and they are not hedged. A Mark does not prove copyright ownership; it proves who made the assertion. Earmarks make preferences portable, attributable, and verifiable, and they do not make preferences self-enforcing. A mark is removable by a sufficiently motivated party, and no mark prevents any use. Earmark encrypts nothing, controls no player, and prevents no use. Enforcement remains with law, contract, and the market, and enforcement is out of scope for the protocol. The security considerations go further and concede the obvious attacks: marks are removable and the economics of removal matter, key compromise allows false assertion in the holder's name until expiry, and false Marks over content the asserter holds no rights to are possible.

This is the same distinction we drew about the crawler-side proposal in the same working group's orbit. An IETF draft makes an AI crawler's compliance claim falsifiable, not true, and Earmark is that argument pointed the other way: the publisher signs rather than the crawler, and what the signature buys is that a later dispute has an artifact in it. Neither mechanism makes anything happen at fetch time. Both make a later argument cheaper to have.

The legal section is careful in the same way and says so at the top, recording context rather than making legal claims. It observes that in several jurisdictions, removal or alteration of rights management information carries independent legal significance, and that text-and-data-mining reservation regimes require preferences to be expressed by machine-readable means. It then draws the line: the mark supplies the artifact those regimes reference, and the regimes supply the consequences the document deliberately does not. The privacy section is equally direct, noting that Marks identify rights holders by design, that the identification is durable and travels with the content, and that pseudonymous keys are supported at the cost of the assertion's utility in disputes, which it calls the honest trade.

One piece of provenance belongs in any account of this draft, and it is easy to get wrong. The document header carries an intended status of Standards Track and an expiry of 13 February 2027, but the datatracker record for it shows an Active Internet-Draft filed as an individual submission, with no stream assigned and both the type and intended RFC status recorded as none, alongside the standard statement that it is not endorsed by the IETF and has no formal standing in the IETF standards process. Anyone can file an Internet-Draft. This one is an idea with a signature scheme attached, published two days ago, and treating it as a standard because the header says Standards Track would be reading the wrong field.

  • Proves ownership No A Mark does not prove copyright ownership; it proves who made the assertion.
  • Enforces the preference No Earmarks do not make preferences self-enforcing, and enforcement remains with law, contract, and the market.
  • Prevents a use No Earmark encrypts nothing, controls no player, and prevents no use.
  • Resists removal No A mark is removable by a sufficiently motivated party, and the security section says the economics of removal matter.
  • Survives copying Claimed The stated purpose: the mark travels with what it covers, surviving republication and aggregation.
  • Verifiable offline Claimed Marks are verifiable offline by any party, with an optional DNS corroboration step where holder.domain is present.
Claims the Earmark draft explicitly declines to make, transcribed from its abstract, security considerations and legal context sections at ietf.org on 13 August 2026. Reported from the draft, not measured by Lantad.

What this changes for whether an AI crawler can read your site

Nothing, and the reason is worth being precise about rather than dismissive. Earmark operates on the permission layer, and it operates on the part of that layer which applies after the content has already been obtained. A scan operates on the access and content layers, and both of those are decided before anyone has the bytes at all.

That separation is the thing this site was built around, because two separate layers decide whether AI can read your site and they fail independently. Access is whether a named crawler token is allowed by your robots.txt and whether your CDN answers its request with a 200 rather than a 403, which you can resolve per token with the robots.txt tester and check against the published token list on the AI crawlers reference. Content is whether the text a person reads in a browser is present in the raw HTML response, which is what prose parity scores and what what GPTBot sees shows for a single URL. A page that fails either of those fails it whether or not a Mark is embedded in it, and a Mark embedded in a page that no crawler can fetch is a signed statement nobody will ever read.

The order of operations also matters for anyone tempted to add a link element and consider the matter handled. A Mark is markup. Markup is subject to exactly the same delivery question as every other element on the page, which means a Mark injected by client-side JavaScript is invisible to any client that does not run JavaScript, and a Mark on a page behind an aggressive bot rule is never delivered. The mechanism assumes the content reached the reader. Everything this site measures is about whether it did.

There is also a plain question of whether anyone reads a Mark, and today the honest answer is that no published crawler documentation says so. The draft is two days old. The crawler tokens that AI vendors document and the behaviours they commit to are the material we track on the Lantad bot page and in the AI visibility work more broadly, and a mechanism becomes measurable when a vendor writes down that it honours it. Until then a Mark is an assertion made into a room that may be empty, which is a reasonable thing to publish and not a thing to score.

So the practical advice is unchanged and slightly boring. Fix the layer that decides whether the text exists for a machine before spending effort on the layer that describes what a machine may do with text it has already got. If you want a specific ordering, our scoring method sets out what gets weighted and why, and the reference material on answer engine optimisation and llms.txt covers the adjacent files people usually reach for first. Earmark is a serious answer to a real gap, and it is a gap that opens after the crawl, not before it. Both problems are worth solving. Only one of them is yours to fix in your own HTML today.

  • Robots.txt resolution per token Decided before any fetch. RFC 9309 governs whether a compliant crawler may request the URL. A Mark has no effect on this and the draft says robots.txt remains the right tool for the perimeter.
  • Status code from origin or CDN Decided at request time. A 403 or a challenge page ends the transaction before any embedded markup is delivered, Mark included.
  • Text present in the raw HTML Decided by how the page is rendered. A Mark inserted by client-side JavaScript is absent for a client that does not execute it, exactly as the article text would be.
  • Preference honoured after retrieval Where Earmark operates. No published AI crawler documentation names the mechanism, the draft is dated 12 August 2026, and the draft states it prevents no use.
Where an Earmark Mark sits relative to the checks a Lantad scan performs, compiled from the draft read on 13 August 2026 and the scan layers described on the methodology page. Not a scored check, and not weighted.

Written by

Lantad

Published .

Almost every machine-readable instruction this site writes about lives at the edge of a server. A robots.txt file sits at a fixed path and describes what automated clients may do with anything served from that host. A response header says something similar for one fetch. A well-known URI says it for a site. All of them share an assumption so ordinary it is rarely stated: that the thing asking for the content is asking your server for it, so your server gets to answer.

Common questions

What is Earmark and how is it different from robots.txt?

Earmark is a mechanism proposed in draft-hood-aipref-earmark-00, dated 12 August 2026, for embedding a signed usage preference into published content. Robots.txt states a preference at the server perimeter, so it governs whether a crawler should fetch a URL from your origin. Earmark embeds the preference in the content itself so it travels with copies, and the draft says robots.txt remains the right tool for the perimeter.

Does an Earmark Mark stop an AI model training on my content?

No, and the draft says so directly. Its own text states that Earmarks do not make preferences self-enforcing, that a mark is removable by a sufficiently motivated party, that no mark prevents any use, and that Earmark encrypts nothing, controls no player, and prevents no use. Enforcement is placed with law, contract, and the market, and is stated to be out of scope for the protocol.

Is Earmark an IETF standard?

No. The datatracker record shows an Active Internet-Draft filed as an individual submission with no stream assigned and both type and intended RFC status recorded as none, alongside the standard statement that it is not endorsed by the IETF and has no formal standing in the IETF standards process. The document header separately carries an intended status of Standards Track, which is the author's declared intent rather than a status the IETF has granted.

Should I add an Earmark Mark to my pages now?

There is nothing to lose by it and nothing measurable to gain yet. No published AI crawler documentation names the mechanism, the draft is dated 12 August 2026, and Lantad has not measured any system reading a Mark. The checks that change what a crawler receives are unrelated: whether robots.txt allows the token, whether your origin answers with a 200, and whether the page text is present in the raw HTML rather than only after JavaScript runs.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.