Vincent Schmalbach fetched one TIME health article over and over from the same machine, changing only the User-Agent header. As Chrome: 200 OK, text/html, 303,235 bytes. As ClaudeBot: 200 OK, text/markdown, 13,409 bytes. Same URL, same second. One twenty-third the size, and PerplexityBot and OpenAI's OAI-SearchBot got the small one byte for byte.

The story isn't in the body. It's in the response headers. `x-mobian-impression` returns a fresh UUID on every single request, paired with `cache-control: no-store`, so each fetch books as a distinct impression. And the unit being counted is named in the header above it: `x-mobian-tokens: 3323`. Not a pageview. Not a person. TIME didn't build an ad product for a new audience — it repriced its inventory in the reader's currency, and the reader is a context window.

What's being sold is stranger than the pricing. On the collection and section pages, inside the markdown that no person will ever load, sits a full Ally Bank FAQ — "Who is Ally Bank?", "Which banks offer early direct deposit?" — each answered in Ally's own marketing language, wrapped in FAQPage JSON-LD and tagged `campaign="ally-2026-q3"`. The business section runs the same treatment for the Project Management Institute, including the claim that certified project managers earn 16% more. Load those pages as a human and there are zero hits for either. This is not an ad placed beside an article. It is an answer, pre-written in the interrogative form a model emits, staged where a model will find it.

The routing confirms the intent. GPTBot and ChatGPT-User — training and live user fetches — come back 406. OAI-SearchBot, the crawler that feeds ChatGPT's search index, is waved through. Googlebot gets the same 303KB of HTML a human gets. That is not a bot policy. That is a price list: TIME won't sell you the corpus, and it won't hide from the ranker, but it will sell you the citation, per token, uncached.

There is now a layer of TIME.com written entirely for machines
Vincent Schmalbach

Schmalbach is careful about what this isn't, and the care is warranted. The units are labeled — "Sponsored content. Supplied in partnership with Ally." sits directly above the FAQ. This is not cloaking in the old SEO sense, where the crawler got keywords and the human got a casino. And it is a real answer to a problem that two years of litigation has not solved. Blocking crawlers pays nobody. Compared to suing, invoicing is the adult move.

But a disclosure is a contract with someone who can act on it. A human reads "sponsored" and discounts what follows; that discount is the entire function of the word. A model doesn't have a discount function. It has a relevance function. And the label is a line of text in a file that was stripped to 13KB precisely so that structure could be thrown away — it's a property of the document, not of the answer. Nothing carries it across the summary. "Certified project managers earn 16% more" is fact-shaped, so it makes the trip.

A model doesn't have a discount function. It has a relevance function.

The fix isn't to shame TIME, which is doing the legible thing while everyone else does the litigious thing. It's that provenance has to become a fact the model carries, not a typographic convention it reads past. Right now the only party in the chain who knows the sentence was purchased is the party that sold it.

TIME says bot traffic already outnumbers human traffic on most days. Which makes the version of TIME.com that no reader can see the one with the larger audience.