# Privacy

> How Sidekick Arcade handles your data: no cookies, no tracking, accounts optional. Progress stays in your browser unless you make an account.

**Draft: needs legal review before launch.**

Sidekick Arcade is a free arcade you can play in your browser, for players of every age, and it collects as little as possible. This page explains exactly what happens.

## The short version

- We set no cookies. If you make an account, your sign-in is kept in your browser's storage (below), not in a cookie.
- No sign-up needed: accounts are optional, and you can play everything without one. No names, email addresses or passwords for playing, with or without an account. (A business that advertises gives us a contact email for its ads: see [Advertisers](#advertisers).)
- Our pages and games load nothing from other companies: no ad networks, no trackers, no outside scripts. Our fonts are hosted on our own site.
- Two companies run the site for us: DigitalOcean rents us the server, and Cloudflare carries the traffic between it and you. They see visitors' internet addresses only to deliver and protect the site ([below](#services)).
- Nothing on our pages lets another company follow you from site to site. No profiles of players: ads match the page, never the person.
- Coins can never be bought with money.

## What stays in your browser

Your progress lives in your browser's localStorage, on your device. Without an account, we cannot see it. It holds:

- blippy.v1.<game-id>.best: your best score for each game.
- blippy.v1.<game-id>.<name>: each game's settings and saves, like Snake's button layout, the level you picked in Word Search or your Crumb Kitchen bakery.
- blippy.v1.recent: the games you played most recently, for the "Keep playing" row.
- blippy.v1.profile: the title, pinned badges, background and pet you picked for your profile.
- blippy.v1.signup-nudge: when you said "Not now" to making an account, so we don't ask again for a week.
- blippy.v1.season-pieces: the days you played in a season, which become pieces of that season's picture on your profile.
- blippy.v1.season-finds: how many of the season's visitors (bats, leaves, snowflakes) you've caught this year.
- blippy.v1.avatar: how your character looks.
- blippy.v1.wallet: your coins, the items you have, your daily bonus streak, your achievements, your play stats for each game (how many games, for how long, and your bests) and a short list of recent coin changes.
- blippy.v1.settings: your sound, music, motion, companion, seasons, theme (light or dark) and text size choices, and, when you're signed in, whether your account's birth date is 18 or older (it lets casino games show).
- blippy.v1.flashcards: the Flash Cards decks you make, and how well you know each card.
- blippy.plan: an ad-free code, if you entered one or opened a class link that carries one, with its group's name and last day. It stays on this device and never moves to an account.

Clearing your browser's site data removes all of it. Everyone who uses the same browser shares the same progress, which suits a shared computer.

## Accounts (optional)

An account lets your progress follow you to your other devices. It is passwordless: you sign in with a *passkey*, your device's fingerprint, face or screen lock. Your fingerprint or face never leaves your device; the device only proves to us that it holds your passkey.

For an account, our server keeps:

- a random account number (shown as a code like "Player K4F2Q7"), with no name or email (if you advertise with us, your ads keep a business name and contact email: see [Advertisers](#advertisers)), and when the account was made;
- your passkey's *public* key, a name for it like "Pixel" or "Mac", when it was added and last used, and a counter your device keeps (it helps spot a copied passkey);
- your birth date, to keep the games right for your age (casino games show only to players 18 and older). Nobody else sees it, and it's never sent back to your devices: they only hear whether you're 18 or older;
- your progress: everything listed above except your Flash Cards decks, so every device you sign in on shows the same coins, character, achievements, scores and game saves;
- a scrambled copy (a hash) of each sign-in, which passkey made it, and when it was made and last used, so your devices stay signed in.

**Flash Cards decks you make are never sent to our server**, even with an account: they are your own words, so they stay in the browser you made them in. (A deck you share travels inside its link, in the part after the #, which browsers never send to us.)

Your browser also keeps your sign-in (blippy.account) and its last synced copy of your progress (blippy.sync).

### Signing out

- Signing out ends the sign-in on that device and removes your account's progress from it.
- From your profile page you can also sign out everywhere: every device signed in to your account is signed out, this one included.
- Removing a passkey from your account also signs out every device that signed in with it.
- A sign-in nobody uses for 180 days ends by itself, and every sign-in ends a year after it was made, however much it is used.
- Your passkey stays in your device's password manager after you sign out, so anyone who can unlock that device can sign in again. On a shared device, remove the passkey there too.

### Deleting an account

Anyone signed in to an account can delete it on its profile page, after confirming with one of the account's passkeys. That removes everything listed above from our server for good: the deleted data is overwritten, not just hidden, and we keep no backup copies. Adding or removing a passkey asks for one of the account's passkeys the same way.

An account nobody signs in to or plays with for a year is deleted the same way, by itself. The devices it was on keep their progress, so you can make a new account from it.

## What we count

To know which games people enjoy and to show advertisers real numbers, the site sends small, anonymous counts to our own server: a page was viewed, a game was started or finished and for how long, a game was finished for the first time in this browser, an achievement was earned (which game and which achievement), an ad slot was seen or clicked, coins were earned, an item was bought. Each count carries the page address, the game or slot name (and, for an ad we sold, which ad), a rough screen size (phone, tablet or computer) and, when you arrive from another website, that website's name.

The counts carry nothing that identifies you, so they cannot be linked to you or to each other. Our server adds them to daily totals and keeps nothing else with them: not your IP address, not your browser details. If your browser sends a "Do Not Track" or "Global Privacy Control" signal, the site sends no counts at all, and a tap on a sold ad isn't counted either.

Two things on the site are built from these counts. **Achievement rarity** ("8% of players have it") divides how many times an achievement was earned by how many browsers finished that game once; it shows only from 50 players. **Popular this week** orders the games by how often they were started in the last seven days; our server shares the order, never the numbers. **Playing now**: while a game page is open and on screen, it tells our server "someone is playing this game" once every 30 seconds, with nothing else attached. The server keeps one number per game, in memory only, for about a minute, and writes nothing down. A game shows "playing now" only when at least 20 people have it open, so a small number never points to anyone. Every number the site shows is real. Under "Do Not Track" or "Global Privacy Control" the page sends none of this either.

## Leaderboards

Each game's leaderboard, and the boards on the [leaderboards page](https://sidekickarcade.com/leaderboards/), show *house players*: characters we made with scores we set for you to beat, always marked "House". Your own row comes from the best scores and achievements in your browser (or your account) and is shown only to you; nobody else can see it. Leaderboards with other players will come later, only after a privacy and legal check, and this page will say exactly what they show before they do.

## Ad-free codes and class links

A group can have an ad-free code (it is entered on the Learn page, linked at the bottom of every page). A code names a group, never a person, and it isn't linked to any account. When a browser has a code, it asks our server at most once a day whether the code's plan is still on. For each plan our server keeps the group's name, its kind, its last day, how many times a day its code was checked, and a short note for our own records about who arranged the plan (like an invoice number): no identifiers, no IP addresses, nothing about who checked. We keep a hash of each code, not the code itself.

A class game list (/class/) lives in its link: the list's name, its games and any code are in the part of the address after the #, which browsers never send to our server. We store no lists.

## Services that run the site

Like every website, ours runs on other companies' equipment. They handle what they need to deliver and protect the site, and nothing on our pages lets them follow you anywhere else.

- **DigitalOcean** rents us the server the site runs on.
- **Cloudflare** sits between that server and you. It provides the secure connection, keeps copies of our files close to you so pages load fast, and blocks attacks and outages. Every visit passes through it, so it sees your internet address and the page you ask for, as any network in between does. Cloudflare offers extras that add its own code to a site's pages, such as visitor analytics; we keep them off.
- **Error reports:** when a page fails to load because of a network problem, some browsers (Chrome and Edge) send Cloudflare a short report: the address that failed, the page that asked for it, the kind of error, how long it took and the browser's name and version. It tells us when the site is down for people. Pages that load fine are not reported.

Our own server uses your internet address only to slow down anyone sending too many requests, and to count no more than a few views of a sold ad from one visitor a day (as a scrambled code, for that day). It is kept in memory, never saved.

## Ads

Ads come two ways, and every one sits in a box labeled "Advertisement":

- **Ads sold directly** to businesses and reviewed by us before they run. The ad's picture is kept on and sent from our own site, and nothing from the advertiser runs on our pages. The box's label names the site the ad opens ("Advertisement · example.com"), and the ad links through our own address, which names it too (like sidekickarcade.com/to/example.com/…), so you can see where you're going before you tap. When you tap, our server counts one click for that ad that day, with nothing about you (and nothing at all if your browser sends Do Not Track or Global Privacy Control), and sends you on to the advertiser's page without telling it which of our pages you were on. The link carries tags the advertiser chose (like utm_source=sidekickarcade), which tell their site that the visit came from Sidekick Arcade and which of their campaigns or ads it was: they're the same for everyone who taps. Advertisers see only totals: their ad's views and clicks per day.
- **Things we like on Amazon:** a picture and a few words from us, linking to Amazon. The picture comes from our own site, so Amazon sees nothing until someone taps the link and goes to Amazon. The link tells Amazon that we sent the visit, so we can earn a share of a purchase. It says nothing about who you are or what you did here, but if you are signed in to Amazon, Amazon can tell it was you who came from us. On Amazon, Amazon's own privacy notice applies. As an Amazon Associate we earn from qualifying purchases.

So that sold ads take turns, your browser keeps a counter of whose turn it is (blippy.adturn, in this tab's sessionStorage, gone when you close the tab). It never leaves your browser.

We don't use ad networks such as Google AdSense. They load the network's own code into the page, which sees each visitor's internet address and can set cookies. A box with no ad sold shows our own "Advertise here" message.

## Advertisers

Businesses make their ads on our ad desk, signed in with an account (above) for someone 18 or older. For an advertiser, our server keeps:

- which account made each ad (its random number and code);
- the business name and a contact email for the business. We write to it only once you confirm it with the link we send it (we keep when it was confirmed, and a scrambled copy of the link until it's used): about the review, the invoice and how your ad is doing;
- your ads: their names, pictures, alt text, web addresses and link tags, where they show, the views you asked for and paid for, their start dates and status, and when each step happened;
- the messages our reviewers send you, and our own review notes (such as an invoice number);
- the results of our safety checks of the page each ad opens;
- each ad's views and clicks per day, with nothing about the people who saw or tapped it;
- notes to our reviewers about your ad (like "sent for review" or "its views came in too fast"), for 30 days.

Emails about your ads go through Resend, the email service below. To check that the page an ad opens is safe, our server asks Cloudflare's filtering resolvers (its malware and adult-content filters) about the domain of the page and of any page it redirects to, and loads those pages itself: when the ad is sent for review or approved, when its link tags change, when the advertiser asks for a check or resumes the ad, before it runs, and once a day from approval until it ends. These checks send only those domains and page addresses, never anything about players.

We keep an ad and these details until you delete it on the ad desk (stop a running or approved ad first), or until nobody needs it anymore: a draft, or an ad sent back for changes, that nobody touches for 90 days; an ad we turned down, 90 days after we said so; an ended ad, a year after it ended. Deleting an ad removes it, its messages, its safety checks and its daily views and clicks; its pictures go within a week. Deleting your account removes its ads, their pictures and its contact emails too.

## Writing to us

When you send the contact form, your message, your email address and the name you give (if any) are emailed to us through Resend, an email service, so we can write back. We don't keep them anywhere else on our server.

## Players under 13

Playing collects no personal information, and nobody needs an account. An account holds no contact details: only a birth date and the progress above, used only to run it and never shared. A player, parent or guardian can delete an account with a birth date under 13 at any time on its profile page, on any device signed in to it. Without such a device, write to us from the [contact page](https://sidekickarcade.com/contact/) with the player code (like "Player K4F2Q7") and the account's birth date, and we will delete it or tell you what it holds. The contact form asks for an email address, so please don't use it if you're under 13.

## Questions

Ask us anything on the [contact page](https://sidekickarcade.com/contact/).
