Data & licences

Where every number in Kingfisher comes from.

The authoritative technical record is in each pack's manifest. This page is the human-readable summary. If a licence is not present here, the data is Kingfisher's own.

Bundled with the application

SourceContentsLicence
kingfisher-starter pack206,451 elite broadcast games (over the board and online events), 300,413 position aggregatesCC BY-SA 4.0
Lichess opening classification3,810 named positions, ECO codesCC0 1.0
Annotated classics: Capablanca, Chess Fundamentals (1921)14 games with the author's notes, added to your games only when you askPublic domain
Famous games and championship classics — Wikimedia contributors100 credited complete scores, added to your games only when you ask. Includes the Immortal, Evergreen and Opera games; a curated selection, not a popularity ranking. No modern commentary is included. Every game retains its source revision.CC BY-SA 4.0

The bundled pack ships as static assets in the application; the opening classification is replayed through Kingfisher's own rules code and the result is a generated TypeScript file. The annotated games are transcribed from a public-domain book by npm run annotated:build, every move resolved against the same rules code. All sources, including the Wikimedia score transcriptions, are described in THIRD_PARTY_DATA.md.

Installed on demand

SourceWhat it answersLicenceDistribution
kingfisher-elite-otbWhat was played in elite over-the-board gamesCC BY-SA 4.0Public data mirror
kingfisher-recent-theoryWhat is being played recently (last two years)CC BY-SA 4.0Public data mirror
kingfisher-recent-theory-narrowWhat is being played this season (last six months)CC BY-SA 4.0Public data mirror
kingfisher-high-rated-onlineWhat 2400+ Lichess players are playing onlineCC0 1.0Public data mirror
kingfisher-high-rated-rapidWhat 2200+ Lichess players play at rapid and classical (783,262 games)CC0 1.0Second public data mirror

Every chunk is verified against the manifests SHA-256 before it is used; a failed verification is reported, the bytes are discarded, and the user is told. See docs/data/reference-packs.md for the exact upstream dates, ratings filters and shard sizes.

Online queries the application makes

ProviderWhen the application calls itLicence / terms
Lichess ExplorerChoosing a Lichess source in the explorer — it needs a connected Lichess account or a personal token; the built-in pack is the defaultLichess terms apply
Lichess tablebaseA position with few enough pieces, when no local Syzygy table answersFree for non-commercial use
Lichess cloud evaluationThe engine panel's Lichess cloud, off at the start of each sessionLichess terms apply
Lichess accountConnect Lichess (OAuth with PKCE, no scopes requested)Lichess terms apply
Chess.com gamesSyncing a Chess.com username's public games (no sign-in; the public API)Chess.com API terms
Kingfisher account (Supabase; Google if you choose it)Signing in, and copying your own work to and from your account while signed inKingfisher's terms and privacy page

What each call sends is on the privacy page. The CSP in vercel.json names these hosts but also allows any https: host, so the code, not the policy, bounds the requests.

Engine binaries

Engine binaries are not committed. They are downloaded on demand by the application, recorded with a SHA-256, and qualified by a real search before they are allowed to answer a position. The full list and the licence each engine carries is in docs/ENGINES.md.

What is deliberately not used

These were investigated and rejected; the reasons are in THIRD_PARTY_DATA.md. The list is preserved because the next person to look at the problem should not have to repeat the work.

  • FIDE player list (no redistribution licence)
  • PGN Mentor (no stated terms)
  • rozim/ChessData (no licence, no provenance statement)
  • Kaggle / figshare “all games” archives (re-uploads with unclear origin)
  • ChessBase, Chess.com master databases (commercial)
  • The Lichess standard-games export as an over-the-board reference (CC0, but the population is online play). It is used for what it is: the two High-Rated Online packs, filtered by rating and pace and labelled as online

Affiliation

Kingfisher is not affiliated with, endorsed by, or sponsored by Lichess, Chess.com, FIDE, ChessBase, Chessable, the broadcast organisations whose games appear in the Lichess archive, or any of the engine authors. The application redistributes data only where the sources licence explicitly permits it, and the licence, source and provenance of every pack is recorded in that packs manifest.