Rules

How to win

Checkmate your opponent’s King: the King is under attack and cannot escape. Stalemate — no legal moves, King not in check — is a draw, as are agreement, threefold repetition and the 50-move rule.
KingOne square in any direction.
QueenAny distance — rank, file or diagonal.
RookAny distance along rank or file.
BishopAny distance diagonally.
KnightAn L: two squares then one perpendicular. Jumps.
PawnForward one (two on first move); captures diagonally.
CastlingKing two squares toward a rook; the rook hops over.
En passantCapture a pawn that just advanced two squares.
PromotionA pawn on the last rank becomes queen, rook, bishop or knight.

About

About FTL Chess

FTL Chess is a small, ad-free chess app built around one idea: starting a game should take seconds. Create a game, send the invite link, and your opponent is playing — no account, no matchmaking queue, no download.

It’s an independent project. The rules engine, board and multiplayer sync are open source — see Source in the menu footer.

Built with TypeScript, pixi.js and Firebase Realtime Database.

How it works

Invite-link multiplayer

  1. Create a game from the menu. You’ll get an invite link and be randomly assigned white or black.
  2. Send the link to whoever you want to play. They don’t need an account or to install anything.
  3. When they open it, they’re assigned the other color and the game begins — moves sync between both boards as you play.
  4. Prefer to play alone? Single player puts you against an opponent that moves at random, right in the browser, with no connection required.

Games aren’t tied to an account — anyone holding the link can open and continue a game, so treat the link like an invite, not a public URL.

Privacy

Privacy

FTL Chess collects the minimum it needs to run a multiplayer game, and nothing else. This page describes what the app actually does today, not a certification — if that changes, this page changes with it.

What’s stored

  • A random player id (12 characters, generated in your browser) is saved to your browser’s local storage the first time you open the app, so a game can tell you apart from your opponent across a page reload. It isn’t linked to your name, email or any other identity.
  • When you create or join a game, that player id, your assigned color, the board position and move list, and timestamps for when the game was created and last moved are stored in Firebase Realtime Database under a randomly generated game id.
  • Anyone who has the invite link can read and play that game — that’s how the link works. Game ids aren’t listable or guessable, but they aren’t access-controlled beyond that either, so don’t share a link for a game you want to stay private.

What’s not collected

  • No accounts, no sign-up, no email addresses.
  • No cookies, no analytics, no advertising or third-party trackers of any kind.
  • The hosting infrastructure (Firebase and Google Cloud Run) may log basic request metadata as part of normal operation; that’s outside FTL Chess’s own code and nothing is added on top of it.

How long it’s kept

There’s no automatic deletion yet — a finished game is marked finished but its record isn’t removed on its own.

Requesting deletion

Since games aren’t tied to any personal identity, there’s no account to delete — but you can ask for a specific game’s record to be removed by opening an issue on the project’s GitHub repository with the game id or invite link.