Privacy Policy for Cozy Compute
Cozy Compute ("the game") is made by Trevor Elmitt ("we", "us"). This policy explains what the game keeps on your iPhone, what it sends to us, and why. Questions: hello.cozycompute@gmail.com.
The short version
- The game has no account and no login. We don't ask for your name, email or phone number.
- No ads, no tracking, and we don't sell or share your information.
- The game sends a small set of gameplay statistics, such as "a session started". Each is tagged with a random ID that the game makes for your install. The ID isn't tied to your name or your Apple Account.
- If the game crashes or freezes, it sends Apple's technical report of where in the code that happened. Crash reports don't carry the install ID.
- If Apple's age check says you're under 13, the game sends nothing.
- You can turn statistics and crash reports off in Settings.
- Apple handles purchases, and we never see your payment details.
What stays on your iPhone
- Your save: your progress, kept in the game's private storage. We never receive it. It's included in your iPhone's backups if you make them, and deleting the game deletes it.
- Your age range, if the game asked for it (see "Age check"). It never leaves your iPhone.
- A few small values: the date you installed the game, whether "Share statistics and crash reports" is on, the random install ID, your experiment group, a note of which first-time milestones it has already sent, the times of the last few Away job reminders (so it sends at most 2 a day), and lists of statistics and crash reports waiting to be sent. Settings shows the install ID. When statistics turn off, the game deletes the ID, the experiment group, that note and both lists (see "When the game sends nothing").
What we collect, and why
When statistics are on (see "When the game sends nothing"), the game sends:
- A random install ID. The game makes it the first time it sends anything. It isn't your Apple Account, your device's advertising identifier, or anything else that names you. You can see it in Settings. Deleting the game deletes it, and so does turning statistics off. A reinstall, or turning statistics back on, makes a new one.
- Gameplay events:
- when a session starts and ends, and how long it lasted (in seconds, timed while the game is open);
- how long you were away when you come back;
- when you retrain the model, and how much Insight it gave;
- the first time you buy each kind of machine (which kind, never anything else);
- milestones such as a new kind of machine, something learned or someone hired, a Campus site, cooling, Campus Level or blueprint, a new day on the campus, a trophy or badge, your first weekly contract, and the first of each weekly event (the kind of milestone only);
- whether you allowed notifications when the game asked (yes or no);
- that you bought the Starter Pack (the product name only, never the price or payment details).
- With each event: the number of days since you installed, the time (in UTC), and the game version.
Our server also records your experiment group, whether Apple's DeviceCheck confirmed that the request came from a real Apple device (yes or no), and how this copy of the game was installed: from the App Store, through TestFlight (Apple's app for testing games before release), or as a developer build. The game reads that from Apple's own record of the installation on your iPhone and sends only that one word, once. If Apple's record can't be read or checked, the game sends nothing for it.
Why: to learn how the game is played and improve it. For example, how many people come back the next day, how long sessions last, how far the first session gets, how often something new turns up, how many people want the Away job reminder, and whether the Starter Pack is worth it. How the game was installed lets us leave testers and our own builds out of those numbers. The install ID also lets us cap how much one install can send, which protects the system from abuse.
What we don't receive or store: your name, email, phone number, Apple Account, location, contacts, photos, advertising identifier, language, or anything you type. Your iPhone model is sent only inside crash and performance reports (below), which carry no install ID.
Your internet connection. When the game sends statistics or crash reports, your iPhone's IP address reaches our hosting provider, along with a basic technical header that names the app and the iOS version. This happens with any app that goes online. Our database doesn't store IP addresses. The hosting provider's request logs may keep them for up to 7 days to run and secure the service.
Crash and performance reports
When statistics are on, the game also sends the reports that Apple's MetricKit prepares on your iPhone when the game crashes, freezes (a "hang"), or uses too much processor time or storage writes. MetricKit usually hands a report to the game the next time you open it. The game sends at most 10 a day. Each report holds only:
- what happened (crash, hang, processor use or storage writes);
- the game's version and build, the iOS version, and the iPhone model (such as "iPhone18,4");
- for a crash, the technical exception and signal codes;
- the call stack: which parts of the game's code and of iOS were running, as code locations.
Crash reports are not tagged with the install ID or anything else that identifies you or your install, so we can't connect them to you or to your gameplay statistics. Our database records only the day a report arrived, not the time, so a report can't be matched to statistics sent at the same moment. Before sending, the game removes everything else MetricKit includes, such as your region setting and any error message text. The hosting provider's request logs (above) see the IP address of both kinds of request; we don't use them to connect a report to your statistics.
Why: to find and fix crashes and freezes, and to check that the game is stable before we release it.
DeviceCheck
The first time the game sends statistics, it asks Apple's DeviceCheck service for a one-time token and sends that token to our server. Our server passes it on to Apple. DeviceCheck lets an app keep two yes/no values for each device on Apple's servers. We use them to mark that this device has already played the game, and which experiment group it's in, so deleting and reinstalling doesn't put you in a different group.
We don't keep the token. DeviceCheck doesn't tell us who you are or give us an identifier for your device. The two values stay with Apple for your device after you delete the game. The game only uses DeviceCheck while statistics are on.
Age check
Some US states require apps to check age ranges. When Apple tells the game that a check is required for your account, the game uses Apple's Declared Age Range to ask for your age range: under 13, 13 to 17, or 18 and over. Your answer stays on your iPhone, and we never receive it. The game uses it only to decide whether statistics are sent, and plays the same either way.
When the game sends nothing
- When you turn off "Share statistics and crash reports" in Settings. It's on until you do.
- When the age check says you're under 13.
- When a check is required and you decline to share your age range. The game treats that as under 13.
- When the check can't be completed. Statistics stay off, and the game tries again the next time it opens.
When statistics turn off, the game deletes its unsent statistics and crash reports, the install ID and the experiment group from your iPhone, and stops sending anything, including DeviceCheck tokens. Turning the switch off does this at once, and the game sends nothing to us when you flip it either way. If you turn it back on, sending starts again with a new install ID, and nothing links that ID to the old one.
When the age check has turned statistics off, the switch in Settings shows off and can't be changed, with a note saying why.
Where no age check is required, the game doesn't know your age, and statistics are on until you turn them off in Settings.
Purchases
The Starter Pack is sold through Apple's App Store. Apple handles the payment, and we never see your card details or your Apple Account. The game checks your purchase with Apple on your iPhone to unlock the pack. Our statistics record only that your install bought it. Apple handles refunds. Apple's privacy policy covers what Apple does with purchase information.
What we don't do
- No ads, and no advertising networks.
- No tracking you across other companies' apps or websites. We don't use the advertising identifier, and the game never shows Apple's tracking permission prompt.
- We don't sell or share personal information, including for targeted advertising, in the sense that US state privacy laws use those words.
- No accounts, chat or social features.
Who else handles data
- Supabase, our hosting provider, stores the statistics and crash reports for us and handles them only on our instructions.
- Apple handles App Store purchases, DeviceCheck, the Declared Age Range and MetricKit under its own privacy policy. MetricKit prepares crash reports on your iPhone; the game, not Apple, sends them to us.
We may disclose information if the law requires it. If the game changes owner, the statistics would pass to the new owner under this policy.
Children
Cozy Compute is a general-audience game. When Apple's age check tells the game that a player is under 13, the game sends nothing. Where no check is required, the game doesn't know the player's age, so a child there could send the gameplay statistics described above, tagged only with a random install ID.
If you believe a child under 13 has sent us information, contact us at hello.cozycompute@gmail.com with the install ID from the game's Settings, and turn statistics off there. We hold no names or contact details, so without the ID we may not be able to find specific records. See "Your choices and requests".
How long we keep data
- Statistics and crash reports on our server: 12 months, then deleted.
- Hosting provider request logs: up to 7 days.
- On your iPhone: until you delete the game. The install ID, the experiment group and unsent statistics and crash reports also go when statistics turn off.
- DeviceCheck values at Apple: Apple keeps them for your device, and deleting the game doesn't remove them. We never receive anything from them that identifies you.
Your choices and requests
- Turn statistics off. In Settings, turn off "Share statistics and crash reports". The game stops sending at once and deletes the install ID, the experiment group and any unsent statistics and crash reports from your iPhone. What already reached our server stays until the retention period ends, unless you ask us to delete it.
- Delete the game. This removes your save, the install ID and any unsent statistics and crash reports from your iPhone. Statistics and crash reports already on our server stay until the retention period ends.
- Ask us. Email hello.cozycompute@gmail.com to ask what we hold, or to ask us to delete it. Include the install ID from Settings (tap Copy). With it, we can show you or delete that install's statistics. Without it, we can't tell which records are yours, because we never collect your name, email or Apple Account.
- Copy the ID before you turn statistics off or delete the game. Both delete it, and a new ID isn't linked to the old one, so we can only find records under the ID you send.
- Crash and performance reports carry no ID, so we can't find yours. They're deleted after 12 months.
- We'll reply and explain what we did.
US state privacy rights
Depending on where you live, you may have the right to know what personal information we hold about you, to get a copy, to correct it, to delete it, and to opt out of its sale, sharing, use for targeted advertising, or profiling. California, Virginia, Colorado, Connecticut, Utah and Texas are among the states that grant such rights.
- What we collect, by legal category:
- identifiers: the random install ID;
- commercial information: the record that your install bought the Starter Pack;
- internet or other electronic network activity: the gameplay events.
All of it comes from the game on your iPhone. We use it for analytics and to protect the service, and we share it only with our hosting provider, which acts on our behalf. Crash and performance reports carry no identifier, so we can't tie them to you.
- We don't sell or share personal information, or use it for targeted advertising or profiling, so there is nothing to opt out of. We don't share personal information with others for their own marketing.
- To make a request, email hello.cozycompute@gmail.com with the install ID shown in the game's Settings. We use it to find your records. An authorized agent may also make the request for you. We'll answer within the time the law sets. See the limits under "Your choices and requests". If we turn down a request, you can appeal by replying to our answer.
- We won't treat you differently for using these rights.
Security
Statistics travel over encrypted connections (HTTPS). The app and the public can't read our database; only our own server functions write to it. No system is perfectly secure, but we keep what we hold small.
Changes to this policy
We'll post any change here with a new effective date. If a change is significant, such as adding ads, we'll also mention it in the game's update notes.
Contact
Trevor Elmitthello.cozycompute@gmail.com