Last updated: October 24, 2026
Conch FF (“the extension”) is a browser extension that enhances the Sleeper fantasy football website with richer stats and a cleaner layout. It can also connect your ESPN leagues to the Conch website, so you can see them alongside your Sleeper ones — that feature is optional, off until you ask for it, and described in full in its own section below. Conch FF is an independent project and is not affiliated with, endorsed by, or sponsored by Sleeper or ESPN.
Conch FF does not sell or share your personal information, and most of what the extension does happens locally in your own browser. A few features talk to servers on the developer’s behalf — and one of them, which you have to ask for by name, sends an authentication credential:
No other feature contacts any server beyond the public APIs and the FF TV Guide service described below.
When you view a page on sleeper.com, Conch FF reads the fantasy football data
that page already deals with (your leagues, rosters, matchups, and standings) so
it can display it more usefully. To enrich that view it fetches additional
publicly available data directly from these APIs, from your browser:
api.sleeper.app, api.sleeper.com) — league,
roster, matchup, and player information.sleepercdn.com) — player avatars and images, and,
if you turn on light mode, Sleeper’s own stylesheet, which Conch FF
recolors in your browser.api.fantasycalc.com) — player and draft-pick
trade values (dynasty or redraft, matching the league’s format).These requests contain only the public identifiers needed to look up that data (for example, a league ID or player ID). They do not include your name, email, password, or any account credentials.
The one exception is ESPN connect below, which sends ESPN session cookies — and only when you explicitly ask it to.
When the “Trade history enrichment” feature is enabled (it is by default) and you open a league’s transactions tab, the extension contacts the developer-operated FF TV Guide API to fetch that league’s historical trades — including which players traded draft picks eventually became, which Sleeper does not show. The first time a league is looked up the service may still be importing its history from Sleeper’s public API; while that runs the extension polls a sync-status endpoint — sending the same league ID — so it can show you the import’s progress instead of an empty panel.
In the draft room, the extension asks the same service for pick timing for the draft you are open on — how long each pick took — so it can show average pick times alongside the draft. What is sent is the Sleeper draft ID and the same anonymous token; what comes back is timing data for that draft’s picks. This goes off with the draft page enhancements in the popup.
On the Players tab, the extension asks the same service for waiver pickup suggestions — unrostered players in the league you are viewing who are worth claiming, each with a short reason. What is sent is the Sleeper league ID and the same anonymous token; what comes back is a list of candidate players, assembled by the service from the league data described above and public player stats and projections. The extension then drops anyone Sleeper shows as already rostered, in your browser, before displaying the list. This goes off with the Players page enhancements in the popup.
The extension also asks this service for things that are not about you or your leagues:
Every request above belongs to a feature you can switch off in the popup, and turning that feature off stops it. The three shared reads — the NFL schedule, matchup difficulty and live game clocks — are used by more than one feature, so they stop once all of the features that use them are off. The feature-configuration check keeps running while the extension is enabled — it is the switch that turns things off, so it cannot be behind one of them. Turning the whole extension off in the popup stops all communication with the service.
ESPN publishes no API and no sign-in method for third-party apps, so the only way to show you a private ESPN league is to use the ESPN session your browser already holds. This is the one feature of Conch FF that sends a credential anywhere, and none of it happens unless you press the button.
A small script does run on espn.com pages, but it is entirely passive: it
waits for a single message from the extension popup and answers it. On its own
it reads nothing, sends nothing, and stores nothing.
If — and only if — you press “Connect ESPN” in the extension popup:
espn.com, espn_s2 and SWID,
read from an ESPN page you already have open — the same way ESPN’s own page
scripts read them. These are the credentials that keep you signed in to ESPN.
No other cookie, for ESPN or for any other site, is ever read.If the extension cannot read the session — no ESPN tab open, or you are signed out of ESPN — it says so and points you to the Conch website, where you can connect by copying the two values across yourself.
If you never press the button, the extension never reads an ESPN cookie and never contacts ESPN.
So the developer can tell which extension versions are in use, which parts of the extension people actually use, and which parts are silently broken, the extension sends a small amount of anonymous usage data to Google Analytics (which processes it on the developer’s behalf).
Everything below describes Conch FF’s own surfaces and the type of Sleeper page they appear on. None of it identifies you, your leagues, or anything you are looking at.
The examples given are illustrative rather than a complete list: as features are added or retired, the names in these categories change, but what is collected does not. The guarantee is not the list of names — it is that every value sent is a fixed word chosen in advance by the developer and built into the extension, so a category below can never quietly start carrying something about you.
Some buttons and links in Conch FF open the Conch website (conchff.com), for example to see a league’s full history or more trade ideas. When you click one, the link carries your Sleeper user ID and the ID of the league you were viewing (and, for a trade idea, which player or team it was about), so the website can open that league for you. These are the public Sleeper IDs, not your name, email or Sleeper password. Nothing is sent until you click.
To stay fast and reduce network requests, Conch FF caches data locally in your browser using the standard extension storage APIs:
chrome.storage.local — a cached copy of the NFL player dictionary,
short-lived league/matchup data, the player-values file used by trade ideas,
the recolored copy of Sleeper’s stylesheet used by light mode,
the anonymous FF TV Guide authentication
token described above, the random analytics identifier, and a few
housekeeping timestamps (last analytics send, last daily settings summary,
last update check). ESPN
session cookies are not among them: as described above, they are sent
once and never written to extension storage.chrome.storage.sync — your Conch FF settings (which features are turned
on). If you are signed into Chrome, your browser may sync these settings across
your own devices; this is handled entirely by Chrome, not by Conch FF.sleeper.com — small display preferences that
belong to the page you are looking at: the order you dragged your league list
into, how wide you left the chat panel, which panels you collapsed, and which
notices you dismissed. These never leave your browser and are not sent
anywhere.You can clear all of it at any time by removing the extension.
Nothing is sold or shared with advertisers or data brokers. Anonymous usage analytics (a random identifier, the extension version, the types of page viewed, and which Conch FF features were used — never any fantasy data) is processed by Google Analytics on the developer’s behalf, exactly as described above. Beyond that, the only party the extension communicates with outside the public APIs above is the developer-operated FF TV Guide service — which, if you use ESPN connect, is also given your ESPN session cookies so it can read your leagues on your behalf.
storage / unlimitedStorage — to cache the player dictionary and your
settings locally, as described above.activeTab — lets the popup see the address of the tab you are looking
at, and only while you have the popup open, so it can show the controls that
apply to that site. It grants nothing for any other tab and nothing in the
background.sleeper.com, the Sleeper APIs/CDN, and the FantasyCalc API
— to read the page you’re viewing and fetch the public data that powers the
enhancements.ff-tv-guide-507152681487.us-east4.run.app) — to fetch trade-history
enrichment, draft pick timing, waiver pickup suggestions, the NFL schedule,
matchup difficulty, live NFL game clocks, player values for trade ideas, and
the feature configuration, all as described above.espn.com pages — so the passive script described under ESPN
connect can run there and, when you press “Connect ESPN”, hand over the two
session values. Conch FF requests no browser-wide cookie permission at
all: it can only read what an ESPN page can already read about itself.Conch FF requests access to no other sites.
If this policy changes, the “Last updated” date above will change and the new version will be published at this URL.
Questions about this policy can be sent to iam@tedmoke.com.