Nitter 4 min read

X Doesn't Just Want Nitter Offline. It Wants the Code Deleted.

X has sent Nitter a cease-and-desist. The letter does not stop at turning off the live sites. It asks the maintainers to take down a GitHub repository that has been public since 2019.

That is the jump worth sitting with. Killing a service is one kind of fight. Treating seven years of source code as contraband is another.

What Nitter actually was

Nitter is a web frontend for Twitter, now X. A frontend is the page you actually touch in a browser. Nitter pulled public posts and re-rendered them as a light page with the ads and tracking scripts stripped out.

Developer zedeus published the code in 2019. The people who showed up were not building resale datasets. They were people who wanted to read without an account. People who browse with JavaScript off. People who still think an RSS feed of a public timeline is a reasonable request.

Scraping, in the technical sense, means a machine extracting information from a web page. Nitter did fetch X’s data and draw it again. What the user did was closer to opening a URL and reading. That gap — between a collector and a reader — is now the legal argument.

After login became a wall

Elon Musk closed the Twitter acquisition in October 2022. The gates on public posts went up fast. The free API was effectively gone in 2023. Rate limits arrived that July. Then unread posts behind a login screen became the default.

Nitter hung on for a while on guest tokens — the short-lived passes the official site used to hand unauthenticated visitors. When that path closed in early 2024, Nitter instances around the world went dark. The maintainer left a note that read, to anyone watching the project, like a death notice.

That shock was downtime. This one is a lawyer’s letter. It is not “we blocked the workaround.” It is closer to “do not build or ship this at all.”

Turning off a site is not the same as deleting the code

A cease-and-desist is a warning, not a judgment. Stop now, or we may sue. For a solo maintainer or a small open source team, that sentence often means the same thing as a verdict. Defense money runs out before the merits do.

Asking operators to shut instances has a coherent target. Those servers keep hitting X. Asking them to take down the repository is a different demand. It closes the path where another developer reads the code, copies it, and learns from it.

Code on GitHub is already forked in a dozen places. Deleting the original does not make the software disappear. The point of the ask is the signal, not the erasure. Do not publish an alternative screen for public posts. A seven-year commit history gets recast as the blueprint for an illegal tool.

On Hacker News and in the privacy corners of Reddit, that recasting is the part that lands. The running sites were already mostly dead. The repo was the remaining public record of how the workaround worked.

Public posts, unauthorized collection

X’s side of this is not mysterious. Bots vacuum timelines. Training pipelines treat the firehose as free ore. Ad-skipping traffic still costs real servers. The terms of service have barred automated collection for years. The company is fencing its yard.

The blur is here. Opening x.com in a browser and reading a public post, versus opening a Nitter URL and reading the same post, differs mainly in whether you clicked “I agree.” The posts were set to public. A technical gate — log in first — is being asked to do the work of a legal gate.

U.S. courts have spent a decade arguing over whether automatically reading public web pages is a computer crime under the Computer Fraud and Abuse Act. The usual citation is hiQ Labs v. LinkedIn. A federal appeals court was unwilling to treat scraping of public profiles as hacking just because the company disliked it. Circumventing a block, or bulk-harvesting in violation of a contract, is a different case. Reading what was left in the open is not automatically one.

Most Nitter users were not harvesters. They clicked a link and wanted the text. That ordinary read is what this letter tries to fold into illegal scraping.

This letter is not only about Nitter

YouTube has the same family of projects: Invidious, Piped, and the rest. Same motive. Fewer trackers, no account, a lighter page for content the uploader already made public.

If X’s framing sticks, other platforms can send the same letter. Hosting the code on GitHub becomes the risk, not just running a server. Public information behind a login wall starts to look like a dataset the platform exclusively owns.

For a long time, a person reading a public post and a company siphoning platform data were described with different words. X just stapled those sentences together. The question left on the table is simple. Is login-free reading still part of the web, or is it trespassing.

Nitter X open source scraping privacy

Comments

    Loading comments...