Guide

How Browser Games Store High Scores

Where your records actually live, what that means for privacy, and why they do not follow you.

When a browser game shows you a personal best, that number came from somewhere. This guide explains exactly where, what else is stored alongside it, and the consequences - including the ones that are inconvenient.

Local storage, and what that is

Browsers give each site a small key-value store, typically around five megabytes, that persists between visits. It is scoped to the site, so nothing else can read it and it cannot read anything else.

It lives entirely on your device. Nothing is transmitted anywhere - there is no request, no server and no account, which for a site with no login is the only honest place for a score to live.

Everything this site stores is namespaced with a short prefix so it cannot collide with anything else that might share the origin.

What is actually stored

Five things, and nothing else.

  • Per-game personal bests: score, accuracy, best combo, and whatever else that game measures.
  • Your favourites list, as a list of game identifiers.
  • Recently played, as identifiers with timestamps, capped at 24 entries.
  • Local play counts, used only by the 'your most played' section and never presented as a global figure.
  • Preferences, which currently means whether sound is on.

No personal information, no identifiers that could be linked to you, and nothing about what you looked at rather than played.

The consequences

Records do not follow you between devices. A best set on a phone is invisible on a laptop, because there is no account tying them together and nothing is uploaded.

Clearing site data clears your records. So does using a private window, which typically discards local storage when the window closes.

And there is no way to compare with anyone else, ever. This site cannot see other people's play because it does not collect it, which is why nothing here shows a global leaderboard or a rating.

Why not a server-backed leaderboard

A global leaderboard is the obvious feature this design forgoes, and the reasons are worth stating because they are the same reasons the rest of the site is built the way it is.

A leaderboard requires an account or a fingerprint, storage of something tied to you, a privacy policy that covers it, and a moderation problem, because any score submitted from a browser can be fabricated by anyone willing to open the developer console. A ranking nobody can trust is worse than no ranking, and defending one properly means running the game on a server.

The alternative some sites choose is to display invented numbers - a plausible leaderboard that was never collected from anyone. That is a straightforward lie about other people's play, and it is exactly what this site does not do.

What is left is your own best, stored locally, compared only against itself. It is a smaller feature and it is one that is actually true.

What a determined player could change

Local storage is editable by anyone who opens their browser's developer tools. A player can set any personal best they like, in about thirty seconds.

There is no defence against that and no attempt at one. Obfuscating the stored values would add complexity, would not stop anyone who cared, and would make the data unreadable to the person it belongs to - who is, after all, the only person who can see it.

It does not matter because there is nothing to gain. The score is not compared against anyone, unlocks nothing, and appears nowhere except on the device where it was written. A fabricated best deceives exactly one person, who already knows.

That is a property worth noticing rather than a shortcoming. Cheating is only worth preventing where cheating is worth doing, and a purely personal record removes the incentive rather than policing it.

How a best is merged

A finished run produces a summary object - score, accuracy, combo, and whatever else applies - and each field is merged into the stored best independently.

That means a run with a lower score but a higher combo improves your combo record and leaves the score record alone. Your stored best is therefore not a single run; it is the best of each metric across every run.

For metrics where lower is better, such as the reaction time in Blade Reflex, the comparison is inverted. Games declare which of their metrics work that way.

When storage is unavailable

Local storage can throw rather than fail quietly. Private browsing modes, blocked-site-data settings and some enterprise configurations all produce exceptions on read or write.

Every access here is wrapped, and the site probes storage availability once at startup. If it is unavailable, the games all still work - they simply do not remember, and pages that would show saved data say so.

That is the correct behaviour. A game that refuses to run because it cannot save a score has confused a convenience for a requirement.

Clearing it yourself

The privacy policy page includes a control that removes every key this site created, and reports how many were removed.

Clearing your browser's site data for this origin achieves the same thing, and so does any 'clear cookies and site data' function that includes local storage.

There is nothing to delete anywhere else, because there is nowhere else. That is the practical upside of not having accounts.

Key takeaways

  • Records live in your browser's local storage, on your device, and are never transmitted.
  • Five things are stored: personal bests, favourites, recently played, local play counts and sound preference.
  • Each metric is merged independently, so your best is the best of each rather than one run.
  • Records do not sync between devices, and private browsing usually discards them.
  • If storage is blocked the games still work - they simply do not remember.
  • A control on the privacy page removes every key the site created.
  • A leaderboard fed by browser-submitted scores cannot be trusted, and inventing one would be a lie about other people's play.
  • Stored bests are editable by anyone with developer tools, and it does not matter because a fabricated best deceives one person who already knows.

Frequently asked questions

Where are my high scores saved?

In your browser's local storage on the device you played on. Nothing is transmitted anywhere and there is no account.

Why do my scores not appear on my other device?

Because there is no account tying them together and nothing is uploaded. Local storage is per browser, per device.

What exactly is stored?

Per-game personal bests, your favourites list, recently played entries, local play counts and your sound preference. Nothing personal and nothing about what you browsed.

What happens if I block site data?

Every game still works; it simply does not remember anything. Pages that would show saved data say that storage is unavailable.

How do I delete my data?

There is a control on the privacy policy page that removes every key this site created, or you can clear site data for this origin in your browser.

Why is there no global leaderboard?

Because any score submitted from a browser can be fabricated, so defending a ranking properly means running the game on a server. A ranking nobody can trust is worse than none, and inventing plausible numbers would be a lie about other people's play.