Hot Read Privacy Policy
Last updated: 2026-10-02 · v1.9
1. Who we are
Hot Read ("Hot Read," "we," "us") is a football coaching app for coaches and organizers running flag, youth, high school, and rec-adult football teams and leagues. This policy explains what information the Hot Read app collects, why, and what your choices are. It applies to the Hot Read app and hotread.ai.
2. Information we collect
Everything below exists to run the product for you. We do not collect anything for advertising, and nothing here is sold.
- Account information — when you sign in with Google or Apple, we receive your email address, display name, and (if your provider account has one) a profile photo URL, plus a unique account identifier we generate. If you use Apple's private email relay, that relay address is what we receive.
- Content you create — plays, formations, routes, game plans, saved playbooks, lineups, printed call sheets and wristbands, and capability notes; team, league, and tournament setup (names, roles, schedules, results, standings); roster entries you enter for your team, including player names and jersey numbers; attendance you record for a game; live scoring entries, the game clock, and the in-game call log a coach keeps for their own reference; and chat messages, polls, announcements, and play-shares you post in team or league chat.
- Player identity in live scoring — a jersey number you enter on your team's roster becomes visible to other participants in your league once a game's results are recorded live, so everyone can follow along. A player's name becomes visible this same way in adult leagues and in leagues with no age group set; in a league marked youth or high school only the jersey number can show.
- Public scoreboard links — a league organizer can create a share link for a live scoreboard, for example to put a game on a sideline display. Anyone holding that link can open the scoreboard without signing in, so treat it as public. For an adult league, or a league with no age group set, it shows player lines, and a player's name appears there only if other league members can see that name in the app; for a league marked youth or high school it shows the teams, score, and clock only, never player lines. The link is a long, unguessable address that cannot be browsed or guessed, and the organizer can revoke it at any time, which closes it immediately.
- Public league site — a league can have a public page that anyone can open without signing in, either at a readable hotread.ai address or through a link the organizer shares, so treat it as public. It can show the league's schedule (dates, times and places), final scores and box scores the organizer has approved, standings, player stats and leaders, teams and team rosters, and past seasons. A player's name appears there only where the league's existing rules already let other league members see that name in the app, including any parent permission those rules require; otherwise only a jersey number shows, and that player's stats count in an "Other players" line. The organizer chooses whether the page is off, shared by link, or public, and which parts are on, and can change or turn it off at any time. Any player can hide their own name from public league pages under Account → Privacy & data, and a parent can do the same for a child linked to their account. Search engines are asked not to list the page unless the organizer turns listing on. Links shared before this site existed keep working.
- Other people's email addresses, when you invite them — if you invite someone to your team or league by email, we store the invited email address so we can deliver and track that invitation. We collect only the email address — no name, no phone number — and only the organizer who sent the invite can see it. This invitation flow is for adult-run leagues today.
- Game sportsmanship surveys — a league organizer can share a survey link for a game. Whoever fills it in enters an official's name, a sportsmanship score for each team, and an optional note. The form can be completed without a Hot Read account. Only that league's organizers can read the submissions.
- Sponsor logo images — adult-league organizers only, and only if the organizer turns this on and uploads one. Unavailable on youth and high-school leagues.
- Photos and video links in team chat — for adult-tier leagues, team leadership can attach a photo from Google Photos or a link to a YouTube video using their own already-connected Google sign-in. We store a small thumbnail image plus basic details (like a title or link) about what was attached — never a Google password, never the full-resolution photo or video, and never anything beyond what's needed to show the item in chat. We also keep a short record that your Google account is connected, which permissions you granted, and when it was last used.
- Public pickup-game listings — if a group admin chooses to list a pickup game publicly, we show a minimal listing — sport, title, date/time, and a venue name only, never an address, map link, or who is attending — to other adults searching for pickup games. This listing is not linked to any individual's identity.
- Date of birth (optional) — a small number of adult-only features, like Groups and public pickup-game listings, ask you to confirm your own date of birth once, to derive an adult age bracket. We keep it private: it is never shown to any other user, and we use it only to figure out a coarse age category (like "adult") for that gate. You can correct it yourself one time if you make a mistake; after that, contact us for a further correction.
- Parent and child account links — if you are a parent with your own Hot Read account, you can link your child's Hot Read account to yours and then choose, team by team, what that child is allowed to see (for example the team page, or the team roster). We store the link and the permission you set: the two account identifiers, the scope you chose, and when it was created or changed. We do not collect a birthdate, contact details, or any other personal information about your child through this link. Only you can create, change, or remove it — a child can never create one.
- Push-notification tokens and preferences — if you turn on notifications, we store a device token issued by Apple's or Google's push service so we can deliver app-functionality notifications, like a new team-chat message, to your device, plus the notification choices you set. A team-chat notification can include the sender's display name, the team name, and a bounded text preview for your operating system to show, including on a lock screen depending on your device settings. When the message shares a play, the notification can also show a small diagram of that play; your device fetches that picture from a Hot Read address that carries a long, unguessable code for that one message, and the picture contains nothing but the play's dots and lines — no names, no labels, and no message text. The device token is tied to your account, refreshed automatically, and removed when you sign out or when it goes stale.
- Support requests — bug reports (which can be submitted even while signed out) and tester reports available to signed-in users who are not linked as a child, so we can find and fix problems. Alongside what you write, a report records basic technical details: the screen you were on, the app version and build, the platform, and your browser or device description. A screenshot toggle defaults on; if left on, and you are signed in on an account that is not linked as a child, the screenshot image itself is saved to secure storage that only our team can access, so we can see what you saw. An anonymous report, or one from a child-linked account, never includes a saved screenshot even if the toggle was on — the text of the report is unaffected either way. While Hot Read is an invitation-only early access preview, a tester report from a signed-in account we have confirmed is an adult, and that currently has approved early-access, can also include your display name, email address, and the name or id of the team, league, or group that granted you access, plus whether you are a designated early-access organizer for it — so we can follow up on your report and prioritize review. We only add this to a report when we have independently confirmed both the adult status and the access grant ourselves; it never happens for a child-linked account, an account whose adult status we have not confirmed, or the separate anonymous bug-report path above.
- Early-access requests — while Hot Read is an invitation-only early access preview, a signed-in account without access can ask for it from the in-app request screen. We collect the name, email address, and reason for interest you enter, plus, if you pick one, how you heard about Hot Read. We use this only to review and respond to your request — to grant it, decline it, or follow up with you — and never for advertising or marketing. This screen is offered only to an account we have confirmed belongs to an adult (the same date-of-birth check described below); a signed-in account we know or newly confirm is a minor is never shown these fields, and instead sees a message asking a parent or coach to request access on their behalf, so we collect none of this from a child.
- Pseudonymous usage data — Hot Read counts which parts of the app get used and where they break, so we can fix the right things. These records carry no name, no email, no account identifier, and nothing you write, draw, or say. Each one carries only the name of a listed action (for example, that a screen was opened or that an error was shown), the screen it happened on, your platform, an approximate app version, the time, a random app-session code, and a random event code that helps avoid counting delivery retries twice. The session code changes when you restart the app or turn usage data back on. A separate installation code is described in the next bullet. Records wait on your device until they can be sent, so an event recorded offline is sent later. After our server accepts a record, it can retry delivery to our dashboard provider for up to 24 hours, with a limited number of attempts. This is on by default and you can turn it off at any time — see "Your choices" below. We keep these records for up to 90 days.
- A random analytics code for this app installation — the installation code mentioned above. Your device generates it the first time it records usage data and stores it on the device. It is not your name, your email, your phone number, your account, your device's identifier, or anything calculated from any of those; it is generated from random numbers with nothing about you as an input, and our servers reject a code that looks like it came from your account. We use it for one thing: to tell that the same installation came back, so we can see whether a change actually helped rather than guessing. Two honest consequences: two people sharing one device share one code, and the same person on a phone and a tablet is two separate codes — the code describes an installation, not a person. Turning usage data off removes the active code, and turning it back on creates a new one that is not connected to the old one. The old code can temporarily remain only to send the opt-out request described in "Your choices".
- Operational usage counters — records of your use of the AI-assisted play-generation and "Teach This Play" features and of certain export actions (like wristband or call-sheet exports). Unlike the anonymous usage data above, these are tied to your account, because that is what makes a per-account limit possible. We use them to run rate limits and usage counters and to debug those features. Rate-limit records contain action counts and time windows, not anything you wrote. This is operational telemetry we use ourselves, not data shared with a third-party analytics provider.
- Streaks and rewards — if you use the parts of Hot Read that award Reps, we keep a small record on your account: your balance, your current daily streak, the last day you earned, and any cosmetic items you have unlocked.
3. Information we do NOT collect
We do not collect: your device or GPS location; advertising identifiers; health information; financial information (we do not currently process any payments); your phone contacts; or your browsing or search history. There is no advertising, attribution, or crash-reporting kit, and no third-party analytics SOFTWARE, inside the Hot Read app at all — the usage records described above are collected by Hot Read's own servers first, carry nothing that identifies you, and are never used for advertising. The random installation code described above is not an advertising identifier, is never shared for advertising, and is not combined with your account. As described under "Service providers" below, we do separately forward those same records from our servers to a product-analytics dashboard tool; nothing about that changes what is collected from your device or when. A league or team's "age tier" (for example, marking a league "youth") is a coarse category an organizer or coach sets — never an individual birthdate or per-person age. That is separate from the optional adult date-of-birth confirmation described above, which we only ever collect from the adult confirming it, never from or about a child.
4. How we use information
For app functionality, full stop: signing you in, running your teams and leagues, delivering chat and invitations, generating and validating plays, keeping the app working, and providing support. We do not use your information for advertising, we do not build advertising profiles from it, and we do not sell it.
5. AI-assisted coaching features
On iPhone and Android, tapping the microphone in Hot Read Assist starts a short dictation session through your device's speech recognition service. Depending on the device and its settings, that service may process your audio remotely. Hot Read does not save an audio recording or upload audio to its own servers or product analytics. Recognized words appear as an editable draft on your device. You can change or cancel them; only tapping Send submits the text as an Assist request.
Some features (the AI play-generation engine and the "Teach This Play" explainer) send football play-design context to a third-party large-language-model API — Anthropic — to generate a response. What is sent is play-design content, not your name, email, or other account information, and not another team's data (each team's data is walled off from other teams' by design). This processing happens at the time of your request. We do not train any model on your data or on game footage, and we do not redistribute source video.
When a league organizer chooses Scan score sheet, the selected photos are sent to our image-reading service to prepare an editable draft. The photos can include the player names, jersey numbers and handwritten statistics on the sheet. Only upload sheets you are authorized to use for that game. Hot Read does not store the original photos or send them to product analytics. The reading service may retain limited records for security and abuse prevention; this is not a promise of immediate deletion by that service. You check the draft before any game information changes. Confirmed changes and their source reference remain in the game’s correction history.
6. Service providers
We use Google/Firebase (Firebase Authentication, Cloud Firestore, Cloud Functions, Cloud Storage, and Firebase Cloud Messaging) to run the app's back end — sign-in, data storage, server logic, stored report screenshots, and notification delivery. Firebase/Google Cloud acts as our infrastructure provider under our direction; it does not use your data for its own purposes. When team leadership in an adult-tier league attaches a photo or video link in team chat, we also call Google's Photos Picker API and YouTube Data API directly, through that person's own connected Google sign-in — a feature they trigger, not a background service. We also send the same usage records described in "Information we collect" to PostHog, a product-analytics dashboard tool, from our own servers, so we can read them ourselves. The records we send include the random installation, app-session and event codes, the listed action and bounded result, the screen, the platform, the approximate app version and the time — with no name, no email, no account identifier, and nothing you write, draw, or say, and we tell PostHog not to build a person profile from them. No PostHog software runs inside the Hot Read app on any device. Our server retries preserve the original event code and time. Provider infrastructure can add technical information about our server traffic; this is not a measure of your location. All traffic between the app and our servers is encrypted in transit.
7. Sharing and sale
We do not sell your information, and we do not share it with third parties for their own advertising or marketing purposes. The only outside parties involved are the service providers named in this policy (Firebase/Google Cloud; Anthropic for AI-feature requests; and PostHog, which receives only the usage records described above, identified by the random installation code and never by your account), each acting on our behalf.
8. Children's privacy
Hot Read is built for coaches and organizers — adults — and is not directed at children. We do not knowingly collect data directly from children. A small number of adult-only features, like Groups, public pickup-game listings, and the early-access request screen, ask the signed-in adult account holder to confirm their own date of birth once, as described above — that is an age gate for an adult using the feature, never data collected about or from a child, and someone who does not confirm as an adult is simply denied that feature (or, for the early-access screen, shown a message asking a parent or coach to request access instead).
Separately, age awareness elsewhere in the product is a coarse, adult-set category on a league or team (for example, marking a league "youth") used to turn on extra safety defaults: an unmarked league still starts with the most restrictive chat setting, youth-team chat is routed through a review queue before it is visible, live scoreboards in a league marked youth or high school show jersey numbers only, a report submitted from a child-linked account never stores a screenshot, and features like sponsor-logo upload and public pickup listings stay unavailable to or invisible for youth. Email invitations are for adult-run leagues today.
A parent with their own Hot Read account can link a child's account to theirs and choose, team by team, what that child may see, as described above. Only the parent can create, change, or remove that link and permission; a child can never create one; and the record itself holds account identifiers, the permission scope, and timestamps — no birthdate and no other personal information about the child.
9. Data retention
We keep your account and content for as long as your account is active, plus a reasonable period afterward so the app keeps working correctly for other people who depend on it — for example, so a team you coached does not lose its history the moment you leave. If you delete your account, see "Deleting your account" below for exactly what is deleted, pseudonymized, or kept.
Usage records are kept for up to 90 days. They carry nothing that identifies you — no name, no email, no account identifier — so we cannot look them up by your account. The random installation code is the handle needed to select them, and it is not linked to your account. That is why the app sends its active code with a deletion request: when you delete your account from inside the app, we delete the usage records carrying that code from Hot Read's own systems as part of the same job. If your device no longer has the code — because you turned usage data off earlier, or cleared the app's data — there is nothing left to point at those records, and they simply expire on the schedule above. We also retain random-code opt-out records for up to 90 days solely to prevent pending delivery for those codes.
The copy held by our product-analytics dashboard tool works differently, and we would rather say so than imply otherwise: our servers cannot delete from it automatically, so a deletion request records the code for erasure and we carry it out from the dashboard ourselves. Recording the request blocks further pending delivery for that code. A delivery already in progress may still arrive at the provider and must be included in the separate erasure process. If you want that copy erased, or want to check that it was, contact us using the address below.
10. Your choices
- Product analytics — turn usage data off at any time from Account → Usage data. Turning it off stops collection on this device, discards its unsent event queue and removes its active installation code. The app keeps only the old random installation and session codes to retry an opt-out request for up to two days; expired requests are removed when the app next runs. Once our server receives that request, it stops pending dashboard delivery for those codes. If you are offline or signed out, events already accepted by our server may still be delivered until the request arrives or their 24-hour delivery window ends. A request already in progress cannot be recalled. If signed in, the app also saves the choice to your account; once that update succeeds, our servers reject new usage batches from that account. Because installation codes are not linked to accounts, the account choice alone cannot find another device's already accepted events. Turn usage data off on each device to stop that device's pending delivery. Data already delivered follows the deletion process above.
- Screenshots in reports — turn the screenshot toggle off before you submit a bug or tester report if you would rather not include one.
- Push notifications — turn notifications off at any time from your device's settings; this also stops new push-token registrations.
- Delete your account — from Account → Delete account. See "Deleting your account" below for exactly what this does.
- Questions or a request about your data — contact us (below).
11. Deleting your account
From Account → Delete account, you can permanently delete your Hot Read account. When you do:
- Your personal account records — your profile, saved plays, date-of-birth and eligibility records, entitlements, your block list, and ordinary memberships in teams, leagues, and groups that the current account indexes can discover — are deleted, subject to the sole-leader and safety-record exceptions below.
- If you are the only leader of a team, league, or group and there is no one to hand the role to, that seat is kept — so the team, league, or group does not lose its only coach, organizer, or admin. Its displayed name/account fields are replaced with "Deleted user," but the membership record still retains the former account identifier and role for governance continuity. This is pseudonymization, not complete anonymization.
- Your contributions to shared content other people rely on — chat messages, shared plays, and game results you entered — stay in place for the team, league, or group. The cleanup replaces stored author/account fields on the team chat, team feed, and league result records it can discover through your current membership records. The content itself is retained and may still contain details you entered.
- Shared content in a team or league you left before requesting deletion may retain stored account/name attribution. Some league/group operational messages, announcements, votes, reactions, and additional result-provenance fields are also outside today's automated sweep. A stale/missing membership index or a legacy membership record without its redundant account field may also leave a membership identifier and role behind. Contact coach@hotread.ai for a manual privacy request about this retained attribution. A broader cleanup remains in development.
- Bug reports and tester reports you submitted, including any stored screenshot, are kept for troubleshooting and safety review. Stored authorship fields are replaced, but submitted text and screenshots remain and may still contain details you entered.
- Your usage records — the app sends the random installation code described above with the deletion request, and we delete the usage records carrying that code from Hot Read's own systems in the same job, then remove the code from your device. If your device no longer has that code, there is nothing to point at those records and they expire on their normal 90-day schedule instead. The copy held by our product-analytics dashboard tool is erased separately by us, on request — see "Data retention" above.
- A server-only deletion-safety record remains after cleanup. It contains your account identifier, cleanup timestamps and step status, and may include affected team, league, or group identifiers and actions — never message text. It makes deletion retries safe and prevents delayed requests from recreating deleted data. Clients cannot read it.
- Deletion starts from the Account page and runs as a series of steps; if a step does not finish right away — for example, because of a temporary connection problem — the request can be safely retried and resumes from completed steps. Your sign-in remains available until data cleanup reports success. If repeated attempts do not finish, contact coach@hotread.ai.
12. Security
We rely on Firebase/Google Cloud's infrastructure, and all traffic between the app and our servers is encrypted in transit (TLS). We have not undergone an independent third-party security audit at this time.
13. Changes to this policy
We'll update this page whenever what the app collects or how we use it changes, and update the "Last updated" date above.
14. Contact us
Questions about this policy or a request about your data:
coach@hotread.ai