Skip to main content
API Preview
Build

Lichess

Pairing Lichess binds a Lichess account to your ~handle by signing you in through Lichess's own OAuth screen. ~alter holds no Lichess credential and registered no app: Lichess accepts public clients that choose their own identifier, so the whole exchange is protected by PKCE rather than by a secret ~alter keeps. No permission scope is requested at all.

What pairing does not authorise

Pairing this connector is a read commitment, not delegation. Specifically, ~Alter cannot use this pairing to:

  • Play, resign, or abort a game on your behalf.
  • Send messages, challenges, or friend requests from your account.
  • Join or leave teams, tournaments, or studies.
  • Change your account settings, rating range, or privacy preferences.
  • Surface your Lichess pairing to any third party without a separate consent row scoped to that recipient.

The OAuth or attestation scope we request is the minimum required to recognise the pattern described in What we read. Anything beyond that is structurally refused at the connector boundary, not promised by trust. How pairing works.

What we read

  • Your public Lichess username, read once from Lichess’s account endpoint at the moment you pair.
  • A single-use authorisation code and PKCE verifier, exchanged for a token, checked, and then discarded.

What we don't read

~Alter explicitly refuses these fields even when the OAuth scope or API permits them. Every refusal is enforced at the connector boundary, not by trust.

  • Your game history, openings, or move-by-move play.
  • Your ratings, rating history, or performance across any time control.
  • Your email address, which no requested scope would reach in any case.
  • Your followers, teams, or anyone you play against.
  • Puzzle history, study contents, or anything you have written on the site.

Where it lives

The paired username and tier badge sit in ~alter's pairing ledger keyed to your ~handle. The access token is used once to read the username and is not retained. Revoking removes the username from your pairing surface immediately, and you can additionally revoke ~alter's token from Lichess's own account security page.

How to revoke

Revocation is immediate. Ask the AI client you paired through to revoke this connector, or revoke it from your consent surface over the same connection. Either path revokes the provider token, stops all further reads, and purges the derived signals this connector fed into your identity vector. An audit row records the revocation.

One thing is kept on purpose. The connector retains a record that this account was paired and when it was disconnected, so the same account cannot be unpaired and re-paired in quick succession to churn your identity vector. That cooldown record holds the raw profile snapshot until the window passes. It is never read into a new signal while disconnected, and it is not shared with anyone.

Prefer the command line? The CLI is the optional deeper path and revokes the same connector:

CLI (optional)

alter unpair lichess

Pairing this connector does not enrol you in any matching, ranking, or matching surface. Every downstream use requires its own consent row. See the consent model.