Courier Bot — last updated 28 September 2026
Short version: the game does not know who you are, and cannot find out. There is no account and no sign-in. Your progress stays on your own device and nowhere else; the handful of anonymous counts described below are the only thing that ever leaves it.
Which levels you have finished, your best command count for each, the date you first opened the game, the language you picked, whether the game has already asked you for a review, in the Chrome extension your answer about the anonymous counts described below, and, on the website, whether you unlocked every level for testing. This is kept in your browser's local storage so the game remembers where you were. This record is never sent. The date in it never leaves your device either, though the number of levels that date has opened does, as described below. Clearing your browser's site data for this game erases it, and that is the only copy.
If this build has measurement enabled, the game sends a short report when one of four things happens, and each report carries only what is listed with it:
full or demo, and how many levels are open;starter-004;blocked, invalidAction,
objectiveNotMet or carriedInLoop.The Chrome extension asks you first: it sends nothing, not even the report that the game was opened, unless you allow it, on its level list or on its About screen, and you can change your answer at any time on its About screen.
Every report also carries the game's version number, such as
0.1.3, and which kind of build sent it: web for the
website, extension for the Chrome extension, or
android for an Android app. Builds made before that last detail
was added do not send it.
How many levels are open is 25 on the day your browser first opens the game, plus one for each calendar day since, up to every level the build has: 50 in the full game, while the demo, which has 13 levels, always says 13. Whatever the build, a copy unlocked for testing sends no reports at all, this count included. So in the full game, until it reaches 50, it is a count of days in disguise: with the hour the report arrives, it tells us roughly when that browser first opened the game — though not who. We use it to tell a level people stop on from a level the calendar had not yet opened for them.
That is the complete list. No report carries an account, a device
identifier, a cookie or a session identifier. The one thing that can tie
reports to a browser is that count: read with the day a report arrives, it
points back to the day that browser first opened the game, so for up to 25 days
the opened reports from browsers that started on the same day can
be put together. When few people started on a given day, that group can be a
single browser's visits, though nothing in it says whose. The other three
reports carry nothing of the kind. We cannot count how many people play: the
most the reports show is how many different first days there were, and how many
times each level was started and finished.
Apart from that count of days, a report carries no time of any kind: no date, no clock time, no timestamp. What we write down is the hour it reached us, rounded down, and never the minute or the second. Two reports that arrive together are stored no differently from two an hour apart, so arriving together says nothing about whether one person sent both. We keep the hour at all because it is what tells us whether a level got harder on the day we changed it.
We do this to answer one question: which level do people stop on. That tells us which levels are unclear, and it is the only way a game made by one person finds that out.
No name, e-mail address, phone number, contacts, advertising identifier or payment details. No text you type. The commands you write are never sent — only how many of them there were.
Nothing about where you are: the game never asks your browser for a location, never works one out, and never sends or stores one. The one thing that touches this is the IP address every request on the internet carries. Our hosting sees it in transit and our code receives it, as any server does; it is not stored, and nothing is derived from it. The paragraph on hosting below says so in full.
No advertising, no analytics SDK, no social widgets, no trackers. The game loads everything it needs — code, fonts, levels — from its own files, never from anyone else's. Chrome extensions may not load remote code, and this one does not: its files are all inside it. The website's files are served by GitHub Pages, and GitHub logs the IP address of every visit to the website for security, under its own privacy statement.
The reports above, in a build that sends them, go to
courier-bot-api.veridworks.com, the only request the game makes
by itself. That is our own code, running on Render, a hosting
provider, behind Cloudflare's network. Those providers handle the connection,
and so technically see the IP address a request comes from while it is in
transit, and our code receives it with the request, as any server does. We do
not store IP addresses. Nothing is sold, shared or handed to anyone for their
own use.
One other address exists, and only your own tap reaches it. After some levels the Chrome extension offers to let you rate it; pressing that button opens this game's page in the Chrome Web Store, in a new tab. Nothing is sent with it, and the store is not told which page you came from. Pressing nothing reaches nothing.
The use of information received from the Courier Bot extension adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. Reports from the website are handled the same way.
The game is not directed at children, collects nothing that could identify anyone of any age, and shows no advertising.
If what is collected ever changes, this page changes with it before the build that collects it ships — never after — and the date above moves. The list above is already written for measurement being switched on, so the build that starts reporting adds nothing to it.