Agents do now what got Smart Tags pulled from IE in 2001

· this+that ·

10 min read Original article ↗

In the 2001 IE6 betas, a Travelocity page about Nice, France picked up a dotted underline on the word “Nice”. Click it and a menu offered to book you a flight to Nice on Microsoft’s Expedia. The link wasn’t put there by the page’s author. The browser inserted it automatically.

Web authors turned against it inside a week. Walt Mossberg wrote about it in the Wall Street Journal on June 7, 2001, and A List Apart stated the objection plainly that summer: extending smart tags to Internet Explorer 6 “effectively gives Microsoft the ability to edit any page on the web without the author’s knowledge.” Microsoft dropped the feature from IE6 that same month.

The feature was Smart Tags. I came up with it for Microsoft Office and convinced the Internet Explorer team to add it.

Twenty-five years on, an agent fetches a page because someone asked it to, and leaves it exactly as the author wrote it. It summarizes the page instead, or folds it into an analysis the author never pictured, and often the person who asked never sees the page at all. On September 15, 2026 Cloudflare began blocking agents by default on the sites behind it that carry ads. So the objection that got Smart Tags pulled has evolved into an argument over what software may do on your behalf. In 2001 a newspaper column and a few thousand angry web authors settled it. This time it is crawler policy and the Ninth Circuit, which in August lifted an injunction against Perplexity’s shopping agent. The two do not agree. One blocks agents by default, the other holds that an agent doing what you asked is you.

Smart Tags shipped in Office XP in 2001. Each one had two halves. A recognizer decided that a string was of some type, whether a person, a date, a stock ticker or a part number you’d taught it to see. An action gave you verbs to use on that type. Mail this person, add this to your calendar, look up this stock. Microsoft shipped an SDK so any company could define the types its own business ran on. The Office version faded later for reasons that had nothing to do with any of this, which I’ve written about elsewhere.

The same argument, four years later

Google’s AutoLink drew the same objection Smart Tags had. A third party was rewriting a page between the server and the reader, choosing the destinations, without asking whoever wrote it.

I know, because I got blamed for it.

In February 2005 a blogger called me the Sith Lord behind a Google feature, linked my home page and my work email address, and invited his readers to write and tell me how they felt about it. His post was titled “[Expletive Deleted] Google! They are OFFICIALLY EVIL!” The feature was AutoLink, which had shipped days earlier in Google Toolbar 3 and was turning text on other people’s pages into links Google had picked. ISBNs went to Amazon, street addresses to Google Maps, package numbers to the carrier.

I did work at Google then but I had nothing to do with AutoLink.

All of it happened inside twenty-four hours. Robert Scoble left a comment on Steve Rubel’s blog saying I was behind it, and Rubel wrote it up on February 19 under the headline “Smart Tag Creator Behind Google’s New Autolink Feature”. “Robert Scoble left a comment on my last post that Jeff Reynar at Google is behind the Google Toolbar’s controversial new Autolink feature. Ironically, he’s the same person who was behind the similar SmartTag feature that Microsoft tried to build into IE. Reynar co-authored Microsoft’s Smart Tag FAQ in 2001 and his home page identifies him as a current Google program manager.” Stephen Pierzchala picked it up the same evening with the Sith Lord line and a mailto link. Dave Winer reposted Rubel’s paragraph to Scripting News the same day.

Everything Rubel checked was true. I had co-authored that FAQ and I was a product manager at Google, and those two verifiable facts are why nobody questioned the one he hadn’t checked. A friend still calls me the Sith Lord.

A commenter on Pierzchala’s post laid out the defense in March 2005, and it reads like it was written this year. “This is a user selected option. That means Google doesn’t automatically change ANYTHING.” Then the precedent. “There is incredible precedent for a user being able to modify web pages to fit his/her needs.” He listed font sizes, background colors, turning images off, blocking pop-ups, translation, reading pages aloud. He finished: “Google is not doing anything to anyone’s webpage. It is simply making browsing easier.”

Nobody was persuaded, in 2005 or in 2001. The argument that won both times was that a page belongs to whoever published it, all the way to the reader’s eye, and an intermediary that alters it in transit is editing someone else’s work.

Microsoft’s concession in 2001 was a meta tag. Put MSSmartTagsPreventParsing in the head of your page and the browser left it alone. On Rubel’s post, the night the AutoLink story broke, a commenter asked Google for the same courtesy: “At least M$ eventually allowed for a meta tag dictating not to use the ‘smart’ tag functionality on your pages. Will we see Google be as, well, smart?” A machine-readable line in the page telling an intermediary to keep off. That request is what the whole 2026 argument now runs on.

Nobody wrote the rule down

