← Back to Guesscade

Privacy

Last updated: September 2026

What we do not do

  • We do not persist chat. Messages are evaluated in memory and dropped. Nothing about them reaches the database.
  • We do not log chat text. The server logger emits only method and URL. Bodies are never logged.
  • We do not log credentials. Authorization, cookie and signature headers are redacted. OAuth tokens are never logged.
  • No third-party tracking. No analytics, no advertising pixels, no fingerprinting.

What we store

Only messages that are relevant to a round leave a trace:

  • Twitch user ID — the only stable identity. Used for leaderboard ranking.
  • Display name snapshot — so a winner can be shown on stream.
  • Guess text — only for guesses that scored, so a streamer can show what won.
  • OAuth tokens — encrypted at rest (AES-256-GCM), decrypted only when handed to Twitch.

Ordinary chat leaves no trace whatsoever.

Identity

Twitch user IDs are opaque strings, treated as such. Display names are stored only as snapshots. A user who renames on Twitch keeps their leaderboard position.

Credentials

  • OAuth tokens: encrypted with AES-256-GCM, decrypted only at the moment they are handed to Twitch.
  • Overlay tokens: stored hashed. The plaintext is shown once and cannot be recovered.
  • Session cookie: HttpOnly, SameSite=Lax, Secure in production, signed. Contains only our own user ID.
  • No token of any kind is placed in frontend JavaScript, localStorage, URLs, logs or analytics.

Deletion

Every table that holds viewer data cascades from either users or games. Deleting a streamer's account removes their games, rounds, guesses and scores. A per-viewer deletion path is planned.

Cookies

Guesscade uses only the cookies needed for the site to function — a session cookie for the dashboard login, and localStorage for your gameplay preferences (volume, difficulty, era). No tracking cookies. See the Cookies page for details.