This Privacy Policy describes what information FF Beacon (“we”) collects when you visit the site, why we collect it, who we share it with, and the choices you have. We aim to collect the minimum data needed to make the product work.
1. Information we collect
Account information
When you sign in we receive a unique identifier and email address from the authentication provider you choose (currently Google or Discord; an email-link option may also be available). We do not receive or store your password.
Profile information
With your consent we may receive your display name and avatar from the OAuth provider. From Google: name, email, profile picture (scopes openid email profile). From Discord: username, avatar, and the email associated with your Discord account (scopes identify email). We do not access your Google Drive, Gmail, calendar, contacts, or any Discord server / message data.
Preferences and product data
We store the choices you make inside the product: your default fantasy format, default data source, theme, optional Sleeper username (for league sync), favorite players, vote history on matchups, and email digest opt-in.
Sleeper league data
When you link a Sleeper username, we pull and cache the public data Sleeper exposes for your leagues: league metadata, rosters, transactions, drafts, traded picks, and user display names within those leagues. This data is public on Sleeper and remains visible to other users of the same league inside our product.
Cookies and similar storage
We use cookies and similar browser storage to keep you signed in (Supabase auth cookies), to remember your format and source preferences across visits, and to cache transient UI state. These are first-party cookies; we do not use third-party advertising cookies. You can clear them at any time from your browser settings.
Technical data
Our hosting provider (Vercel) automatically logs basic request information — IP address, user agent, request path, response status — for security, abuse prevention, and operational troubleshooting. We use this data only for those purposes.
2. Why we collect it
- To authenticate you and keep you signed in.
- To save the preferences that personalize the product.
- To power features that need league data — League Pulse, the power- rankings table, the trade analyzer, the transaction feed.
- To prevent abuse and rate-limit force-refresh requests.
- To send you email digests if and only if you have explicitly opted in to email digests in your preferences.
3. Who we share it with
We do not sell, rent, or trade your personal information. We share data only with the third-party processors that make the product run:
- Supabase — managed PostgreSQL + authentication. Stores your account, preferences, and synced league data.
- Vercel — hosting and edge network. Processes requests and serves the site.
- Google and Discord — only when you choose to sign in with one of them. They receive the fact that you authenticated against the FF Beacon app; we receive the profile fields listed above.
- Sleeper, KeepTradeCut, FantasyCalc — we read from their public APIs. We do not send them anything about you beyond the standard outbound HTTP request our server makes; they do not know who is browsing our site.
We may disclose information if compelled by lawful process or to protect the rights, property, or safety of FF Beacon, our users, or the public.
4. Google API Services User Data Policy
FF Beacon’s use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements. We use the data we receive solely to authenticate you and to populate your profile (name, email, avatar). We do not transfer this data to third parties for any purpose other than the processors named above, do not use it for advertising, and do not allow humans to read the data unless we have your explicit consent or it’s necessary for security or to comply with applicable law.
5. Data retention
Account and preference data is retained while your account is active. Synced public Sleeper league data is retained as long as the league remains active or until you request removal. Technical request logs are retained by our hosting provider on a rolling short-term basis (typically 30 days).
6. Your rights and choices
You can:
- View and change your preferences (format, source, Sleeper username, theme, email opt-in) from the dashboard.
- Disconnect Sleeper sync by clearing your Sleeper username.
- Request a copy of the personal data we hold about you, or request account deletion, by contacting us through the Author page.
- Revoke OAuth access to FF Beacon from your Google account settings or Discord authorized-apps page at any time.
7. Security
We protect data with industry-standard measures: HTTPS in transit, encryption at rest via Supabase, scoped database row-level security so users can only read and write their own preferences, and rate-limited admin endpoints. No system is perfectly secure; you should use a unique passphrase or password manager for the OAuth provider you use to sign in.
8. Children
FF Beacon is not directed to children under 13 and we do not knowingly collect personal information from them. If you believe a child has provided us with personal data, contact us and we’ll delete it.
9. Changes to this Policy
We may update this Privacy Policy from time to time. When we do, we’ll update the “Effective” date at the top of this page. Material changes will be highlighted on the homepage or via an in-app notice.
10. Contact
Questions, requests, or complaints? Reach out through the contact channels on the Author page.