No court decided 2001 and no statute did either. What settled it was a columnist, a few thousand angry web authors, and a company that concluded a beta feature wasn’t worth the trouble. The principle held for nearly twenty years.

That’s over. It’s finally being written down, but before anyone agrees what it should say.

Crawler policy. Cloudflare replaced its single AI-bot switch with three categories, and wrote the definitions itself. Search is “any behavior that collects or indexes your content, so it can answer questions about it later.” Training is “a crawler taking your content to train or fine-tune a model.” Agent is “automated behavior that is acting, usually in real time, on a person’s behalf, to get something done right now.” Since September 15, 2026 the new defaults have blocked Training and Agent on pages that display ads and left Search alone. Existing customers had until that date to opt out.

Courts. Amazon sued Perplexity over the assistant in its Comet browser. A district court granted a preliminary injunction on March 9, 2026, barring the agent from logging into Amazon accounts to browse and buy, and on August 4 the Ninth Circuit vacated it. The reasoning is that 2005 blog comment with a docket number. When a person sets an agent a task, it’s “the user who ‘accessed’ Amazon’s computers, with the help of Perplexity’s AI agent.” Two limits are worth stating, because they are the ones a lawyer will raise. Vacating a preliminary injunction is a likelihood-of-success call on the record so far rather than a ruling on the merits, and the holding reaches the anti-hacking statutes only, leaving breach of terms of service untouched.

Who asked for the default. Cloudflare implemented what the publishers wanted. When it first made blocking the default in July 2025, the announcement listed supporters running to the Associated Press, TIME, The Atlantic, Condé Nast, Gannett, Reddit, Stack Overflow and Quora. Roughly the coalition Mossberg spoke for, holding a switch instead of a column. So the crawler policy and the publishers are one position, not two, and the court is the other.

What the 2001 objection was about

By 2001 the browser was already a place where the reader could change the page. User stylesheets, font sizes, images switched off, pop-up blockers. Reader mode, machine translation and ad blocking came later and took real money off real publishers. Publishers did fight ad blocking, in the German courts from 2014 onward, but they sued over lost revenue rather than over someone rewriting their words. None of them drew the authorship objection Smart Tags got, so the principle that won can’t have been “don’t modify my page.”

The version that won was narrower. Microsoft picked the destinations. Google picked the destinations. An intermediary was inserting its own commercial interest into somebody else’s writing, and that made the case easy to argue and easy to win. Mossberg had the best available fact on his side, which was the word “Nice” on a competitor’s travel page pointing at Microsoft’s travel site.

I build software that reads people’s messages and acts on them, so I’m not neutral about what follows.

An agent fetching a page because a person asked for it doesn’t fit that description. Cloudflare says as much in its own definition, which describes software acting in real time on a person’s behalf. It’s also one of the two categories now blocked by default.

That leaves the revenue objection, the one publishers actually took to court in 2014. An agent reads the page and hands the person a summary, so the ads never render and the visit pays the publisher nothing. Cloudflare states it plainly by scoping the new default to pages that carry ads. It’s a fair complaint and it isn’t the 2001 one. In 2001 the fight was over what the reader saw. In 2026 it’s over whether the reader shows up to see the ads.

Where I land, twenty-five years on

Twenty-five years later it still stings a bit. And I believe pulling Smart Tags was the wrong call. The solution was to disable the actions that pointed at Microsoft’s own properties, and hand control over them and everything else to the reader.

The self-interest was the whole problem. Strip out the part where the vendor sends you to its own travel site, and what remains is a person deciding what their software does with a page they asked for. The SDK already pointed that way. Anyone could write their own recognizers and actions, and the reader or their IT administrator chose which to install, so the destinations were never only ours to pick.

A reader who copies “Nice” off a travel page and pastes it into a competitor’s search box is doing exactly what the feature did, only slower. That answers the 2001 objection, which was about authorship. The 2026 one is about money, and the ad blocker answers that. A reader running one gets the page and the publisher gets no ad impression, and that has been true for twenty years. An agent that fetches the page and summarizes it lands in the same place: the reader gets what they came for and the publisher gets nothing. Reading a summary and skipping an ad aren’t the same, even if the consequence for the publisher may be. A summary can send someone to the page rather than replace the visit, which is Google’s own argument about search snippets.

Publishers fought the ad blocker, and how they fought it matters here. Plenty of sites put up a wall and asked you to allow ads before you could read. Say what you like about that wall, you can see it, and you get to decide whether the trade is worth it. Refusing the request at the network, by default, settles the same question before the reader and the publisher ever meet.

So I think Cloudflare has drawn the line in the wrong place too. If you can use an ad blocker and still access a site, you should be able to use an agent. Anything past that is protecting publisher control at the cost of the reader’s.