← Pencil and Paper · studio privacy policy

Pencil and Paper — privacy & data

What this game sends, in plain language, and the switch that stops it. Written from the game’s own code, not from a template a lawyer keeps.

Pencil and Paper sends anonymous play statistics, on by default. No account, no name, and your IP address is not stored.
It sends a daily report, described card by card below with every field name read out of the game’s own code. The daily report carries a random install id the game keeps on this machine, so we can tell one install from another - never who is behind it. To turn it off: the Share anonymous stats switch, on Settings → the DATA tab.

What this game sends

Anonymous play statistics (daily report)

Puzzles solved in total, the current and longest daily streak, one word saying whether the save’s own integrity seal could vouch for that streak (trusted, adopted or refused), editions completed, achievements earned, and one count per puzzle column you have solved in (solved_sudoku and so on) - plus how many times the game has been opened, how many minutes it has been open, and minutes on each of four screens: the front page, solving, the newsstand and the MORE menu. Never your answers, and never which day’s puzzles.

When: At most once a day (by the UTC date): one try a session, about a minute after the game starts, skipped if today’s report has already gone, or while a mod pack that changes the game is loaded. A report that does not arrive is tried again at the next start.

Sent to: https://lostphantom.live/api/pencil-and-paper/telemetry

Every name in it, read out of the game’s code: anon version platform sessions playtimeMin scene_time metrics solved_total streak longest_streak streak_proof editions_completed achievements solved_* front_page solving newsstand more_menu (a * is a family: one name per column, filled in as you play)

Platform: the platform as Unity names it, one word: WindowsPlayer, OSXPlayer, LinuxPlayer or Android (a Steam Deck is not told apart - it reports Linux, or Windows under Proton).

Identifier: A random install id: twelve characters the game makes up on this machine the first time it prepares a report (about a minute into a session, and only with the switch on) and then keeps. It is not made from your Steam account, your hardware or a hash of anything, it is not copied to Steam Cloud or to an account, and turning the switch off does not delete it. It lets us tell one install’s reports from another’s; nothing in them says whose install it is.

Turning it off: the Share anonymous stats switch, on Settings → the DATA tab. It is ON by default. Off stops the report before it is built. The game goes on counting sessions and minutes on your machine while it is off, and a report sent after you turn it back on includes them. The switch is stored in your save, so “Start a fresh paper” - which resets everything, settings included - turns it back on; the random id survives a fresh paper.

What we keep: One record per install - the id, the version, the platform, the session and minute totals, the latest counters and screen minutes, and the first and last day it was heard from - plus daily totals per game. An install not heard from for 400 days is deleted; a daily total is kept for two years. A report carrying a field named like a name, an account or an email address, or any value shaped like an email address, is refused with an error rather than stored. Your IP address reaches our server with the request, as it does for any connection; it is held in memory for a few minutes to limit how often a report is accepted, and it is never written to a table or a log.

Where this is read from: PencilAndPaper: Assets/PencilAndPaper/Scripts/Core/Telemetry.cs BuildPayload and SceneBuckets (the body) and ShouldAttempt (the switch is its first test); UI/TelemetryRunner.cs (the send); Core/SaveData.cs `shareAnonStats` (the default); UI/SettingsScreen.cs case "DATA" (the row)

Bug reports and suggestions

Only what you write, and only when you press SEND. With it go six things the game already knows: the game version, whether this is a public or a tester build, the platform (the word Unity uses — "WindowsPlayer", not your machine), the language you are reading, which page was open, and a random id for this install. No log tail — this game keeps no log buffer, so there is none to send. No name, no account, no email, no device name, no location and no hardware. The install id is a random number the box made up so that three reports about one crash read as one story; it names an install to a queue, never a person to anybody.

Honesty note: there is no switch in front of the box, because it sends nothing unless you have written a report and pressed SEND. Share anonymous stats deliberately does NOT silence this — turning statistics off says you do not want to be measured, not that you no longer want to be able to report a crash.

Where this is read from: PencilAndPaper: Assets/PencilAndPaper/Scripts/UI/FeedbackBox.cs (`IntakeJson` is the one payload builder and `IntakePath` the one spelling of the address), documented in docs/FEEDBACK.md and held in both directions by Tools/feedback-check.py

What is in the standard snapshot

The top-level shape of the daily report the studio’s own statistics address takes. The card above names every counter and screen inside it.

FieldWhat it is
anonA random install id, twelve characters the game makes up on this machine the first time it prepares a report (about a minute into a session, and only with the switch on) and then keeps. Never derived from a Steam id, an account, your hardware or a MAC address; not copied to Steam Cloud; not deleted by turning the switch off.
versionWhich version of the game is running - so a crash-prone build can be told from a fixed one.
platformOne word for the kind of machine: the name Unity gives it (WindowsPlayer, OSXPlayer, LinuxPlayer, Android), or in Smokestack Valley just desktop or android. A Steam Deck is not told apart. No model, no hardware, no operating-system version.
sessionsHow many times the game has been opened on this machine, in total.
playtimeMinHow many minutes the game has been open on this machine, in total.
scene_timeMinutes spent on each of the game’s screens - the list is on each game’s page. This is the "which parts do people actually play" answer.
metricsCounters the game chooses, such as nights survived or puzzles solved - each game’s page names every one. The server keeps numbers only.

What is never sent

What we actually see

What this adds up to on our side is mostly charts. Per game and per day the dashboard shows:

For the games that send a daily report (Winter Is Here, Dug Out, Smokestack Valley, Pencil and Paper and Slime Wars) we also keep one record per install - its latest totals and the first and last day it was heard from - and the dashboard lists a few of them under a short label that stays the same between visits. So we can tell one install from another, but not who is behind it: there is no name, account, Steam id, email or IP address anywhere in it, and the id is random. The screen-time batches keep no per-install record at all.

Things you choose to send

Questions

Email lostphantom03@gmail.com, or use the in-game feedback box. The studio-wide policy, which covers this site and the optional accounts, is at /privacy.