When a browser game remembers your best score, it almost always means one thing: it wrote a short string into your browser's local storage, keyed to that site. There is no server, no account and no database.
That has several consequences worth knowing, including a few that surprise people.
What local storage is
A small area of your browser where a site can keep named values, readable only by that same site, which persists between visits. Unlike a cookie it is never automatically sent anywhere — the site has to deliberately read it with JavaScript.
On this site the complete list of what is stored is three items:
| Key | Contents |
|---|---|
fa-best-<game> | One number: your best score for that game |
fa-theme | "light" or "dark", if you chose one |
fa-consent-v1 | Your cookie choices, so the banner stops asking |
You can see them yourself in your browser's developer tools under Application or Storage. There is nothing hidden.
What this means in practice
- Your score is per device and per browser. A best set on your phone does not exist on your laptop, and one set in Chrome does not exist in Firefox on the same machine.
- Nobody else can see it. Including us. There is no leaderboard and no upload.
- It survives site updates. We can redesign a page without touching your stored values.
- It cannot be recovered. If it is gone, it is gone — there is no backup anywhere.
The four ways people lose a high score
- Clearing site data or cookies. Most browsers treat local storage as part of "site data", so a privacy clean-up removes it along with everything else.
- Private or incognito browsing. Storage is discarded when the window closes, so nothing is ever kept.
- Browser settings that block site data. Some privacy configurations deny storage entirely. Games still play; they simply forget.
- Switching device or browser. Not a loss exactly, but the score does not travel.
Well-written games handle all four gracefully. Ours wrap every read and write in error handling, so a browser that refuses storage produces a game that works perfectly and shows a dash instead of a best score — rather than a crash, which is what a careless implementation does.
Why not save scores on a server?
It is a real trade-off rather than laziness:
| Local storage | Server | |
|---|---|---|
| Accounts needed | None | Yes, in practice |
| Personal data held | None | At minimum an identifier |
| Works offline | Yes | No |
| Follows you between devices | No | Yes |
| Global leaderboards | Impossible | Possible |
| Cheating | Only affects you | Needs real defences |
For a site of two-minute games, local storage is the honest choice: no sign-up, no data to lose, nothing to protect. The cost is that there are no global leaderboards, which is a real feature we do not offer.
Can you back one up?
Technically yes — you can read the value in your browser's developer tools and note it down. Realistically, it is a number in a two-minute game, and the fun is in beating it rather than owning it.
If you want to keep a record, writing it down works as well as any technical solution and survives clearing your cache.
Where it fits with privacy
Local storage is the reason this site can say it holds no personal data about you. There is no user record to request, correct or delete, because the only thing that exists is on your own device and you can remove it yourself in two clicks. Our privacy policy and cookie policy set that out in full.
How a careful game handles storage being unavailable
Worth knowing because it separates well-built games from careless ones, and because it explains why some games break in a private window.
Reading or writing local storage can throw an error rather than simply returning nothing — in a private window, with site data blocked, or in some embedded contexts. A game that assumes the call will succeed crashes on startup, which is why a small number of browser games simply do not work in private browsing.
The correct approach is to wrap every read and write, treat a failure as "no saved score", and carry on. Ours do that, which is why a browser that refuses storage produces a fully playable game that shows a dash where the best score would be, rather than an error.
If you find a game elsewhere that works in a normal window and fails in a private one, this is almost always the reason.
Moving a score between devices, if you really want to
There is no supported way, and there is an unsupported one worth knowing about for completeness.
Local storage values are visible in your browser's developer tools, under Application or Storage. You can read
the value stored against a key like fa-best-penalty-kick-challenge and, on another device, set the
same key to the same value. The game will then display it as your best.
Two honest caveats. This is trivially easy, which is precisely why local scores are not a competitive record — there is nothing to protect and nothing being claimed. And it defeats the point: the value of a personal best is that you set it, not that the number exists.
We mention it only because people ask, and because the openness that makes it possible is the same openness that lets you verify every number our guides publish.





