PUTTLE

PRIVACY

Privacy

PUTTLE is a free browser game at puttle.golf. We do not create user accounts, and the only place we ask for an email address is an optional reply field on feedback.

On your device

Progress, streaks, stats, cosmetics, mute settings, and an in-progress daily round are stored in your browser. Clearing this site’s data in your browser deletes them there; the backup below stays, and your save link brings it back.

Cloud save

Your progress is also backed up to PUTTLE’s server under your random client id, so it isn’t lost with a device and can move to another one: every daily card (strokes and pars hole by hole, gems), your streak and totals, Locker counters and unlocks, trophies, World Tour stars, Monthly Major rounds, the strokes of your PUTTLE 3D dailies, crews, rivals and your display name. Sound, graphics and reminder settings and a round in progress stay on the device. It is copied up a few seconds after it changes and is never shown to other players. Your private save link (☁️ Your save) carries the client id: opening it on another device brings the save there, merged with anything played on that device, and from then on both play as you — so anyone with the link can, too. To have the backup deleted, send feedback from the game asking for it (a note carries your client id).

Leaderboard

When you finish a daily, your card is posted to the board: we store a random client id generated on your device, a public display name (an auto-generated alias or a name you choose, up to 16 characters), your stroke total for that day, and when it was submitted. Friends groups store a shareable group code, a group name, your client id, and your display name. Access uses a short-lived anonymous token — no sign-in. How the board plays for people: PUTTLE FAQ.

With the card we also store your round's ghost so other players can race it on that day's course. In PUTTLE 3D that is a short code holding each stroke's aim, pace, timing and where the ball lay, next to your client id, display name and total; in PUTTLE Classic it is a downsampled trace of your five holes (first-and-best only). A round that isn't posted (offline, or a practice round) stores no ghost. We do not attach them to a real-world identity.

Reminders

“Remind me daily” is optional and off until you turn it on. With permission, your browser or installed PWA may show local notifications — one a day, around 9am your local time. On browsers that support web push, turning reminders on also registers a push subscription with PUTTLE, so the day’s nudge can reach a closed PUTTLE.

Your reminder setting and the single pending nudge are stored in this site’s data in your browser, alongside your stats. Where the browser supports web push, we also store the push subscription your browser hands us (an address at your browser’s own push service — Google, Mozilla, Apple or Microsoft — plus its keys), your client id, the hour of the nudge and your time zone. Once a day, inside that hour’s window and only if you haven’t played yet, our server sends that address an empty push; your device then shows the nudge it already holds. Turning reminders off deletes the subscription and the pending nudge; clearing this site’s data removes the setting too. A browser that drops the subscription is deleted from our side on the next try.

Feedback

If you send feedback (💬 Send feedback in the game, or the form on Support), we store your note, the kind you picked, your client id, and — only if you type one — an email or handle so we can reply. To help replay a bug it also carries where you sent it from (which game, day, course and hole, or the page you came from), your screen size, language, and browser user-agent. Notes are read only by the person who makes PUTTLE and are never shown to other players. An email you give is used only to reply to that note.

Play with friends

If you start or join a room in 🎉 Play with friends (everyone, or a 🤝 Scramble), we store the room's 6-letter code, its course seed, world and number of holes, which game it is, each player's client id and display name, and what each player sends while you play: which hole you're on, your aim and strokes, where the ball lies, your scores and any emotes. Everyone in the room sees all of it, and nobody else can. Names go through the same checks as the leaderboard's. A room is deleted two days after anyone last played in it.

A challenge link (⚔️ Challenge a friend) carries the strokes of your round, or of one hole of it, the short public id described under Rivals, and your display name, so the friend who opens it sees whose ghost they're racing. Nothing about it is stored by PUTTLE beyond the rival link below.

If you publish a hole you built to 🌟 Player holes, we store its recipe (world, green and pieces), its name, your display name and your client id. When a player finishes a gallery hole we store their client id and their strokes on it, to count each player once; a report stores the reporter's client id. If you finish the 🏆 Monthly Major, we store your client id, display name and nine-hole total for that month.

Rivals

The link in a shared daily result carries a short public id — a one-way hash of your random client id, which can’t be turned back into it or used to post a score. When someone opens your link, we store that they follow that id, and from then on each of you sees the other’s daily cards (name, score and ghost) as rivals. Your card is on the public board anyway; the link only makes it easy to find. Once your daily card is on the board, PUTTLE also picks you a rival for the week: the player whose card that day was closest to yours. We store that you follow their public id for that week. Only you see it; they aren’t told, and it lapses after the following week. Nothing else about you is attached.

