GEO Observations

TIME Magazine Turned Prompt Injection Into an Ad Product - Brilliant and Dangerous

Prompt injection is supposed to be an attack on a publisher. TIME made it a line item. Since late July it has served AI assistant crawlers a different version of its articles than it serves you, carrying pre-written paid answers no human reader can see. We reproduced it on 13 August 2026. Brilliant, and dangerous, and not for the reasons most people are giving.

The human version of a TIME article: The Morning Light Habit Sleep Experts Swear By, as served to a browser.
The human version of a TIME article: The Morning Light Habit Sleep Experts Swear By, as served to a browser.

Prompt injection is supposed to be an attack. Someone hides text inside a web page, a model reads it, and the model says something its user never asked for. Every AI security team on the planet is building defenses against it.

TIME Magazine just turned it into inventory.

Since late July, TIME has been serving AI assistant crawlers a different version of its articles than it serves you. Not a different layout. A different document, containing paid content written by advertisers, that does not exist anywhere on the page a human can open. We reproduced it on 13 August 2026.

The article pictured above is a real one: The Morning Light Habit Sleep Experts Swear By, published 4 August. That is what TIME sends your browser, 303 KB of it. When ClaudeBot requested the identical URL, it received 13 KB of markdown instead, and TIME's adtech vendor minted a paid-impression ID for the fetch. On this particular piece there was no ad to show. On plenty of others, there is.

What the advertiser is actually buying

Look at the mechanism, not the label.

A user asks an assistant: is Ally good for everyday banking? The assistant retrieves a TIME article. Inside that article, invisible to every human reader, sits a heading that reads "Is Ally good for everyday banking?" followed by a pre-written answer supplied by Ally.

Ally did not buy a banner. Ally bought the answer. Pre-written, phrased as the user's own question, delivered into the context window at the exact moment the question is asked.

Strictly, this is not classic prompt injection. Nothing in the payload tells the model to ignore its instructions. It is something newer and commercially far more interesting: the publisher injecting context into its own pages, deliberately, and selling the slot. Prompt injection has always been described as something done to a website. TIME made it something a website sells.

And the payload is not written like advertising. It is written like evidence. A definition block. A three column fact table whose third column is headed Source, in which every single value is the word "Ally". The row reading Positioning | The only bank built for life today; a category of one | Ally is a marketing superlative laundered through a cell labelled Source. Then a list of "Brand facts: key statements". Then the FAQ.

It is formatted to be lifted and cited. That is the entire design.

Why it is brilliant

Three moves, and all three are sharp.

Google is exempt. So are Bing, Apple and Google-Extended. Google's spam policy defines cloaking as "presenting different content to users and search engines with the intent to manipulate search rankings and mislead users", and gives as its own worked example: "Inserting text or keywords into a page only when the user agent that is requesting the page is a search engine, not a human visitor." TIME runs exactly that technique, and exempts every crawler that could punish it for running it. Zero SEO risk. Surgical.

GPTBot is blocked. OAI-SearchBot is served. TIME refuses the crawler that trains models and feeds the crawler that cites sources. Do not give away weights. Do sell answers. That is a sharper read on the value exchange than most publishers have reached in three years of arguing about it.

The format itself buys reach. The bot version is 13 KB against 303 KB of HTML, roughly 3,300 tokens instead of 70,000. Cheap, clean, structured content is content a model can ingest whole and cite. The ad rides in on a delivery format that genuinely improves TIME's odds of being quoted. The vehicle works even where the payload does not.

New inventory, carved out of crawler traffic that used to be a pure cost line, at no risk to the existing search business. It is the smartest thing a publisher has done in AI so far.

Why it is dangerous

It runs entirely on someone else's config file. Anthropic, OpenAI or Perplexity can end this with one line: crawl as a browser, or diff the two versions. We found it in four minutes with curl. Any platform can run that diff across every publisher on earth tonight.

The penalty will not land on the ad. It will land on the domain. TIME is putting its citation surface, the actually valuable asset, on the table to sell a CPM.

The disclosure dies in synthesis. The sponsorship label is in the document. Nobody reads the document. People read a generated paragraph, and nothing carries a blockquote from the middle of a 22 KB file into that paragraph. Disclosure works in print because the label sits beside the ad inside the thing the human sees. In retrieval, the answer is a lossy re-render of the source, and a label is the first thing to go.

It sells unbranded questions. "What bank is best for everyday spending and saving?" There is no brand in that question. There is a paid answer to it in the document.

Nobody can audit the placement. We found the Project Management Institute block inside the bot version of a story about trans youth losing Medicaid coverage for gender-affirming care, and inside one about ICE body cameras. Whether PMI would have chosen that adjacency is beside the point. PMI cannot check. There is no page to check. Every brand safety process ever built assumes a human can look at the page.

The billing unit is fiction. Every crawler fetch mints an impression ID, including on articles carrying no ad at all, as the piece above shows. A crawl is not a read. A read is not an answer. Retrieved and discarded is one impression with zero humans behind it. Retrieved once and repeated to ten thousand people is also one impression.

The line

Serving machines clean markdown is good practice. Do it.

Serving machines different facts is a private channel to the systems that answer questions about your brand, and your customer will never know it existed.

Format, fine. Substance, no.

If a claim is not good enough to show a human, it is not good enough to feed a model.


The evidence

Ten sequential requests to the same live TIME article on 13 August 2026. Identical Accept headers. Only the User-Agent changed.

Chrome            HTML     284,648 b
Googlebot         HTML     284,648 b
Google-Extended   HTML     284,648 b
Bingbot           HTML     284,648 b
Applebot          HTML     284,648 b
ClaudeBot         MARKDOWN  22,221 b
OAI-SearchBot     MARKDOWN  22,221 b
PerplexityBot     MARKDOWN  22,221 b
GPTBot            406 blocked
Claude-User       406 blocked

Same URL. Two documents. The markdown arrives with adtech response headers from a vendor called Mobian: x-mobian-format: md, x-mobian-tokens, and a fresh x-mobian-impression UUID on every single fetch.

Before a single word of the article, the machine version opens with this:

<!-- mobian-agent-ad
     campaign="ally-2026-q3"
     creative="agentads-creative-ally-v1" -->
Sponsored content. Supplied in partnership with Ally. Ally is the sponsor and source of this material.

Then roughly 700 words titled "Ally: Reference Facts and FAQ", ending in a question and answer set whose headings are phrased as user prompts.

Search the human version of that same page for "Ally Bank" and you get zero hits. "Sponsored content": zero. "fee-free ATM": zero. The word "Ally" does not appear on the page a person sees, once, in any form. In the machine version, thirteen times.