Effective date: 23 September 2026
Updated 23 September 2026. Pyatnashki now asks one question about storage, and this notice explains it. There is still no cookie used for advertising, profiling or cross-site tracking, and nothing here is shared with anybody.
Everything below apart from one entry is stored without asking, because it is what you asked the Game to do: keep your puzzle, your theme, your language. The one entry that asks is dcp0.client, and if you decline it, or ignore the notice, it is never created. The Game stores a small amount of data on your own device purely to let you save your game and play offline. Because this storage is strictly necessary / functional for the feature you requested, EU rules (the ePrivacy Directive, Art. 5(3)) do not require a consent banner for it.
EU law on this topic covers any storing of, or access to, information on your device — not just HTTP cookies, but also localStorage, sessionStorage, and the service-worker Cache API. Consent is required unless the storage is strictly necessary to provide a service you explicitly asked for.
| Name / key | Technology | Purpose | Personal data? | Duration |
|---|---|---|---|---|
state | localStorage | The whole saved game: tile positions and move count, and the arrangement you were dealt | No | Until you clear site data |
telemetry | localStorage | Only while gameplay records are switched on, and only while a puzzle is unsolved: a random id for that one puzzle, a counter, and any record waiting to be sent — of a solved puzzle, or of one you left unfinished. It is what lets you leave a puzzle for a week and have it counted as one game rather than two. Nothing about you | No | Until the puzzle is reported; discarded unsent after 90 days, or when you clear site data |
run | localStorage | Only while gameplay records are switched on, and only while a puzzle is unsolved: that puzzle's moves so far, with how long each took. No board is copied here — state already holds the game, and the record reads the arrangement you were dealt from it when the puzzle is solved | No | Until the puzzle is reported, or you clear site data |
dcp0.cookies | localStorage | Your answer to the cookie notice — yes or no, and nothing else. It is stored so we stop asking | No | Until you clear site data |
dcp0.client | localStorage | Only if you answer "Allow": a random identifier, created on your device, so that we can tell a returning visitor from a new one. Not linked to your name or to anything else about you, and disclosed to nobody. Deleted the moment you decline, or if your browser sends a Do Not Track or Global Privacy Control signal | No | Until you decline, reset it, or clear site data |
theme | localStorage | Remember light / dark / automatic | No | Until you clear site data |
rules-seen | localStorage | Remember that you have seen the how-to-play sheet | No | Until you clear site data |
lang | localStorage | Remember your language | No | Until you clear site data |
dcp0.session | localStorage | A random game session identifier for this game in this browser. It exists whether or not gameplay records are switched on, because the Game also uses it to ask which features are switched on for it; each of our games keeps its own, and signing in is the only thing that joins them. It is not attached to the performance reports described in the Privacy Policy | No | Until you reset it in Settings, or you clear site data |
| App files (HTML/JS/CSS, icons, manifest) | Cache Storage (service worker) | Offline play & fast loading | No | Refreshed on each app update |
The exactlocalStoragekey names are defined insrc/game/storage.ts(each is prefixeddcp0.pyatnashki.), andnpm run check:repofails if a declared key is missing from this table; update this table if they change.
All of the above is first-party and stays on your device, with one exception: telemetry and run are the record of a solved puzzle, which is sent to a server we run when you finish one and while the records switch is on. What that record contains is set out in section 5 of the Privacy Policy. Everything else is never transmitted to us or any third party.
The ePrivacy "strictly necessary" exemption covers storage that is essential to deliver functionality you asked for. Saving your game progress, your theme, your language and the files for offline play are exactly that, and they are stored without a banner because a banner asking permission to remember your own puzzle would be noise.
dcp0.client is not strictly necessary — it exists so that we can count returning visitors — so it is stored only with your consent, which is what the notice asks for.
The game works the same either way, so the notice does not block it. We measure visits regardless (see the Privacy Policy, section 6), and by default we do it without storing anything on your device and without any identifier connecting one visit to another — which needs no consent, because it stores nothing and identifies nobody. Saying yes adds the identifier; saying nothing is the same as saying no.
Withdrawing consent. Decline in the notice, or clear this site's data, and dcp0.client is deleted immediately.
US note: we do not "sell" or "share" information as those terms are defined under CCPA/CPRA, so there is nothing to opt out of. We nonetheless honour Do Not Track and Global Privacy Control: a browser sending either is never offered the notice, never has the identifier created, and has any existing one deleted. See the Privacy Policy for details.
You can inspect and erase everything Pyatnashki stores at any time:
"storage") for https://pyatnashki.com. This removes your saved game and best score.
be unable to save your progress or work offline.
exactly what is stored.
dcp0 — contact@pyatnashki.com