Effective Date: October 14, 2026
FanIQ ("the App") is an AI-powered NFL analytics tool published by Parent-AI LLC, a limited liability company organized under the laws of the State of Washington, United States ("Parent-AI LLC," "we," "us," or "our"). Parent-AI LLC is the controller responsible for the limited data described in this policy. We are committed to protecting your privacy. This policy explains what data we collect, how we use it, and your rights.
By default, we do not collect personal data. The App does not require account creation, sign-in, or any personal information to function. Signing in is optional; see "Signing in (optional)" below for what we collect only if you choose to do that.
To understand which features are used and to fix bugs, the App sends a set of events through PostHog, a third-party analytics service. These events are tied to a random identifier generated on your device, never to your name, email, or account, whether or not you have signed in elsewhere in the App (see "Signing in (optional)" below). We call this device-linked rather than fully anonymous, because a device identifier is still a form of identifier, even though it cannot be turned back into your name or contact details by us.
Specifically, we collect:
We do not collect: your name, email, the generated answers or results the App shows you, usernames, passwords, session cookies, or OAuth tokens/codes. We also never collect another league member's real name as its own field (their team name is fine, same as your own). Your IP address reaches PostHog as part of the network request that carries each event, as it does for any server you connect to; whether PostHog stores, masks, or discards it is a setting on PostHog's side that we have not independently verified, so we do not claim it is discarded.
This data is used solely to improve the App. It is not sold or shared with third parties beyond PostHog acting as our analytics processor.
Session replay. PostHog also records a visual replay of your session in the App (screen layout and on-screen interactions), so we can see how the interface is actually used and where it breaks. Text you type into an input field is masked in these replays. That masking does not extend to text that is already rendered on screen: a chat message you already sent and that now appears as a bubble, or a list of your roster's player names, can still appear in a replay. Session replay is not sent for the website, only the App.
If you installed the App by tapping an Apple Ads (Apple Search Ads) result on the App Store, Apple's own AdServices framework tells us that at install time. We receive campaign-level information such as the campaign, ad group, and keyword that led to the install, and the country or region and general timing of that click. This comes directly from Apple, contains no advertising identifier (IDFA) and no cross-app or cross-website identifier, and is used only to understand which channels bring people to the App. It is not the same as ad tracking: we cannot see your activity in other apps or on the web.
The pages on faniqsports.com count page views through PostHog, the same analytics service the App uses. There is no sign-in, no advertising, and no cross-site tracking here.
FanIQ never requires an account. Core chat, stats, and the Two-Minute Drill work without signing in. Verified fantasy participation and account-specific actions require a verified provider connection or a limited league social session. Signing in is offered from Settings and is required only if you want to connect a Yahoo fantasy league (Sleeper and ESPN do not require it).
If you choose to sign in, you can use Sign in with Apple (iOS only) or Google Sign-In (iOS and Android). When you sign in, our backend verifies the identity token Apple or Google gives it, then creates an account. We store:
This account record is stored in our AWS account (DynamoDB and Amazon Cognito), in a United States region. Signing in with Apple and signing in with Google are treated as two separate accounts; we do not link them to each other even if they share the same email address.
If you connect a Yahoo fantasy league after signing in, your Yahoo access token is stored against your account server-side, as described in "Connecting a Fantasy League" below.
If you connect a Sleeper, ESPN, or Yahoo league while signed in, we also store a record of that league against your account: the platform, the league's ID and name, your team's ID and name in it, the seasons it covers, whether it is drafting or in season, and whether you hid it in the App. For Sleeper, we also store your Sleeper user ID (a public identifier, not a password) so a restored Sleeper connection can find your leagues again. We do this only so your leagues come back after you reinstall the App or set up a new phone. We do not use this to advertise to you, we do not sell it, and we do not share it with anyone else. Provider credentials are kept separately from these league records. New fantasy sign-ins offer the backend connection described below; existing device-only connections require the new consent before enrollment.
To delete your account, open the App and go to Settings > Delete All My Data. This deletes the account record described above (identifier, email, name, entitlements, any stored Yahoo token, and any leagues stored against your account) from our servers, then clears the App on your device. See our Data Deletion page for details.
Connecting fantasy is optional. When you sign in to a supported fantasy provider and accept the connection disclosure, the App enrolls that connection with our private backend credential service. This lets FanIQ refresh your league while the App is closed and carry out the actions you authorize. A public username or league ID alone is not proof that you own a team. Existing device-only connections are not silently uploaded: enrollment requires the current disclosure and consent.
The credential service binds credentials to your verified provider account and teams. Credentials are excluded from analytics, public pages, the League Ledger and narration prompts. Backend actions keep bounded status and decision receipts; those receipts must not contain raw credentials. Disconnecting revokes FanIQ's connection and removes its stored credential material. You can also revoke sessions at the provider.
Auto-manage is a separate choice on Fantasy and Profile. Enabling it authorizes supported team-management actions within the selected scope and limits. Turning it off stops future automated actions; disconnecting also removes the backend connection. A trade submission or message to another manager has its own permission and review requirements. An unavailable or unverified provider capability stays unavailable rather than being treated as successful.
League messaging: enabling a selected league channel permits bounded reads of that channel to match provider message authors to teams and process requested league participation. Sending messages is a separate permission. A shared league invitation shows the text and destination before sending; uncertain delivery is not silently retried.
For all platforms, the App itself reads only leagues you are in: your roster and the other teams' rosters, the league's settings, your matchups, available free agents, and trade offers that involve your team. If you are signed out, we store a smaller record of the league under your device identifier (see "Leagues when you are not signed in" below), and for a Sleeper or ESPN league connecting also builds the League Ledger described next. A Yahoo league is added to the League Ledger only after you sign in. If you are signed in, connecting a league builds a League Ledger for that league on our server. A League Ledger is shared: every person who connects the same league adds to and reads the same record, not a private copy just for you. It holds the league's settings and scoring rules; every team's name and its manager's provider display name and provider ID (for example, a Sleeper username, or an ESPN or Yahoo display name); every team's current roster; every week's starting lineup, bench, and points for every team, for every season the provider makes available; the standings; every trade, waiver claim (including bid amounts), and free-agent add or drop; the draft results and any traded draft picks; and grades we calculate from that data, such as bench points a team left unused, how much luck shaped a result, and weekly rank. We refresh a connected league's Ledger about once a week, on Tuesdays. We also keep the raw data each provider sends us in a private storage bucket that only our own systems can read, so we can rebuild the Ledger if we improve how we read it. The Ledger never holds a password, session cookie, access token, or other credential of any kind; our server checks for and rejects anything that looks like one before it is stored. See "Signing in (optional)" above for the separate, smaller record of your own account's connection to a league. As described in "Usage Analytics" above, your league's name, your team's name, and the names of NFL players on your roster or shown in a comparison, trade idea, or free-agent suggestion are also sent to PostHog, tied to your device identifier, so we can measure how well each fantasy provider is working. This is a change from earlier versions of this policy, which said league and team names were never sent; the current behavior is what is described here and in "Usage Analytics."
Leagues when you are not signed in. So that fantasy alerts (lineup, live matchup, weekly report, waiver, trade and offer, injury, and reconnect alerts) can reach you even if you never sign in, the App stores a record of each connected league on our server under the random device identifier used for notifications, not under an account. The record holds the platform, the league's ID and name, your team's ID and name, the seasons it covers, whether it is drafting or in season, and, for Sleeper, your Sleeper user ID (a public identifier). It never holds an ESPN or Yahoo cookie, a Yahoo token, or a password; our server checks for and rejects anything that looks like one before it is stored. We use it only to decide which alerts to send to your phone and to build your weekly report. We do not use it to advertise to you, we do not sell it, and we do not share it. If you sign in later, we move these records onto your account and remove the device copy. You can turn each kind of alert off in Settings.
Separately, we record a summary of how your league is configured, so the App can tailor draft and lineup guidance to your league's actual rules and so we can understand which league formats we need to support. This summary describes the league's rules and shape only:
This configuration summary is a separate analytics event from the ones described above, and does NOT carry a league name, team name, manager name, credentials, tokens, or a list of which players are on your roster -- only the rules/shape facts listed. It is also stored on our servers alongside your device's notification registration, under the same device identifier, not your account or name, whether or not you have signed in elsewhere in the App. This is separate from the account-linked league record described in "Signing in (optional)" above, which does carry your league's ID and name so we can restore it for you when you are signed in.
You can disconnect a fantasy league at any time from Settings. Disconnecting clears the relevant local credentials and revokes the backend provider connection, including its stored credential material and connection-owned social contributions. If you are signed in, disconnecting also removes you from that league's Ledger on our server. Because a League Ledger is shared, we delete the whole Ledger only once no other signed-in user is still connected to that league; if someone else is still connected, the Ledger stays, minus your membership in it. Either way, our server keeps a short note that a league was removed from your account, with no league or team details, for up to 12 months, so your other signed-in devices remove it too. If you are signed out, disconnecting a league, or tapping Delete All My Data, removes the device-linked record of that league and takes your device off that league's Ledger membership; we keep a short note that a league was removed, with no league or team details, for up to 12 months. When you disconnect your last league, the App also clears the league-configuration summary described above, both on your device and on our servers. Deleting your account (see "Signing in (optional)" above) removes you from every league you are connected to, the same way, deleting each league's Ledger entirely if you were its last signed-in connection, with no removal note kept afterward.
When you test a take in the App, it is checked entirely on your device against the football laws the App already ships with, and nothing leaves your phone. If none of them settle it, the result offers a button to send that take to us so we can test it against our historical NFL data and tell you what we found. Nothing is sent unless you tap that button, and you tap it once per take.
FanIQ stores an NFL statistics database locally on your device. Core chat answers are computed on your device. Optional fantasy connections and league features also use our backend as described above.
A verified manager can explicitly publish a bounded league page through an unlisted, shareable link. Anyone with that link can see the selected league and team names, matchup scores, published recap and replies. Picks stay sealed until the server's kickoff deadline; after that, submitted picks and standings are visible. The page does not expose the private League Ledger, manager identifiers, provider credentials, or private trade preferences. An unlisted link can be forwarded; it is not an access-controlled private room.
Publishing may generate playful AI commentary from the selected scoreboard and prediction receipts. We send those selected receipts, including displayed team names where present, to Amazon Bedrock (Anthropic models), or to Anthropic when that service is configured. We do not send provider credentials, your private chat history, or the full League Ledger for this commentary. Source receipts remain visible, and the page labels model narration or its computed fallback.
On the website, a draft stays in this browser's session storage until submitted. To participate without installing the App, a recipient can post a short verification challenge in the existing provider league chat. Where supported, FanIQ checks the trusted message author against current team ownership and issues a one-hour session limited to social participation for that league and team. This does not authorize provider team actions. Unsupported verification is labeled pending; a draft is not counted as a submitted entry.
Social contributions, consent and version receipts expire after up to 400 days unless removed earlier. Short verification challenges expire after 10 minutes; social sessions after one hour; trade-interest signals after 48 hours. Provider-derived data remains subject to applicable provider permissions and retention requirements; these features do not create permission for unrestricted permanent provider archives. You can delete your replies, withdraw participation, report content and, if you published the page, unpublish it. Reports hide the selected reply pending review. Disconnecting removes connection-owned contributions and unpublishes pages owned by that connection; copies others have already shared cannot be recalled.
If you tap the microphone button to speak a question instead of typing it, the App first tries to transcribe your speech entirely on your device. If on-device transcription is not available on your phone, it falls back to your device's system speech recognizer. On Android that system recognizer is usually Google's, which may process the audio off the device to produce the transcript. Whether your voice audio ever leaves your device therefore depends on your own device and which language packs you have installed, not on anything FanIQ controls. Either way, only the resulting text transcript is used, as if you had typed it. FanIQ does not write or keep an audio recording of your voice.
The App communicates with these categories of third-party services:
All NFL statistics data is stored locally on your device. Your sign-in details and league connections are stored in the iOS Keychain (encrypted at rest).
On iOS, your Two-Minute Drill progress (your Fan IQ score, level, and day streak) is backed up to your own private iCloud, so it is restored when you reinstall the App or set up the App on another of your Apple devices. This uses Apple's CloudKit private database and applies to iOS only. On Android, Two-Minute Drill progress has no cloud backup today and does not survive an uninstall or a device change. Where the iCloud backup applies, it lives in your iCloud account rather than ours, and we cannot read it; deleting your data from within the App deletes this backup as well.
A copy of your Fan IQ score, level, and day streak is also stored on our servers alongside your device's notification registration, under the same anonymous device identifier described above. We use it to understand how people progress through the App and to judge when a notification is worth sending. It is not linked to your name or to an account, whether or not you have signed in elsewhere in the App.
The App does not knowingly collect personal data from children under 13. The usage analytics described above are tied to a device identifier, not to any individual user's name or account, child or otherwise.
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date.
If you have questions about this Privacy Policy, contact Parent-AI LLC at canenvarli@gmail.com.
Parent-AI LLC, Redmond, Washington, United States.