Analytics and advertising

DataFast records page views under a random visitor id that it keeps in first-party cookies (no name, no account). A Vercel edge middleware also reports known crawler requests (path, user-agent, and IP) to DataFast so we can see bot and AI-assistant traffic; human visitors are not sent on that path. DataFast also records anonymous goals (for example starting or finishing a round, each hole finished with its number, strokes and par, the hole a daily was left on, and roughly how many seconds passed before the first putt), and PUTTLE keeps its own anonymous daily tallies of the same moments: per day, how many devices opened the game, started, putted, finished a hole or the round, shared, or left a round part-way, how long the first course took to load (in rough buckets), how the day's course was rated on the results card (loved it, fine, or not for me), what kind of link or site the visit came from (a shared result, a reminder, a search engine — the kind only, never the address), whether a daily reminder could be and was switched on, whether the feedback form was opened and sent, whether the tip jar was opened and a tip tapped, which language the game was shown in, which modes and features were used (a room, the arcade, a chip shot and the like), the graphics level and frame rate the game settled on, what kind of device it was (a Chromebook, an iPad, a phone, a Mac or a PC, read from the browser, never the model), any error the game hit (where in its code, never what you typed), and whether that day was the device’s first. Those tallies carry no client id and nothing else that could tell one player from another. The site also loads Google AdSense and may load Google Fonts; in Europe’s time zones (the EEA, the UK and Switzerland among them) AdSense is asked for non-personalised ads only. Those services process data under their own policies and may use cookies or similar technologies.

X Ads. PUTTLE also advertises on X, so outside Europe its pages load the X Pixel (uwt.js from static.ads-twitter.com) to tell X when a visit came from one of those ads, and the game tells it the same three moments, each at most once a day: today’s daily started, its first putt, and the round finished. Nothing else: no score, no name, no client id. In Europe’s time zones (the EEA, the UK and Switzerland among them) the pixel isn’t loaded at all. Where it runs, X may set its own cookies to match a visit to an ad, under its own policy; you can turn off X’s ad personalisation in its privacy settings, and a blocker that stops ads-twitter.com leaves the game working as before.

Meta Ads. When PUTTLE advertises on Facebook and Instagram, its pages outside Europe load the Meta Pixel (fbevents.js from connect.facebook.net) to tell Meta when a visit came from one of those ads, and the game tells it the same three moments, each at most once a day: today’s daily started, its first putt, and the round finished. Nothing else: no score, no name, no client id. In Europe’s time zones (the EEA, the UK and Switzerland among them) the pixel isn’t loaded at all. Where it runs, Meta may set its own cookies to match a visit to an ad, under its own policy; you can turn off Meta’s ad personalisation in its ad preferences, and a blocker that stops connect.facebook.net leaves the game working as before.

Tips

Optional one-time tips go through Stripe Checkout on a page hosted by Stripe. Stripe collects the payment details it needs to process the charge. PUTTLE does not store card numbers. A tip does not create a PUTTLE account and does not change how the game plays. Coming back from checkout, this browser notes that you tipped (puttle_tipped, in local storage) so the Locker can show its thank-you shelf; that note is kept with your save, like your other unlocks.

Keeping and deleting

Live rooms are deleted two days after anyone last played in them, and a push subscription your browser gives up is deleted at the next send. Everything else on the server (board cards, ghosts, the backup, crews, published holes, feedback) is kept while PUTTLE runs, under your random client id. There is no account to close: to have every row under your id deleted, send a note through 💬 Send feedback (or the form on Support) asking for it from the device you play on, since the note carries that id (lost the device? a save link carries the id too, so send it from a device the link was opened on). Then clear this site’s data in your browser.

Children and schools

PUTTLE asks no one for personal details: no account, no chat, no voice, no real name. The only words another player sees are a display name (a generated alias until one is typed in, with swearing, slurs and crude words refused), a crew’s name and a published hole’s name. Children, and classes playing at school, should keep the alias or use a nickname, never a full name, and leave the feedback reply field empty. Ads may show on the game page; nothing is for sale, and an optional tip adds only a thank-you shelf of looks.

What we don’t collect

We do not require an account, password, or email. A finished daily's card and ghost are posted to the leaderboard, and your progress is backed up as described under Cloud save, where only your save link reaches it. Playing in a room with friends, publishing or finishing a gallery hole, finishing a Monthly Major, sending feedback, turning on the daily reminder (a push subscription, where your browser supports web push) and opening a friend’s shared link each store what is described above. Display names on the board are public.

This page may be updated when the game’s data practices change.

Updated

Play today’s course

About How to play FAQ Scoring Install Support