What Grabsburg measures
TL;DR: three numbers, and only if you press the button. We know. In this economy. We’re as disappointed as our investors would be, if we had any.
In your tab
The game does its math in your browser: your choices, a fictional balance, a fictional receipt about a fictional town. It all lives in memory and evaporates when you close the tab — like your savings, but faster.
On this device
Two items in localStorage: grabsburg.runCount (months played) and grabsburg.lastDream (the dream you picked). That is the complete profile we hold on you. Two whole data points. Our industry peers have folders on your toaster.
What we don’t measure
Time — no timers on your decisions, hover away. No cookies, no analytics, no fingerprinting; the fonts are served from this very site like it’s 2009. The loading-screen facts link to real sources; clicking one is just you, visiting a website, of your own free will. A lost art.
The tally — our entire surveillance apparatus
One button on the receipt. Press it (once per month, maximum — we ration even that) and this exact payload is sent, in full:
{"v":1,"voted":true|false,"wiped":true|false}
Three counters go up on a server — runs, voted, wiped — and nothing else does. No IP kept, no timestamp tied to you, no choices, no receipt. (Your request does arrive from a network address, as requests tragically must; it is not stored.) If the server is down, the game says “tally offline” and life, unlike our data pipeline, goes on. Don’t press it and we learn literally nothing. We’ve made peace with that. Mostly.
Wipe
One click clears both localStorage keys and the run in memory. We cannot restore your data afterwards because — and we cannot stress this enough — we never had it. Anything already in the public tally can’t be traced back to you, so it can’t be un-counted. Three anonymous booleans, free at last.