Spoolbound — Privacy Policy

Last updated: 22 August 2026

Spoolbound is made by Deadpan Labs LLC. This policy says exactly what the app stores, where it goes, and how to get rid of it. It is written to be read rather than to be survived, and it describes what the code actually does — every claim below corresponds to something in the app you can point at.


The short version

  • You can play the entire game without an account. No sign-up wall, no "continue with" screen, nothing to skip past. If you never make an account, nothing about you leaves your phone.
  • We do not use analytics, advertising, tracking or third-party SDKs of any kind. There is no ad network, no crash reporter, no attribution kit, no social login.
  • We do not sell or share your data. There is nobody to sell it to.
  • If you do make an account, we store your email address and your save file, so the game can follow you to another device.
  • You can delete your account and everything in it from inside the app, and it is gone.

If you never make an account

Your save file is stored on your device using iOS's own storage, and it stays there. It is not uploaded, not backed up by us, and not visible to us. Deleting the app deletes it.


If you make an account

We store two things.

Your email address and password. Handled by Supabase Auth, our hosting provider. Your password is never stored in a readable form — we could not tell you what it is. We use your email to identify your account and, if you ask for one, to send a password reset. We do not send marketing email.

Your save file. The state of your workshop — cash, machines, research, layout. It is stored so you can pick the game up on another device, and so a lost or broken phone does not cost you your shop. We keep one previous version of it, so that a corrupted save can be rolled back rather than lost.

We also store a short caption for the device you are playing on, so that when the game says "this account is being played on another device" it can tell you which one. It is not your device's name. It is the device type plus four random characters generated by the app — "iPhone · 6997" — and it is derived from the browser user agent, never from anything you have named or from any hardware identifier.

That is the complete list. There is no location data, no contacts, no photos, no advertising identifier, no device fingerprint, no behavioural profile.


Who else can see it

Supabase hosts the database and the sign-in system. They process this data on our behalf and under contract. They are the only third party involved in the app — verified against the app's actual dependency list, which at 1.0 is Capacitor, Phaser, React and the Supabase client, and nothing else that reaches a network.

Apple knows you downloaded the app, in the ordinary way that Apple knows about every download. We receive only anonymous aggregate figures from App Store Connect, and we cannot connect them to an account.

Nobody else. There is no other integration, no data broker, and no analytics pipeline.


Deleting your account

Tap the shop name at the top of the screen to open the account panel, then "Delete my account". You will be asked to confirm in writing before it happens.

This deletes your login and your save file, together, permanently. It cannot be undone and we cannot restore it afterwards — including the retained previous version, which goes with it. If you want to keep playing after that, the game carries on offline on your device.

You do not need to email anyone, and there is no waiting period.


Children

Spoolbound is suitable for all ages and contains no objectionable content. It is not directed at children under 13, and we do not knowingly collect personal information from them. The game is fully playable with no account at all, which means a child can play it without any personal information existing anywhere. If you believe a child has created an account, delete it in the app or email us and we will remove it.


Your rights

Depending on where you live you may have the right to access, correct, export or delete your data, and to object to how it is processed. In practice, for this app:

  • Delete — in the app, immediately, as above.
  • Access or export — email us and we will send you everything we hold, which is your email address and your save file.
  • Correct — the only personal detail we hold is your email address, and you can change it yourself in the app: open the account panel and use "Change email". We send a confirmation link to the new address and nothing changes until you click it.

We will not charge you or make it difficult. There is very little data here, which is the point.


Security

Everything travels over HTTPS. Your save can only be read or written by your own account, enforced by the database itself rather than by the app being polite about it — a signed-in player cannot reach another player's data even with a modified copy of the game. Writes go through a small set of functions that check who you are, and direct table access is revoked.

We are a small company and we will not pretend to be uncrackable. What we can say is that we hold almost nothing worth stealing: an email address and a game save.


Changes

If this policy changes we will update the date at the top and, where the change is significant, say so in the app. We will not quietly broaden what we collect.


Contact

Deadpan Labs LLC <support@spoolbound.com>


<!-- IN-APP CUT -->

<!-- EVERYTHING BELOW THIS MARKER IS INTERNAL AND IS NOT RENDERED IN THE APP.

The Settings tab shows this policy in-app (the file is imported verbatim, because a policy that is retyped into a component is a policy that will disagree with itself within a month). It renders the text ABOVE this marker and stops here.

WHY THE CUT EXISTS, so nobody deletes it as tidying: the appendix is a working aid for the App Store Connect questionnaire, not policy text — and it discusses ADVERTISING, which is a subject the client has instructed must not appear anywhere a player can read. Rendering the whole file would put that paragraph on a screen in the game.

npm run check:privacy enforces all of this: the marker must exist, the half above it must name no advertising vocabulary, and it must still carry the support address. Move the marker and the gate goes red. -->

Appendix: the App Store privacy answers

Recorded here so the questionnaire in App Store Connect and this page cannot drift apart. Both must match the code.

| Apple category | Collected? | Linked to you? | Used for tracking? | Purpose | |---|---|---|---|---| | Contact Info → Email Address | Yes, only with an account | Yes | No | App functionality (sign-in, password reset) | | User Content → Other (game save) | Yes, only with an account | Yes | No | App functionality (cloud save) | | Identifiers → User ID | Yes, only with an account | Yes | No | App functionality (identifies your save) | | Everything else | No | — | — | — |

"Everything else" is not shorthand. It means: no name, no phone number, no physical address, no other contact info, no health or fitness data, no financial info, no payment info, no credit info, no precise or coarse location, no photos or videos, no audio, no gameplay analytics, no other user content, no browsing history, no search history, no contacts, no emails or messages, no sensitive info, no device ID, no advertising ID, no purchase history, no product interaction, no advertising data, no crash data, no performance data, no other diagnostic data.

Data used to track you: none. There is no tracking, so App Tracking Transparency does not apply and the app does not and must not present that prompt.

If a build ever adds ads, an analytics SDK, or a crash reporter, this table and the questionnaire both change before that build is submitted. Pablo has deferred ads to a later release ("we do ads later"), so 1.0 has none.