1. What CheerKeeper is
CheerKeeper is a mobile app for families attending live cheer and dance competitions. It shows the event schedule, counts down to a team’s performance, and delivers updates when times change on site.
There are no attendee accounts. You do not sign up, sign in, or create a profile to use the app. We do not ask for your name, your email address, your gym, or your child’s name in order to use it.
Event organizers who manage a schedule from inside the app do sign in, using an email address and a code we issue by hand. That is the only sign-in the app has. Section 3.8 describes what we collect from organizers.
2. The short version
What we do not collect: your location. Your contacts. Your photos or camera roll. Your microphone. Your health data. Your browsing history. Your advertising identifier. Any athlete’s name, birthdate, roster, or team assignment on our servers.
What we do collect: a random identifier assigned to your app installation, a notification token if you ask for alerts, records of purchases if you buy an event pass, diagnostic reports when something goes wrong, and anything you type into the feedback form or a schedule submission.
What we never do: sell your information, share it for advertising, or track you across other companies’ apps and websites.
3. What the app collects
3.1 A persistent installation identifier
When you first open CheerKeeper, the app generates a random identifier and stores it in the iOS Keychain. This identifier does not contain your name or anything about you personally. It exists so the app can recognize the same installation over time.
This identifier is persistent. It can survive deleting and reinstalling the app, and it can move to a replacement device through an encrypted backup or a device transfer. That persistence is deliberate: it is what lets a purchased event pass survive a reinstall.
We use it for event access and entitlements, notification registration, and security. We do not use it for advertising, cross-service profiling, or tracking.
We can associate this identifier with the events you have unlocked, the schedule rows you have asked to be alerted about, and, if you buy a pass, your purchase record. Apple treats data associated with a device as linked data, and so do we.
3.2 Notification registration
If you set an alert on a performance or an awards block, the app registers a notification token with Expo, our notification delivery service, and sends that token to us along with the installation identifier and the identifier of the row you asked to follow.
The token is what routes a notification to your phone. The installation identifier is what lets us avoid sending you the same notification twice.
Turning an alert off marks the registration inactive. It does not currently delete the stored row. We are working to change that. To stop notifications entirely, turn off notifications for CheerKeeper in your device Settings.
3.3 Purchases
CheerKeeper offers your first event at no charge. Additional events can be unlocked by purchasing a single event pass or a bank of event credits through Apple’s in-app purchase system.
Apple processes the payment. We never see your card, your Apple ID, or your billing address. We receive a transaction identifier from Apple, which we record alongside the installation identifier so the app knows which events that installation has unlocked.
3.4 Event access records
When you join an event using a code or a link, we record which event, which method you used, the platform and app version, the installation identifier, and the time the request took. This is how we detect abuse of invite codes.
3.5 Feedback
If you send feedback through the app, we receive the text you wrote, the screen you were on, any error context attached to that screen, the time, and the browser or device identification string your request carries.
Feedback is forwarded to Linear, our issue tracking service, so we can act on it. Please do not include personal information in feedback text. If you do, it will be stored and forwarded along with the rest of your message.
3.6 Diagnostics
CheerKeeper uses Sentry to report crashes, errors, and performance measurements.
A diagnostic report may include an identifier Sentry generates for the installation, your device model, operating system version, app version, performance timings, error details, and a short trail of recent technical events leading up to the problem.
That trail can contain fragments of identifiers or tokens, and can contain text you entered if you were typing when the error occurred. We do not attach your name, because we do not have it. We cannot guarantee that a diagnostic report contains nothing that could identify you.
3.7 Web pages opened inside the app
Some links in the app open a web page. When that happens, the page and its hosting provider receive your network address, your browser and device identification string, and the page you requested, in the ordinary way that visiting any website works.
3.8 Organizer sign-in
Event organizers sign in with an email address and a code we issue for a specific event. We store the email address, a scrambled version of the code, a label describing the device signing in, the times of successful and failed attempts, and a session that expires after the event ends.
The device label and session are linked to the organizer’s email address. This is the only part of CheerKeeper where we hold an email address tied to a person’s activity.
4. What the app keeps on your phone and never sends us
The app has a feature that lets you note an athlete’s name and the teams they perform with, so the app can highlight the right rows for you.
That information stays on your device. It is not transmitted to CheerKeeper, it is not stored on our servers, and we cannot see it. Deleting the app removes it.
5. Schedule submissions through our website
Anyone can send us a competition schedule through our website without creating an account.
Your name and email address are optional. You may submit a PDF on its own. We collect whatever you choose to provide, plus the file, plus a shortened scrambled version of your network address, which we use to limit abuse of the form.
The form asks you not to upload documents containing athlete names, rosters, birthdates, contact information, medical information, or photographs of children. Please redact those before uploading. If we find that kind of information in a submission, we stop processing it except as needed to delete it, and remove it from the systems we control.
A submitted document is processed before a person reads it. The file is stored, converted to page images if needed, and run through text extraction, which for image-only pages uses Google Cloud Document AI. The extracted text, detected tables, and layout are stored so a reviewer can check the schedule. Extracted content can also appear in our processing logs.
Nothing you submit appears in the app automatically. A CheerKeeper reviewer checks every submission before any of it is published, and can reject or remove it.
Published schedule information in the app may come from an event producer directly or from a reviewed community submission.
6. Why we collect what we collect
- To show you the right schedule and let you into the events you have access to.
- To send you the alerts you asked for.
- To record and honor purchases.
- To find and fix crashes and errors.
- To act on your feedback.
- To detect and prevent abuse of invite codes and the submission form.
- To let organizers manage their own event’s schedule.
If you are in the UK or the European Economic Area, our legal bases are: performing our contract with you, for paid event access; your request, for notifications and support; our legitimate interests in security, abuse prevention, diagnostics, and keeping the service reliable; and legal obligation where one applies. You may ask us to explain the balancing we carried out for any legitimate-interest processing.
7. Who else handles your information
We use service providers to run CheerKeeper. They act on our instructions.
| Provider | What they handle |
|---|---|
| Apple | Payment processing, notification delivery |
| Expo | Notification token registration and relay, including notification text |
| Sentry | Crash, error, and performance diagnostics |
| Linear | Feedback and issue tracking |
| Vercel | Website and admin hosting, request logs |
| Neon | Database |
| Upstash | Queues and short-lived caching |
| Amazon Web Services | Storage of uploaded schedule files |
| Render | Background processing of uploaded schedules, and its logs |
| Google Cloud | Text extraction from image-only schedule pages |
We require service providers that receive personal information from us to protect it consistently with this Policy and applicable law, to use it only to provide services to CheerKeeper, and to delete or return it on our instruction.
We do not sell your information. We do not share it for advertising. We do not give it to data brokers.
We may disclose information if the law requires it, or to protect the safety of people at an event.
8. How long we keep things
| What | How long |
|---|---|
| Installation identifier and its event access records | 24 months after the last use of the app |
| Notification registrations | 90 days after the associated event ends |
| Purchase records | 7 years, subject to tax and accounting requirements |
| Feedback | 24 months |
| Diagnostic reports | 90 days |
| Organizer sign-in records | 12 months after the event ends |
| Schedule submissions, uploaded files, page images, and extracted text | 24 months after review |
| Abuse and security records | 12 months |
Our providers apply their own retention settings to logs and backups, which can hold copies for a period after we delete our own records.
9. Children
CheerKeeper is a tool for the adults who attend competitions. It is not designed for children under 13 to use on their own, and it does not create accounts for anyone.
We do not knowingly collect personal information from children. As described in Section 4, athlete details a parent enters stay on that parent’s device and never reach us.
If we learn that a schedule submission or any other material contains a child’s personal information, we stop processing it except as necessary to delete it, and remove it from the systems we control.
If you believe a child’s information has reached us, contact privacy@cheerkeeper.com and we will delete it.
10. Your choices and your rights
Notifications. Turn off individual alerts in the app, or turn off notifications for CheerKeeper in your device Settings.
Deleting the app. Deleting CheerKeeper removes its ordinary local storage from that device, including any athlete details you entered. The Keychain identifier can survive a reinstall or a device transfer, and deleting the app does not delete information already held by us or our providers.
Deleting server records tied to your installation. Because there are no accounts, we currently have no way for you to tell us which installation identifier is yours, so we generally cannot locate the records belonging to a specific installation. Write to privacy@cheerkeeper.com and we will do what we can.
Deleting a schedule submission. If you gave us an email address when you submitted, write to privacy@cheerkeeper.com from that address and we will find and delete the submission and its associated files from the systems we control. If you submitted anonymously, we generally cannot identify which submission was yours, because an anonymous submission contains no identifier you would know.
Everywhere, you may: ask what we hold, ask us to correct it, ask us to delete it, and ask us to explain what we cannot delete and why.
If you are in the UK or the EEA, you may additionally: ask us to restrict processing, object to processing based on legitimate interests, ask for a copy of your information in a portable format, and complain to your local data protection authority.
If you are in California: we do not believe CheerKeeper is currently a “business” under the California Consumer Privacy Act. Regardless, we do not sell personal information and we do not share it for cross-context behavioral advertising, so we do not operate an opt-out for those activities. If the CCPA does apply, you may exercise your rights, including through an authorized agent, by writing to privacy@cheerkeeper.com. We will verify your request and respond within the time the law requires.
To exercise any right, write to privacy@cheerkeeper.com.
11. Security
Information travels between the app and our servers over encrypted connections. The installation identifier is held in the iOS Keychain. Organizer codes are stored scrambled, never in readable form. Access to our administrative tools requires a sign-in.
No system is perfectly secure, and we do not claim ours is.
12. Changes to this Policy
If we make a material change, we will update the effective date at the top and describe the change in the app. Continuing to use CheerKeeper after a change means the updated Policy applies to you.
13. Contact
privacy@cheerkeeper.com
CheerKeeper, LLC