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.
Factory-scale counters - how far your lifetime cash has reached (as an order of magnitude, never the number), restructures, sites owned, machines standing, basement machines built, units shipped, golden units, contracts done, rush hours used, lifetime shares, milestones, objectives claimed, companies sold, levers pulled, repairs paid, rush orders served, pledges won, the daily streak and whether this is the demo - plus how many times the game has been opened, how many minutes it has been open, and minutes on each of four screens: the main menu, the factory, the shop and world travel.
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 balance mod is loaded. A report that does not arrive is tried again at the next start.
Sent to: https://lostphantom.live/api/2d-classic-tycoon/telemetry
Every name in it, read out of the game’s code: anon version platform sessions playtimeMin scene_time metrics cash_magnitude restructures sites_owned machines_standing basement_machines_built units_shipped golden_units contracts_done rush_hours lifetime_shares milestones objectives_done companies_sold levers_pulled repairs_paid rush_orders_served pledges_won daily_streak demo main_menu factory shop world_travel
Platform: the kind of device as one word: desktop (Windows, Mac, Linux and Steam Deck alike), android, ios, console or web.
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 PRIVACY 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 choice is kept on this machine only: it survives wiping your save, and a new machine or a reinstalled phone starts with it on.
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: 2DClassicTycoonByPhantomStudios: Assets/Scripts/Core/Telemetry.cs BuildPayload and SceneBuckets (the body), TrySend (the switch is its first test) and Shared (the default); UI/SettingsUI.cs BuildPrivacyTab (the row)
What you write, plus a summary of your company appended underneath it — sites owned, cash and lifetime cash, income, restructures, milestones, how long you have played and the save version — and only when you press SEND. With it go seven things the game already knows: the version, whether this is a public or a tester build, the platform (one word, desktop or android - not your machine), the language you are reading, which screen you were on, your playtime, and a random id for this install. The box lists all of that above the button before you press it. No name, no account, no email, no device name, no location and no hardware. The install id is minted for this box alone and is not the id the statistics above use, so a report you send cannot be joined to your play statistics.
Honesty note: there is no switch in front of the box, because there is nothing running: the game composes a report only after you have written one and pressed SEND, and the box never sends anything on its own. Turning "Share anonymous stats" off deliberately does NOT turn the box off — that switch 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: 2DClassicTycoonByPhantomStudios: Assets/Scripts/Core/Feedback.cs (Fields() is the one list, walked by both the payload and the notice the box shows you before you send; Compose() is what puts the company summary inside `text`), held by Tools/Verification/feedback-check.py and by FeedbackToTheStudio in Tools/Verification/Tests.cs
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.
| Field | What it is |
|---|---|
anon | 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. 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. |
version | Which version of the game is running - so a crash-prone build can be told from a fixed one. |
platform | One 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. |
sessions | How many times the game has been opened on this machine, in total. |
playtimeMin | How many minutes the game has been open on this machine, in total. |
scene_time | Minutes 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. |
metrics | Counters the game chooses, such as nights survived or puzzles solved - each game’s page names every one. The server keeps numbers only. |
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.
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.