Privacy
ShipGames is run by Kraig Adams. This page says exactly what the site keeps and why. There are no ads, no tracking cookies and no third-party analytics, and nothing is ever sold.
Your account
- An account id: a random string with no meaning, so nothing about you is in it.
- Your display name and handle, which show on your profile and your games.
- Passkeys: only each passkey's id, its public key and a counter. The private part never leaves your device. There are no passwords.
- Google or GitHub sign-in, if you use it: which provider and that provider's id for your account, plus the verified email it gives us. That email is only used to contact you if you turn that on (it starts off), and you can turn it off or unlink the sign-in on your account page. We never keep your Google or GitHub access token.
- Sign in with Apple, if you use it: Apple's id for your account, the name Apple sends the first time (if you share it), and the email Apple gives us, which may be a private relay address that forwards to you. The email is used only as for Google or GitHub above. We never keep an Apple token.
- Email sign-in links, if you ask for one: the address it goes to, kept as your recovery email once you use the link. The link itself is kept only as a hash, works once and expires in 15 minutes.
- API tokens you make: only a fingerprint (a hash) and the first few characters, so we can't read the token back.
- Sign-in cookies: one cookie that keeps you signed in (only its hash is stored), and a short-lived one during a Google or GitHub sign-in. Nothing else is set.
Games and community
- The games you ship: their files, builds, titles, notes and devlog, and where they came from (an upload, a public GitHub repo or a public link).
- Comments and replies you post, reports you send, who and what you follow, your Updates inbox and the builds you boost in the feedback queue.
- If you sign up for a game's updates with your email, that email, kept for that game only.
- Email we send: only to an address that asked for it and confirmed (a game's sign-up box sends one confirmation email first), at most one update email a day, each with a one-click unsubscribe. We keep a log of what we sent with the address scrambled (a one-way hash), and the scrambled addresses of people who unsubscribed, so they're never emailed again. Emails go out through Cloudflare.
Play stats
When someone plays a game here, the game's page keeps a random id in that browser (on the separate game address, stored by us only as a hash) and records when the session started and ended, how long it was actively played, and any markers the game itself sends. These stats are anonymous: they aren't tied to an account, and makers only see totals and medians. A play counts as played once it has a minute of active play or a run of real inputs.
How visits are counted
Each page sends one small note when it opens and one more if it stays open 15 seconds or you scroll past half of it. We keep only counts a day: which page, where the visit came from (a link's ref or the referring site's name), and whether it was a person or a machine. No cookie is used for this and nothing about you is kept.
To count people rather than page loads, the site mixes your IP address and browser name with a random secret that changes every day, and keeps only that scrambled value, for that day only, to count you once. The secret and the scrambled values are deleted when the day ends; only the number of people a day stays. The address itself is never stored.
Machines are counted too, apart from people: search and AI crawlers, link previewers (when a link is shared on a social app or in a chat), and programs on data-centre networks. For those we keep the kind and the network's name (a company like a cloud provider), never an address.
Rate limits and safety
To stop abuse we keep a hash of your IP address mixed with a secret, never the address itself, for a day at most. New makers' first games and reported content are reviewed by a person.
Where it lives
Everything is stored on Cloudflare (its Workers, D1 database and R2 storage). Google and GitHub only learn that you signed in to ShipGames, as with any sign-in button.
Deleting your account
Email kraig@kraigadams.com and ask for your account to be deleted. We remove your account, your passkeys and linked sign-ins, your sessions and tokens, your games with their builds and files, and your comments, follows and boosts, then confirm it's done. You can unlink a sign-in, revoke tokens or take a game private yourself at any time from your account and game pages.
Contact
Questions about your data: kraig@kraigadams.com.