Cookie & Storage Policy
Last updated May 27, 2026
We don't use third-party tracking cookies. We do use a small amount of localStorage and sessionStorage in your browser to remember functional things: your name, the rooms you've joined, whether sounds are on. Everything below is strictly necessary for the Service to work the way you expect.
1. HTTP cookies
The Service itself sets no HTTP cookies in normal operation.
Cloudflare may set strictly-necessary cookies at the network edge for security and DDoS mitigation (e.g. __cf_bm, bot management). These are first-party cookies, contain no personal data, and expire within 30 minutes of inactivity. They are exempt from consent because they are strictly necessary.
2. Browser localStorage
localStorage persists across tabs and sessions until you clear it. We use the following keys, all prefixed with pp::
| Key | What it holds | Purpose | Lifetime |
|---|---|---|---|
pp:participant_id | Anonymous random ID we generate (no personal data) | Recognises your device across reloads so your session is restored | Until you clear browser storage |
pp:name | The display name you typed | Pre-fills your name in the next room you join | Until you clear browser storage |
pp:session:<roomId> | Your participant document id and per-room session token (no passwords) | Authenticates you to the room without re-entering details | Until you leave the room or clear browser storage |
pp:my_rooms | List of rooms you've created or joined | Shows “your rooms” on the landing page | Until you clear browser storage |
pp:sounds | Boolean: are reveal/timer sounds on? | Remembers your sound preference | Until you change it or clear browser storage |
pp:storage_notice_dismissed | Boolean: have you dismissed the storage notice? | Stops re-showing the bottom-right notice once you've seen it | Until you clear browser storage |
theme | Set by next-themes: light / dark / system | Remembers your theme preference | Until you change it or clear browser storage |
3. Browser sessionStorage
sessionStorage is per-tab and cleared when you close the tab.
| Key | Purpose | Lifetime |
|---|---|---|
pp:revealed:<roundId> | One-shot guard so the reveal animation plays once per round, not on every reconnect | Until the tab is closed |
4. Analytics (cookieless)
We use two cookieless analytics products, both from Cloudflare:
- Cloudflare Web Analytics. Server-side, no cookies, no fingerprinting. Reports aggregated page views, referrers, and core web vitals. See Cloudflare's privacy notes.
- Cloudflare Workers Analytics Engine. Captures aggregate product events (rooms created, rounds started, votes submitted, reveals, invites issued) tagged with the room id and deployment SHA. No participant identifiers, no personal data.
5. How to opt out
Because everything we store is strictly functional, there's no opt-out button to give you. Opting out would mean the Service stops working. You can, however:
- Clear site data via your browser's settings (Application → Storage → Clear site data in Chrome / DevTools). This logs you out of all rooms.
- Use a private / incognito window. Storage is wiped when you close it.
- Block the planpokr.app origin entirely. The page will fall back to a static landing screen, but joining a room will not work.
6. Contact
Questions about storage or cookies: privacy@planpokr.app. See also our Privacy Policy.
Last updated May 27, 2026 · Operator: the operator of planpokr.app.