This site collects as little as it can get away with, and this page describes what that actually means rather than what a template would say.
No account, no login, no cookie is set by us for reading. The site loads a privacy-focused analytics script (Umami, self-hosted at analytics.elusic.com) that records page views without cookies and without cross-site identifiers.
Requests to the RSS feed are counted, because knowing whether anyone subscribes is the difference between publishing and shouting. What gets stored for each request: the timestamp, which feed, the HTTP status, the reader software's name, and the subscriber count that reader software volunteers about itself in its own User-Agent string.
What is never stored: your IP address in any readable form, cookies, query strings, or URL fragments. Client identity is reduced to a hash computed with a salt that is regenerated daily and held in a file readable only by the service, which means yesterday's hashes cannot be matched to today's.
Raw request rows are deleted after 90 days. Daily aggregate counts are kept beyond that.
A declared subscriber count is a claim made by a feed reader's servers, not a count of people. The number of humans reading cannot be derived from these logs, and we do not pretend otherwise.
The weekly email is run through Buttondown, which stores the address you give it. There is no double opt-in: subscribing sends you the newsletter. Unsubscribe is one click and is honoured by Buttondown directly. We do not sell, rent or share the list.
Automated smoke checks hit the feed with an identifiable User-Agent. Those requests are recorded but excluded from audience totals, so our own monitoring cannot inflate readership numbers.
`robots.txt` allows crawling. The site publishes plain-text twins of its pages for machine readers. Our own crawler identifies itself by User-Agent when fetching source articles.