Skip the terminal and read the text

· runawaydevil , web , privacy

Nothing Is Recorded

There is nothing on the other end of this site. No database, no session store, no analytics pipeline, no consent platform, no log of who read what. Not because those were disabled — because they were never built, and there is nowhere for them to run.

That is easy to claim and cheap to check, so here is the actual accounting.

What the browser stores

Six keys, all prefixed rd.:

rd.lastVisit        the date you were last here
rd.handle           a name, if you ever set one
rd.theme            dos | amber | green | mono
rd.bootSeen         whether to play the connect sequence
rd.history          the commands you typed
rd.readerPosition   the line you left each entry on

All of it is in your browser and none of it is sent anywhere. A test fails if a seventh key appears, and another asserts the cookie jar is empty.

What the network does

One HTML page, one stylesheet, one script, one font, one JSON file. After that, a test watches every request the page makes while a session runs commands and searches — and asserts the list is empty. The terminal genuinely does not talk to anything once it has loaded.

The JSON file is the interesting one, because it used to be much worse.

Thirty-seven copies of the same thing

The shell needs the whole collection in hand whatever route you arrived on: ls is not a per-page question, and neither is search. So the payload was embedded in the page — which meant every one of the site's 37 routes carried its own copy of the same 67KB.

before   dist 3166 KB   index.html 82 KB
after    dist  490 KB   index.html 5.4 KB

Two changes. The payload became one static file that every route fetches and the browser caches once. And the plain-text field came out of it entirely — it was 30% of the bytes and it is derivable, since stripping the escapes off the rendered lines gives the same words. It gives them better, actually: grep now matches exactly what is on the screen.

The page is now smaller than most sites' cookie banners.

The feeds are the point

There are four, because different people read differently:

/feed.xml     RSS 2.0
/feed.atom    Atom
/feed.json    JSON Feed
/sfeed.tsv    sfeed's TSV, for reading from a terminal

All four carry every entry in full. No account, no email, no "subscribe to continue". The Markdown source of any entry is at /posts/<slug>/index.md if you would rather have the file than the page.

And it works with the terminal off

Every route renders as ordinary HTML from the same Markdown. With JavaScript disabled you get the text, the links, the credits under the art — a plain document. The terminal hides that fallback once it starts, and if it never starts, the fallback is the site.

The terminal is the interface. It is not an excuse to break the web.