Privacy Policy
Last Updated: October 2, 2026
The short version: Offseason keeps your fantasy league's current season and history in one place, with league-specific tools and chat. To do that we store your account, an optional read-only Yahoo link, imported league data, and the content you create. Imported data can include your leaguemates' Yahoo display names and records. We do not sell your data or run ads. You can export your account data and delete your account. Share-link controls depend on the type of artifact, as explained below. The rest of this page is the detailed version.
Offseason ("we", "us", or "our") is an independent app that connects to your fantasy football league, keeps its records, and provides league-specific analysis and chat. This Privacy Policy explains what we collect, how the Yahoo connection works, who we share data with, and the controls you have, when you use this website or the Offseason app (together, the "Service"). We keep our data practices as small and boring as we can.
What We Collect
We only collect what we genuinely need to run the Service.
| Category | What it is | Why we have it |
|---|---|---|
| Account info | Email address, a hashed password, your chosen username, and a profile emoji | To create and authenticate your account and let your commissioner find you. |
| Yahoo link | If you connect Yahoo: your Yahoo account ID (GUID), Yahoo nickname, your Yahoo avatar image URL, and OAuth access and refresh tokens (stored encrypted) | To read your fantasy leagues from Yahoo on your behalf and keep them in sync. See "Linking Your Yahoo Account" below. |
| Imported league data | Your leagues' rosters, standings, records, drafts, keepers, transactions, and the Yahoo display names of every member, across the seasons Yahoo has | To show the current league, build its searchable history and record book, and power trade, what-if, keeper, draft, almanac, wire, and Historian tools. See "Imported League Data" below. |
| League activity and tool data | Chat messages, keeper declarations, saved mock drafts, trade and what-if analyses, Historian questions and shares, and any retained entries from retired prediction features | To provide the tools, preserve your work, support sharing you request, and let your league collaborate. |
| League membership | Which leagues you are in and your role (member or commissioner) | To grant you access to the right leagues, chats, and standings. |
| Device and log info | App version, language preference, and standard web-server logs (IP address, request time, error codes) | To keep you signed in, debug crashes, and protect the Service from abuse. Server logs rotate on a short schedule. |
We do not collect: your real legal name (unless it happens to be your Yahoo nickname, which you control on Yahoo), phone numbers, dates of birth, contact lists, precise location, microphone access, or advertising identifiers.
Linking Your Yahoo Account
Connecting Yahoo is optional and new league imports may be unavailable while Yahoo access is paused. When linking is available and you connect Yahoo:
- Read-only access. We request only the Yahoo permissions needed to identify your account and read fantasy league data. We cannot change your Yahoo lineups, make trades, or post in Yahoo on your behalf. We only read.
- What we store from Yahoo. Your Yahoo account ID (GUID), your Yahoo nickname, your Yahoo avatar image URL, and the OAuth access and refresh tokens Yahoo issues so we can keep syncing without asking you to sign in every time.
- Tokens are encrypted at rest. The access and refresh tokens are encrypted with a key that is held in the server environment, not in the database, so a copy of the database alone cannot use them. We use them only to read your leagues from Yahoo.
- Yahoo is a separate company. Offseason is independent and not affiliated with, endorsed by, or sponsored by Yahoo. Your Yahoo account itself is governed by Yahoo's own terms and privacy policy.
- You can unlink any time. Unlinking your Yahoo account, from your profile, revokes and deletes the stored tokens. Deleting your Offseason account does the same.
Imported League Data
This is the part people miss, so we want to be plain about it. When you connect a league, Yahoo returns the whole league, not just you. That means Offseason imports and stores the Yahoo display names, team names, records, drafts, and transactions of every member of that league, for every season Yahoo has, including people who do not have an Offseason account and never signed up for anything.
We do this because it is what makes the record book work: the rivalries, the all-time head-to-heads, and the draft grades all need the full league history. But it means someone else's action (a leaguemate connecting the league) can bring your Yahoo-visible data into Offseason.
If you are in an imported league and want your name and records removed, email privacy@offseason.org with the league and the name to remove. We will pseudonymize your entries so your name no longer appears, while leaving the rest of the league's history intact. Commissioners can also keep private notes about managers in their own league; those are deleted when you are pseudonymized or when the league is deleted.
When a league loses its last Offseason member, or a site administrator deletes a league, the league and its data are deleted: imported data, Historian answers and share links, chat, and everything else tied to it. We keep only anonymous totals, such as how many leagues have connected and how many Historian questions have been answered, with nothing that identifies the league or anyone in it.
The Offseason iOS App
The iPhone and iPad app uses the same account and the same server as the website, so everything on this page applies to it. A few things are specific to the app:
- Sign in with Apple. If you choose it, Apple gives us a stable account identifier and an email address. If you choose "Hide My Email", that address is an Apple private relay address, and we only ever see the relay. We use it the same way as any other account email.
- Photos. The app never reads your photo library. A commissioner who adds art to a league badge picks one image with the system photo picker; only that image is uploaded, downscaled, and shown to the league. Members are never asked for photos.
- On your device. Recent Historian questions and display preferences are stored on your device only. The app keeps a cached copy of your league so it works offline; deleting the app removes it.
- No tracking. The app contains no third-party SDKs, advertising identifiers, or crash or analytics vendors, and it does not track you across other companies' apps or websites. Its usage events follow the Analytics section below.
- Delete in the app. You can delete your account from Profile in the app, with the same effect as on the website.
Analytics
We run our own first-party analytics so we can understand how the Service is used and make it better. We do not use Google Analytics, Mixpanel, Segment, Meta Pixel, or any other third-party tracker, and we do not share usage data with anyone for advertising or profiling.
Our product analytics are aggregate-only. We count allowlisted events (for example, a page view or a completed Historian question) in hourly buckets. For each event we may store an optional short category or page label, an approximate country and region from our CDN's edge header, a two-letter language code, and the client platform. We do not store IP addresses, user IDs, league IDs, question text, device fingerprints, user agents, or advertising IDs in analytics. Counts are updated in place, so one row represents many uses at once, and the rows are never de-anonymized, sold, or shared.
Do-Not-Track and Global Privacy Control do not stop these first-party aggregate counters. Offseason does not sell or share analytics, use analytics for targeted advertising, or build cross-site or per-person profiles. Native app events carry no authorization token or account, league, or device identifier.
How We Use It
- Run the Service: sync league data when access is available, show current standings and matchups, build searchable history and the record book, run the trade, what-if, keeper, mock draft, Historian, Almanac, Wire, Charter, and Gazette tools, and provide league chat.
- Account security: sign you in, recover your password, and detect suspicious access.
- Communication: send operational emails only (email verification, password resets, a password-changed alert). We do not send marketing emails, so there is nothing to opt out of.
- Improve the app: look at aggregate, anonymized usage (see Analytics) to fix bugs and improve features. We do not profile individuals, and we do not combine analytics with your account.
Sharing and Vendors
We do not sell your personal data. Ever. To anyone.
We share data only in these limited ways:
- Within your league: your username, profile emoji, chat messages, fantasy records, and shared tool results are visible to other members of leagues you join. Imported Yahoo names and records are visible to that league's members. That is the point of playing in a league.
- Service providers: a small set of vendors, each receiving only the minimum needed:
- Yahoo, the source of the fantasy data you choose to connect.
- Apple, if you use Sign in with Apple, to confirm your sign-in. We do not send Apple any other data.
- SendGrid, which sends our transactional email; it sees your email address and the message.
- Player-data providers we read from to power projections, market values, and average draft position: Sleeper, Fantasy Calculator (FantasyCalc), and Fantasy Football Calculator. We read public data from these sources; we do not send them your personal data. Values and average draft position shown in the app are provided by these sources and credited to them.
- Our hosting provider, which runs the server behind offseason.org.
- Public share links: content you choose to share by link is visible to anyone who has the link. See the next section.
- Legal compliance: if we receive a valid legal request we are required to honor, we may disclose the specific data it covers. We resist overbroad requests where we can.
- Business changes: if Offseason is ever acquired or merged, your data may transfer as part of the deal, and the new owner inherits this policy.
Public Share Links
Some current features let you create a public link to a specific artifact, including a trade analysis, mock recap, keeper board, Historian answer, Almanac chapter, What-If replay, or commissioner docket or Rule Lab result. Older links from retired features may no longer render. Current public links:
- Are unauthenticated: anyone who has the link can view the shared content without signing in, including the member names it references.
- Show only the published result or artifact, not your whole account or league. Trade, Historian, What-If, Rule Lab, and docket results are saved views. Mock links show a completed draft recap. The selected board and final grade are stored; public player labels and board metadata are assembled when the link is opened. Keeper boards are live and respect the league's sealed-pick rules. Almanac links show the chapter views published for that edition; publishing a chapter again can update its view.
- Use long, random tokens that are not guessable.
- Do not expire on their own. Use the controls for the originating tool to revoke a personal result link. Keeper boards and Almanac editions are league-owned and their links are managed by a commish. A commish can also revoke the league's share links together. Account deletion removes personal result links; league-owned artifacts can remain for the other members.
Security
- Encryption in transit: all traffic uses HTTPS (TLS 1.2+), with HSTS so your browser refuses to downgrade.
- Password hashing: we never store plaintext passwords. We use bcrypt, a modern, salted, deliberately slow hash, so a database leak would not expose your password.
- Token hashing and encryption: session tokens, email verification links, and password reset links are stored as SHA-256 hashes, not raw values. Yahoo OAuth tokens, which have to be replayable, are stored encrypted with a key kept in the server environment rather than the database.
- Database placement: the database lives outside the public web directory, so it cannot be fetched over the web, with server rules as a second layer of defense.
- Access control: only a small number of authorized people can reach production data, and only when needed for support or security.
- Disclosure: we welcome responsible security disclosure at security@offseason.org.
No system is bulletproof. If we discover an incident that affects your data, we will notify you and the appropriate authorities promptly.
Your Rights
You control your data. At any time you can:
- Access and export: download a portable JSON copy of your account data from inside the app, or email us and we will send it within 30 days. The export includes your account, links, chat messages, Yahoo link metadata, and any retained entries from retired features; it never includes secrets like passwords or OAuth tokens.
- Correct: change your profile emoji and theme in the app. For your username or email, email us and we will update it. Passwords change through the password-reset flow.
- Delete: permanently delete your account from your profile settings. This removes your account and the rows attributable to you across the Service, deletes and revokes your stored Yahoo tokens, and pseudonymizes your own imported Yahoo identity. See Data Retention for the narrow exceptions.
- Revoke shares: revoke personal result links through the originating tool. Ask a commish to revoke a league-owned Keeper board or Almanac link. See Public Share Links for the distinction.
- Third-party removal: if your Yahoo data was imported because a leaguemate connected your league, email privacy@offseason.org and we will remove your name from that league's imported data.
To exercise any of these rights, email privacy@offseason.org. No forms, no ticket queue.
Data Retention
We keep your data while your account is active. When you delete your account we permanently delete the data attributable to you within 30 days, with two narrow exceptions:
- Aggregate, anonymized stats (for example, "so many trades evaluated"), which contain no personal data.
- Minimal accountability and legal records we are required to keep (for example, an administrative action log), retained only for the required period.
Shared league history can remain after account deletion with your identity removed. A league and its data are deleted when it loses its last Offseason member or a site administrator deletes it; only anonymous totals remain. Public links follow the personal and league-owned rules above. Expired sessions are pruned on a schedule.
Children
Offseason is not directed at children under 13, and we do not knowingly collect personal information from anyone under 13. If you believe a child has created an account, email privacy@offseason.org and we will delete it.
Changes to This Policy
We may update this policy from time to time. If we make material changes, we will update the "Last Updated" date at the top of this page and, where appropriate, notify you by email. Continued use of the Service after a change takes effect means you accept the updated policy.
Contact Us
Questions about this policy, our data practices, or your rights? Get in touch:
Privacy and data requests: privacy@offseason.org
Security disclosure: security@offseason.org
General support: support@offseason.org