---
title: Nothing Is Recorded
date: 2026-08-11
tags: [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.`:

```text
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.

```text
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:

```text
/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.
