Privacy
Last updated 11 September 2026
Belay is built so that you can play, compete and appear on a leaderboardwithout giving us a single piece of personal data. There are no accounts, no email addresses, no passwords, no cookies and no analytics.
The one thing we will not promise: that a posted score can always be taken back. Deleting it needs the recovery code you get at the moment you post, and if you lose that code there is nothing left connecting the run to you — nothing on our side either, which is the point.Please do not post a run you would not want kept. Playing is unaffected and stores nothing anywhere.
Who is responsible
Belay is run from Austria by the author of saeiddrv.com. Anything on this page — a request, a correction, a complaint — goes to hello@playbelay.com, which is the only contact address for this site.
If you only play
Nothing is sent anywhere, and nothing is kept — not by us, and not by the game. It does not even remember your best run: a score kept in one browser is not a record, so the game does not pretend otherwise. If you play without touching the sound and without posting a score, your browser is left exactly as it was found.
If you post a score
Posting is a deliberate act. Only when you press it do we store:
| A random player id | generated by us, meaningless outside this game |
|---|---|
| A display name | whatever you type. Please do not use your real name. |
| The run | its depth, its duration, how much of it you spent on the rope and your longest single hold, and the sequence of key presses that produced it |
Purpose: to show the score on the leaderboard, to give it a shareable page, and to verify it is real by replaying it.Legal basis: your consent, given by choosing to post (Art. 6(1)(a) GDPR). Providing a name is neither a statutory nor a contractual requirement — the entire game works without it.
Keeping the game usable
To stop one machine flooding the leaderboard, we count recent requests. The counter is keyed on your IP address after it has been through a keyed hash, so what is written down is a pseudonym that cannot be turned back into an address without a secret we hold, and it expires automatically an hour and a minute after it is written — the length of the window it counts, plus a minute so a counter cannot vanish mid-window. We never store the address itself.Legal basis: our legitimate interest in keeping the service available and its scores honest (Art. 6(1)(f)).
How long we keep it
| Posted runs and your name | kept until you delete them. Nothing expires them on a timer, and no period is promised in either direction — deletion is on request, with your recovery code |
|---|---|
| Abuse-prevention counters | one hour and one minute, then they expire on their own |
| Anything else | we do not have anything else |
Your rights
You can exercise all of these yourself, immediately, from Your data — for as long as the browser you posted from still holds your recovery code, or you have kept a copy of it. That condition is real, and the honest version of it is the paragraph below the table.
| Access (Art. 15) | Export my data — everything we hold, as JSON |
|---|---|
| Portability (Art. 20) | the same export, in a machine-readable format |
| Rectification (Art. 16) | Rename |
| Erasure (Art. 17) | Delete my data — immediate and permanent, while you still hold the recovery code |
| Withdraw consent (Art. 7(3)) | the same button; withdrawal does not affect processing already carried out |
| Restriction and objection (Arts. 18, 21) | write to us, or simply delete — deletion achieves more than either |
How we know it is you, without knowing who you are
The first time you post a score, you are issued a random player id and a signed recovery code. That code is the entire identity system: no email, no password, nothing that says who you are, and nothing that lets us recognise you between visits. We do not look you up — you present the code, and it either verifies or it does not. That is what authorises the export, the rename and the deletion above.
Your code is saved in this browser for convenience, so you are not asked to retype it. It is yours to keep: Your data will show it, copy it, or save it to a file, and it works in any browser you paste it into. It identifies a set of runs, not a person or a device.
If you lose that code, we cannot identify your data. There is nothing else linking it to you, so we would be unable to act on a request about it, and Article 11 GDPR does not require us to collect extra personal data in order to be able to. We are telling you here so the trade is explicit: keeping a copy of the code is what keeps these rights usable, and the alternative would be asking everyone for an email address.
You also have the right to lodge a complaint with a data protection supervisory authority, in the EU or EEA country where you live or work. Ours is Österreichische Datenschutzbehörde (Austrian Data Protection Authority).
Who else is involved
The site is hosted by Cloudflare, which stores the database and serves every request on our behalf as a processor, under a data processing agreement. Like any host it handles IP addresses in order to route traffic and block attacks; we neither receive nor store them.
Cloudflare is a US company operating a global network, so a request may be handled outside the EEA. Those transfers rely on Cloudflare's standard contractual clauses and its data processing addendum. The database itself is created with an EU location hint.
No third-party code runs on this site at all. Not an advertiser, not an analytics script, not a font from somebody else's server, and not a bot check. Every file your browser loads comes from this domain, which is why the content security policy allows exactly one origin and nothing else.
Nothing is sold, shared or handed to anyone else. There is no advertising, and no analytics of any kind — not even the cookie-free sort.
Cookies, and why there is no banner
This site sets no cookies at all, so there is nothing to ask you to accept. That is the whole reason you were not shown a banner.
What little the game does keep, it keeps in localStorage rather than a cookie, and the difference matters. A cookie is attached by the browser to every request it makes to the server, whether you wanted that or not — which is what makes cookies useful for following people around. Anything in localStorage just sits in your browser and goes nowhere unless the page deliberately sends it.
Two things can be kept there, and that is the entire list. Neither is written unless you do something that asks for it:
belay.audio | your volume and whether you muted — written only if you change the sound, never merely by playing.Never sent to us. |
|---|---|
belay.id | your player id, your recovery code, the display name you last posted under, and whether you have saved the code (so the game stops offering it once you have) — written only if you post a score. Sent when you deliberately post, export, rename or delete; never on its own, and never with an ordinary page view. |
There are no cookies, no sessionStorage, no IndexedDB and no cache entries. Those are not omissions from this list — the code contains not one use of them.
Both exist to do something you asked for, which is the condition under which ePrivacy allows storage without consent. A consent dialog would be asking permission for something that needs none. Clearing your browser data erases both — including, be warned, your recovery code.
A banner that appears anyway is usually a sign of tracking behind it. If this site ever adds anything that genuinely requires consent, it will ask properly rather than pretend it already did.
Automated decisions
None. Your run is replayed to check the depth is real, which is arithmetic rather than a decision about you, and it produces no legal or similarly significant effect.
Children
Belay is not directed at children, and we do not knowingly collect anything from them.
Posting a score rests on consent, and under Article 8 GDPR a child cannot give that consent alone below an age their own country sets — sixteen by default, and as low as thirteen in the countries that lowered it. So the honest line is not a single number: if you are under sixteen, check whether your country allows you to agree to this yourself, and ask whoever is responsible for you if it does not.
What is at stake is deliberately small. Playing collects nothing at all. Posting collects a display name you invent, and this policy asks everybody — child or not — not to use a real one. There is no age gate, because a gate that asks for a birth date would collect more about a child than the game otherwise ever does.
Who is actually doing this
Belay is a free project run by one person. There is no company, no team and no support desk, and the obligations on this page are met directly rather than by anybody else. It is also why there is so little here to be responsible for: the quickest way to keep data safe is not to collect it.
Changes
Material changes are announced on this page with a new date. Because we hold no address for you, there is no other way we could tell you.