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 pack172,376 over-the-board games, 246,870 position aggregatesCC BY-SA 4.0
Lichess opening classification3,810 named positions, ECO codesCC0 1.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. Both 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

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 ExplorerExplorer → Online (a user opt-in, not the default for installed packs)Public, no key needed
Lichess tablebaseEndgame tablebase (a user opt-in, when a position falls to few pieces)Free for non-commercial use
Lichess accountSign in with Lichess (PKCE OAuth, no scopes beyond “read your games”)Lichess terms apply
Chess.com accountSign in with Chess.com (public API by username)Chess.com API terms

The CSP in vercel.json is the network allow-list; any host not on it is refused at the browser layer.

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 indocs/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)
  • Lichess standard-games export (CC0, but the population is amateur online blitz — not the question an over-the-board reference is for; not a fit for what the packs are meant to answer)

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.