Privacy policy
Last updated November 1, 2026
This page says what StatCast keeps, where it is kept, which companies process it for us, and how to delete it. We do not sell data and we do not show ads.
What we store
- Your account: your email address, and if you sign in with Google, the name and account id Google gives us. When the account was made and last signed in, and when you agreed to the upload terms.
- A spending record: for each paid step (reading an import, the speech service), the date, which feature it was and what it cost us. Not what was in it.
- The rosters you save: school, mascot and team color, and for each player their name, jersey number, position, grade, height, weight, how the name is said, the ways the speech service has written it, and the one-line storyline you type or import.
- The season stats you import for those players.
- The schedules you save for those teams: each game's date, opponent, home or away, score and whether it is a league game.
- For each game you call: when it started, how long the microphone was on, and counts such as how many cards were shown. Not what was said.
- The feedback you give at the end of a game: a rating, the boxes you tick, and an optional short note.
- Usage analytics: which screens and buttons were used, with codes and counts only. Analytics never hold a player name, a jersey number, anything that was said, or anything from a file you uploaded.
- Crash reports: the error's name, the first line of its message, the page it happened on, and when. Kept 90 days.
We never keep the files you upload. A roster, stats or schedule file is read in memory to pull out what it says, then dropped. We never record audio.
Where it is kept
- Your account, rosters, stats, schedules, game counts, feedback, analytics and crash reports are kept in a database run by Railway, in the United States. Each account can read only its own data. If you sign up with an email and a password, only a scrambled form of the password (a hash) is kept, never the password itself.
- The game you have open, and a log of each game (the transcript of what the microphone heard, and which cards went up), are kept in your own browser on the laptop you call from. They are not sent to us, except the shared game log described below. You can download a game's log from Past games, and deleting a game there clears its log from that browser.
Who processes it
- Anthropic's Claude, through OpenRouter, reads the roster, season stats, schedule and other files you import, and the text you paste, to turn them into a list of players, their stats and storylines, and a team's games. Every request is routed only to providers that keep nothing and do not train on it (OpenRouter's zero data retention routing, with data collection denied). Nothing from that is kept by StatCast except what you save.
- Deepgram turns the microphone audio into text while you call a game. The audio is streamed and not recorded by StatCast, and we ask Deepgram not to use it to improve its models (their mip_opt_out setting). The surnames on tonight's rosters are sent with it as hints, so the names are heard correctly.
- Google, if you choose to sign in with Google, tells us your email address and name. The sign-in page loads Google's sign-in button, so Google can see that the page was opened even if you do not use it.
- Resend sends the emails StatCast sends you (confirming your address, resetting your password). It receives your email address and the email itself.
- Railway hosts the site. Its logs from StatCast hold error codes, counts and timings, never roster content. Like any web host, it also logs the address (IP) each request came from and the page asked for.
The shared game log
To find where name spotting goes wrong in real games, StatCast sends a scrubbed copy of a game's log when the game ends. This is on by default. You can turn it off on the game setup screen, or from the live screen's menu until the game ends.
- It keeps players' last names as they were said and spelled, how each name is meant to be said, and the transcript, so a mistake can be read against the name.
- It keeps the game as it was set up: each player's number, position and season stats, the names StatCast listened for and the game's settings, so the game can be replayed through new versions of StatCast to check they do better.
- It replaces first names and school names with tags such as [H22] (home team, number 22). A first name that is on neither roster can slip through, because the transcript has no capital letters to find it by, and so can one that is also, or sounds like, another player's last name.
- It has no audio, no game id, and times only as offsets from the start of the game.
- It is stored with a one-way code made from your account id, so it can be deleted with your account. It is kept 90 days, then deleted, and only we can read it.
Players and parents
Rosters name high school players, many of them under 18. The announcer who saves a roster is responsible for having the right to use it. If you are a player or a parent and want a name removed, write to [email protected] with the school and the name, and we will remove it.
Cookies and browser storage
StatCast uses one sign-in cookie to keep you signed in, and a short-lived one (10 minutes) while you sign in with Google; Google's sign-in button may set its own. It uses your browser's storage for the open game, the game logs and a few settings. There are no advertising or tracking cookies.
Deleting your data
Go to Settings and choose Delete my account. That deletes your account and everything stored with it: rosters, stats, schedules, game counts, feedback, analytics, spending records, crash reports and your shared game logs. It also clears the open game and game logs in the browser you delete it from. Logs kept in another browser stay there until you clear that browser. You can also delete a single team or a single game at any time.
Contact
Questions about your data: [email protected].