Privacy Policy
Balltelligence (the iPhone app and balltelligence.com) · Effective October 7, 2026
Balltelligence is a sports guessing game run by Kyle Slate, an individual developer ("we", "us"). This policy explains what information the iPhone app and the website collect, why, who else receives it, and how you can delete it. Where this policy says "the app", it means both the iPhone app and the website, unless it says otherwise. An Android version built from the website, where available, works like the website, except that it never shows ads.
In short: you can play every mode without an account. If you sign in, we store a small profile so your progress syncs and you can appear on the public leaderboards. The app may show ads from Google. We ask Google for non-personalized ads only. We don't sell your information.
If you play without an account
Your games, streaks, statistics and settings are saved on your device. If you delete the app or clear the site's data, they're deleted too. Your device's own backups (for example iCloud) may include them. Daily reminders on iPhone are scheduled locally by your device.
The app also downloads roster updates, the news ticker and a small settings file from balltelligence.com. Those requests don't carry an account or usage ID.
Signing in
Signing in is optional. It's in Settings › Account. On iPhone you can sign in with Apple or with Google. On the website you can sign in with Google. Sign-in is handled by Google's Firebase Authentication service.
When you sign in with Google, Google shares your name, email address and profile photo link with Firebase Authentication. When you sign in with Apple, Apple shares the name you allow (Apple sends it only the first time you sign in) and an email address with Firebase Authentication. That email is either your real address or, if you choose "Hide My Email", a private relay address that forwards to you. Apple doesn't share a photo. Firebase Authentication then gives us your account ID, name and email (and, for Google, the photo link).
When you sign in, we store the following on our server:
- Account ID: a random ID that Firebase Authentication assigns to your login.
- Display name: by default, the first name and last initial from your sign-in (for example, "Kyle S."). If your sign-in doesn't share a name, you get a name like "Player1234". You can change it.
- Profile photo link: if you sign in with Google, the web address of your Google profile photo. We store the link, not the image. Sign in with Apple has no photo, so we store none.
- Email address from your sign-in. With Sign in with Apple you can choose "Hide My Email". Apple then gives us a private relay address instead of your real one. We don't show your email to anyone, and we don't send you email unless you write to us first.
- Your game data: a copy of the saved games, streaks, statistics and settings on your device, plus which kind of device last synced (iPhone, web or Android).
- Leaderboard scores worked out from your game data, such as your daily streak and today's result.
- Players you've blocked and reports you've sent (see "Leaderboards are public" below).
- When your account was created and last updated.
We use this only to run your account. It lets us sync your progress between your devices, rank you on the leaderboards, and keep the leaderboards free of abuse. We don't attach your account to the anonymous usage data described below, and we don't share it with advertisers.
Leaderboards are public
Anyone can view the leaderboards, in the app or on the web, without signing in. When you're signed in and have a score, your leaderboard entry shows your display name, an initial from that name (not your photo), and your score and rank. The leaderboard data also includes your random account ID, so the app can tell entries apart. It never includes your email.
- To change your display name: go to Settings › Account and tap your name (iPhone) or tap Edit (web). Names are 3 to 24 characters. Please don't use your full real name if you'd rather not be recognized, and don't pick a name that is offensive or pretends to be someone else. Names are checked against a list of offensive words: you can't save a name that fails the check, and if a name (for example one taken from your sign-in) still looks offensive, the leaderboards show a generic name like "Player1234" in its place.
- Leaderboards never show photos. Every entry shows an initial instead. Your photo appears only on your own account screen. To stop us keeping the link, tap Remove photo in Settings › Account. We then delete the stored link, and your initial shows instead. You can turn it back on with Show Google photo.
- Reporting and blocking: when you're signed in, you can report another player's leaderboard entry or block that player (touch and hold the entry on iPhone, or use its More menu on the web). A report records your account ID, the reported player's account ID, the reason you chose (name, cheating or other), any note you add, and when you sent it. We aim to review reports within 7 days. We use them to review names and scores, and we may rename an entry or remove its scores. When you block a player, we store that choice with your account and hide that player from the leaderboards you see; they aren't told. You can unblock them later in Settings › Account › Blocked players.
- To leave the leaderboards entirely, delete your account (see below).
Advertising
Balltelligence may show ads to pay for running the game. On the website, ads come from Google AdSense. In the iPhone app, they come from Google AdMob. The Android version never shows ads. We can switch ads off without an app update. The after-game ad appears after every 4th game, at least 3 minutes apart, and never during your first visit. Watching an ad for an extra hint is always your choice.
- Non-personalized ads only. We ask Google not to personalize the ads you see. On the website, we tell Google's ad tags not to personalize ads and to redact ad identifiers where consent hasn't been given. In the app, we send Google's non-personalized-ads setting with every ad request. In the iPhone app we ask Google for ads rated PG or below. In the app and on the website we use Google's settings to block sensitive categories such as dating, weight loss, get-rich-quick, politics and religion; ads for alcohol and for sports betting or fantasy sports can appear where Google's policies allow them.
- What Google still collects. Even non-personalized ads use cookies or device identifiers. They're used for frequency capping, aggregated ad reporting and measurement, and fighting fraud and abuse. To serve and measure an ad, Google receives information like your IP address (and an approximate location based on it), your device and browser type, and how you interacted with the ad. The Google Mobile Ads software in the iPhone app also collects diagnostic and performance information. Google handles this information as described in How Google uses information from sites or apps that use its services and the Google Privacy Policy.
- Consent. If you're in the European Economic Area, the UK or Switzerland, Google's consent message asks for your choice before ads use cookies or identifiers. On the website, ad storage stays off until you answer. You can change your choice later. On the website, use the "Privacy and cookie settings" link that Google shows. In the app, use Settings › Ads › Privacy choices, which appears where it's required.
- No cross-app tracking prompt. The iPhone app doesn't ask for permission to track you, so it can't read your device's advertising identifier (IDFA). We don't give your account, name or email to Google's ad services.
- Report this ad. If you see an ad that's offensive, misleading or broken, use the "Report this ad" link under the ad (website), under "Report an ad" in Settings › Ads (iPhone), or in the brief prompt after a full-screen ad closes. It opens our support page with the ad unit ID and the time the ad was shown filled in. Nothing is sent until you send the report to us by email yourself. The report doesn't include your account, name or advertising identifier.
Remove Ads (iPhone)
The iPhone app offers a one-time Remove Ads purchase. It turns off the ads between games; watching an ad for an extra hint stays optional. Apple handles the payment, so we never see your payment details. The app checks your purchase with Apple on your device to decide whether to show ads. We don't send your purchase to our server. To get it back on a new device, tap Restore Purchases in Settings › Ads. The website has no purchases.
Anonymous usage data
To see how the game gets played and fix what's confusing, the app sends anonymous gameplay events to our own server at balltelligence.com. These are things like "a daily puzzle started," "a guess was correct," "the settings screen opened," and how long a round took. We store:
- a random ID created when you first launch the app (it isn't your device's advertising ID or vendor ID, and it isn't linked to your Balltelligence account, Google account or Apple Account)
- platform (iOS, Android or web), app version and time zone
- a random session ID, the event name, the time, and details about the event (for example, which sport or how many guesses)
Our tester sign-up page (balltelligence.com/beta) sends the same kind of anonymous events when it's opened and when a download button is tapped. These include the website that linked to it, the campaign tag in the link, and whether you're on iPhone, Android or something else.
Usage data never includes your name, email, account ID or advertising identifiers. Our server uses your IP address briefly in memory to prevent abuse and doesn't store it with usage data. Usage data isn't sent to Google or any other company.
Turning it off: go to Settings › Privacy › "Share anonymous usage data." When it's off, the app sends one final "opted out" event, clears anything it hasn't sent yet, and sends nothing more.
Browser privacy signals: if your browser sends Global Privacy Control or "Do Not Track," the website and the beta page treat it as opting out of usage data and send none. The website doesn't create its anonymous usage ID while the signal is on. If you turn usage data back on in Settings, that choice overrides the browser signal until you reload or close the page.
Who else receives information
- Google (Firebase Authentication) processes sign-ins for us. It keeps a sign-in record (your account ID, name, email and photo link) in our Firebase project. On iPhone, Google's sign-in software may also collect device information and your IP address for security and fraud prevention. See the Firebase privacy information.
- Apple processes Sign in with Apple and the Remove Ads purchase, under Apple's privacy policy.
- Google (AdSense and AdMob) serves ads as described above.
- Cloudflare carries the traffic between your device and our server, and handles our email.
We run our server and its database ourselves. We don't sell your information, and we don't share your account information with data brokers or advertisers. We may disclose information if the law requires it, or to protect players, the game or others from fraud or abuse.
Challenge links
A challenge link contains the puzzle, your score, and the optional name you type in. It goes only to the people you send it to. We don't store challenge links.
Cookies and storage on your device
Ads. When ads are on, Google's ad tags on the website may set and read cookies and similar storage. They use them for the purposes described under "Advertising". The iPhone app's ad software uses comparable storage on the device. We don't set any cookies of our own.
The website's own storage. The website (and the Android version) uses your browser's local storage:
- your games:
knowball.snapshot.v1 - sync status:
knowball.sync.v1 - whether to ask before uploading after you deleted an account:
knowball.sync.ask - whether the sign-in suggestion was shown:
knowball.signInNudge.v1 - your last sport and your challenge name:
kb.playSport,kb.challengeName - the Connections puzzle's chosen sport, played puzzles and stats:
bc.sport,bc.played,bc.stats - the anonymous usage ID and unsent events:
knowball.analytics.* - the beta page's anonymous ID:
balltelligence.landing.device - how many games since the last ad, when it was shown, and whether this is your first visit:
kb.ads.gamesSinceAd,kb.ads.postGameShownAt,kb.ads.seen - the news ticker's last settings:
tickerConfig - downloaded roster updates and when we last checked, in the browser's database storage (
knowball-roster) - if you sign in, Google's sign-in session, which Firebase stores in your browser's database storage
The website also keeps an offline copy of the game files and player data in your browser's cache so it works without a connection.
How long we keep data
- Account data (profile, game data, scores, blocks and the reports you sent) is kept until you delete your account. Leaderboard entries for "today" and for streaks drop off on their own when they expire, and expired entries are deleted from our server within a day.
- Anonymous usage data is kept for 13 months after our server receives it, then deleted automatically.
- Data on your device stays until you delete the app or clear its data.
- Ad data held by Google is kept under Google's own policies.
We don't keep automated backups of our server's databases. Data we delete is removed from the live database right away and is overwritten on disk over time.
Deleting your account
- Open Settings › Account in the app or on balltelligence.com while signed in.
- Tap Delete account and confirm.
If you last signed in more than a few minutes ago, you'll be asked to sign in once more first, so Google or Apple can confirm it's you.
Deleting your account permanently removes these from our server: your profile, display name, email, photo link, synced game data, leaderboard scores, the players you blocked and the reports you sent. It also deletes any blocks and reports other players made about your account. It also removes your sign-in record from Firebase and signs you out. If you used Sign in with Apple, the app also tells Apple to disconnect Balltelligence from your Apple Account. If that step fails, the app tells you how to do it yourself in your Apple Account settings.
To stop another device that's still signed in from bringing the account back, our server keeps a note of the account's random ID and the time it was deleted (nothing else) for 30 days, then deletes that too.
Your games stay on the device you're using, so you can keep playing without an account. They aren't uploaded again: if you sign in later, you start with a fresh account, and that device's games are uploaded only if you choose to.
If the sign-in record can't be removed, the app tells you; email us and we'll remove it. If you can't get into the app, email us from the address on your account and we'll delete it for you.
Getting a copy or making corrections
You can change your display name and remove your photo yourself in Settings › Account, and delete your account yourself as described above. If you want a copy of the account data we hold about you, or anything else corrected or removed, email us from the address on your account. Because usage data isn't tied to your identity, we normally can't look it up or single it out. For ad data, use the consent choices described above or contact Google.
Children
Balltelligence isn't directed to children under 13, and we don't knowingly collect personal information from them. If we learn that a child under 13 has created an account, we'll delete the account and its data. If you believe that has happened, please email us.
Changes
If this policy changes, we'll update this page and the date at the top.
Contact
Questions or requests? Email [email protected].
See also our Terms of Use.