Privacy
Written from the database schema rather than from a template, so it describes what is actually stored. Last updated 30 August 2026.
The short version
You can play without giving us anything. No account, no email, no name. A cookie is set the first time you press PLAY so your scores can be yours; nothing else about you is recorded unless you choose to add it.
What we store
A handle, in a cookie
Pressing PLAY for the first time issues adrun_pid, a random identifier
with no meaning outside this site. It lasts a year, and it is HttpOnly, so no
script on the page can read it — including any script an advertiser might one day get onto
it. It is how the server knows a returning player is the same player.
Runs and scores
For each run we keep the score, how long it lasted in ticks, when it happened, and the seed the world was built from. We also keep the verdict our anti-cheat gave it.
To verify a score, your browser sends the inputs you pressed and the server replays the run to see whether that score is really what those inputs produce. Those inputs are replayed in memory and then discarded. They are never written to the database.
A name, only if you claim one
If you claim a name or an X handle, we store it and a folded version used to stop two people claiming the same one. You are also shown a recovery code once; we store only a salted SHA-256 hash of it, exactly as a password would be handled, so a copy of our database cannot be used to take over your name.
An account, only if you sign in
Signing in with Google or X stores which provider you used, the identifier that provider gave us, and an email address if the provider supplied one. X frequently does not, and we do not require it. We never receive your password, and we ask for nothing beyond basic profile identity.
Your address, briefly and not on disk
Two things need to know requests are coming from the same place: rate limiting, and the “N online” counter. Both hold that in memory only.
The online counter never stores your address at all. It keeps a salted hash of it, with a salt generated fresh each time the server restarts, and forgets the entry two minutes after you go quiet. Nothing about it reaches disk, and after a restart the old hashes are meaningless even to us.
Advertiser clicks
Clicking a sponsor’s link adds one to a counter for that sponsor. There is no player identifier on it. We can tell an advertiser their listing got 40 clicks; we cannot tell them, and do not know, who clicked.
Error reports
When something breaks, the stack trace is sent to Sentry, an error-monitoring service, so that we find out rather than waiting for someone to tell us. It is configured not to send user information or request bodies: an error report needs the stack, not the person who hit it. Sentry processes this on our instructions and for no other purpose.
If you buy an ad slot
Payment is handled entirely by Stripe on their own pages. Card numbers never reach this site and we could not store one if we wanted to.
What we keep from a purchase is the name and email address you give Stripe at checkout, the country of your billing address, your Stripe customer reference, and the amount, currency and date. We keep it to know who owns a listing, to reach you about the creative running under your name, to handle refunds and disputes, and because tax law requires a record of a sale. The lawful basis is the contract between us, and for the tax record, a legal obligation.
It is never shown on the site. Advertisers appear on the board by their brand, never by the person who paid, and there is no page — signed in or not — that discloses a buyer. Only the operator can read it.
Refunds and disputes are visible to Stripe as well; their privacy policy covers what they hold as a payment processor.
What we do not do
- No third-party analytics, no advertising trackers, no pixels. Visits are counted by this server as it serves the page; nothing about you is sent anywhere to do it. Error monitoring is the only third-party service that sees anything, and it is sent stack traces, not people.
- No profiles, no cross-site tracking, no fingerprinting.
- We never sell or share personal data. Advertisers get counts, never people — and players never get advertisers' details either.
- Advertiser logos are proxied through this site rather than loaded from their servers, so browsing the sponsor board does not tell them you were here.
How long we keep it
Scores and names persist while the leaderboard does — that is the point of a leaderboard. Runs that were issued but never submitted are swept automatically. Presence data lasts two minutes. Ask us to delete your data and we will remove your player record, your scores and any linked account.
Your rights
If you are in the UK or EU, the GDPR gives you the right to access, correct, export or delete what we hold, and to object to processing. The lawful basis for the handle cookie and for rate limiting is legitimate interest — running a leaderboard that cannot be trivially cheated. The lawful basis for a name or an account is your consent, given by choosing to add one.
To exercise any of this, or to ask anything at all, email privacy@adrun.lol.
Cookies
Two, both set by this site, neither shared with anyone.
adrun_pid— your handle, described above. Strictly necessary for the leaderboard to work.adrun_vid— a random identifier used to count how many different people visit, so that what we tell advertisers is measured rather than guessed. It contains that identifier and nothing else, expires after 180 days, and is never joined to anything outside this site. If your browser sendsDNT: 1it is not set at all and your visit is not counted.
There is still no banner asking you to accept advertising cookies — there are none to accept, and no third party receives either of these. Signing in adds session cookies from Auth.js for as long as you stay signed in.
Counting visits
We count page views, how many different browsers they came from, and which site linked you here — the host only, never the full address, because a full referring URL can carry search terms and private path segments.
Advertisers are shown how many times their ad was on screen, how many different people saw it, and how many clicked. Those figures come from the server replaying your run to verify the score, and from us handling the click — not from anything watching you. What an advertiser receives is a count. It never includes who you are, and there is no way for them to work it out from it.
Changes
If this changes materially we will update the date at the top. The site is small enough that we can tell you plainly rather than burying it.