Privacy
Freehand needs no account, and keeps no email addresses. You can sign in with Google to keep your name on more than one device; nobody has to. Its only lasting cookies are Google Analytics’, which count visits and can be switched off. This page lists everything it does keep, and where each piece of it lives.
Last updated 20 October 2026
What stays on your device
Stored in your browser’s local storage, not in cookies, and never sent anywhere except where noted below. Clearing your browser data for this site removes all of it.
- byeye.identity.v1
- Your player id, the name shown on the boards, and a random secret generated in your browser. The secret is what proves a score is yours. We store only a hash of it, never the value. If you signed in with Google, also the address of the Google account, so the site can show you which one: it is kept here, in your browser, and nowhere else.
- byeye.queue.v1
- Finished runs waiting to be sent, if a submission failed.
- angled · halved · dropped · balanced · counted · timed .daily.v1
- Your own results for each game, so the site knows which puzzles you have played, challenges included. Kept for 60 days, then swept automatically.
- freehand.analytics.v1
- Whether you allowed Google Analytics or switched it off, and when. Set only once you choose; after about thirteen months you are asked again.
- halved.settings.v1 · dropped.settings.v1 · freehand.audio.v1
- Your sound and reduced-motion preferences.
- halved.tutorial.v1 · dropped.tutorial.v1
- Whether you have already been shown the coached round.
What reaches the server
When you finish a daily and it is submitted to a leaderboard, plus three smaller things: a tap on a share button, an arrival from a tagged link, and how long a tab was open.
- Your player row
- An id, the name on the boards, a SHA-256 hash of your device secret, and the date it was created. The name is assigned automatically (an adjective and an animal) unless you change it.
- Your score rows
- Which game, which puzzle date, the score, and the raw inputs you made during the round: the dial angles, cut positions, called landings and so on. The inputs are kept because every score is recalculated on the server from them rather than trusted from your browser, and so any score can be audited later.
- If you sign in with Google
- Google’s id for your account (a number Google assigns, not your email address), linked to your player row; a hash of each signed-in browser’s secret; and a copy of your results for each game (the .daily.v1 records above), so your streak and your played games reach your other devices. Signing in happens on Google’s own page, under Google’s privacy policy. While it does, two cookies hold the sign-in’s progress for at most ten minutes, and are deleted once it is done. If the browser you sign in on already has a name, its scores join your account’s; where both played the same day, the account’s score stands.
- Challenges
- A challenge you make is its code, your player id and when you made it. Each game you play in one is kept like a score row: the game, the score and the raw inputs, against the challenge’s code instead of a date. Anyone with the link sees the names and scores of everyone who played it.
- A tap on a share button
- Which game it was on and whether the share sheet opened, the text was copied, or neither. That is the whole row: no player id, no address, nothing that could say who tapped. It exists so the site can tell whether sharing is used at all.
- An arrival from a tagged link
- If the link you followed carried a source tag (a
utm_source, the way a post on Reddit or a tweet would), the tag is counted, and remembered in your browser so that your first finished game can be counted against it. The tag is the whole row: no player id, no address. It answers “did that post bring anyone who played?” and nothing about you. - How long a tab was open
- The number of seconds this tab was actually on screen, sent when it is hidden or closed, under a random id the tab made up for itself and forgets when it closes. The id is attached to nothing else, not your player row, not a score, not your address, so the row says “someone spent four minutes” and cannot say who. The same report lists what the tab did, in order: the pages it showed (never a challenge’s code), which buttons were tapped, which games were started, how many rounds in, and which were finished; and whether this browser had been here before. Never what you answered or scored.
- A hash of your IP address
- Salted and hashed, never the address itself, used only to rate-limit name claims. Rows older than an hour are deleted on every request.
What is never collected
No email address, password, real name, phone number, location, contacts or device fingerprint. Signing in with Google shows the server your address only long enough to pass it back to your browser. The fonts are served from this domain, not from Google. There are two measurement scripts, Cloudflare’s and Google’s, both described below. No ad is served on this site today; advertising says what changes if that stops being true.
Who else is involved
The site is hosted on Cloudflare and its data is stored in a Neon Postgres database. Both keep standard server logs, which include IP addresses, under their own privacy policies. Apart from them, the two analytics services below and Listdle’s badge, nobody else receives anything — no advertising platform included, for as long as the section on advertising says no ad is being served.
The homepage shows a badge from Listdle, a site that lists games like these. It is an image loaded from listdle.com, so showing it sends Listdle what fetching any image does: your IP address and your browser’s name. It is sent without the address of the page it is on, sets no cookie and runs no script, and it loads only when it is on your screen.
Freehand uses Cloudflare Web Analytics to count page views and how quickly pages load. It records which pages are visited, the referrer, and a coarse browser, device and country, and it does this without cookies, without storing anything on your device and without an identifier that follows you between visits. It never sees your board name, your scores or anything you type. Cloudflare’s policy is cloudflare.com/privacypolicy.
Google Analytics
Freehand also uses Google Analytics, to understand how many people play and how they find the site. It records the pages you visit, how long you stay, roughly where you are (country and city), your browser and device, and which game you started or finished. It never receives your board name, your scores or anything you type.
To recognise a returning visit it stores two cookies, _ga and _ga_SE7YCB92C2, for up to two years. In the European Economic Area, the UK and Switzerland it stores nothing unless you accept on the banner that asks; until then Google receives only cookieless counts. Google’s policy is policies.google.com/privacy.
For this browser: or .
Advertising
No ad is served on Freehand today. The site has applied to an advertising platform, and this section is here before any ad is, because the page above promises it would be. If the application comes to anything, this section will name the platform and link its policy before the first ad runs — a page that tells you a stranger is setting cookies ought to say which stranger.
What exists so far is a file at /ads.txt, which names who is allowed to sell advertising against this domain. It is a text file served from here. Reading it sends nothing anywhere, sets no cookie and runs no script; its purpose is to stop anyone else selling ads in Freehand’s name.
If and when ads do run, three things change, and this page will say so on the day rather than after it. The platform’s ad script will load on the pages that carry an ad, which tells it your IP address and your browser. It may store cookies to choose what to show and to count what was shown. And in the European Economic Area, the UK and Switzerland it will sit behind the same banner Google Analytics does — until you accept, no advertising cookie is stored and anything shown is chosen without using you to choose it.
What will not change, whoever the platform turns out to be: no ad network will ever receive your board name, your scores, your suggestions or anything you type here.
Your control over it
Clearing this site’s data in your browser erases your identity, your history and your preferences. Be aware that it also erases the secret proving the board name is yours. If you signed in with Google, sign in again and the name, its scores and your history come back. If you did not, there is no recovery, and the name cannot be reclaimed.
To have a player row and its scores deleted from the server, email hello@freehand.fun with the name shown on your board. Signing out of a browser keeps your player for your next sign-in; to have the link to your Google account removed as well, ask the same way.
Changes
If Freehand adds any further third-party script, this page will say so before it happens, because several statements above stop being true the moment it does. The section on advertising is that promise being kept: it was written while the answer was still no.
Questions or deletion requests: hello@freehand.fun or see contact.