Privacy Policy

Effective date: October 12, 2026
Last updated: October 13, 2026
Operator: Harrison Hunnicutt (“Statsdle”, “we”, “us”)
Contact: harrison.hunnicutt22@gmail.com

This notice describes Statsdle version 1.0.1: the Chrome extension, the website at https://www.statsdle.com, and the optional StatsdleBot on Discord and on Slack. It matches the Chrome Web Store privacy disclosure for that version.

1. Summary

Statsdle records your own daily browser-game results and shows today’s checklist, your history, and your streaks. An account is optional. The extension works without one.

  • On the device, results and settings stay in the browser’s local extension storage.
  • If you sign in, finished results from a normal window are saved to your account, along with share text, notes, your profile, friends, and reactions.
  • Results in a private (incognito) window stay on that device and are not uploaded.
  • Scrubbed crash reports may be sent to Sentry. They do not include results, share text, notes, page URLs, or email.
  • The website at www.statsdle.com uses Google Analytics (measurement ID G-EYXSYYTXE7) to understand site usage. It collects page views, device and browser information, approximate location, and cookies. The extension does not.
  • The Discord bot does not read message content. Connect Discord stores your Discord user id, username, and display name in discord_links. /statsdle private saves that person’s own default on discord_links.reply_private. A private option on another command changes only that reply. Later commands use the saved default when private is left out. The default is a public reply. A slash command also includes the server (guild) id where you used it. Scores from /statsdle log or /statsdle paste are saved with source 'discord'.
  • The Slack bot does not read message content. It only receives the /statsdle command you send. Connect Slack stores your Slack workspace id (team_id), user id, username, and display name in slack_links, plus an optional nickname and your public-or-private reply choice (reply_private). /statsdle private true or false saves that choice for you alone. A trailing private or public on another command changes only that reply. Later commands use the saved default when it is left out. The default is a public reply. Scores from /statsdle log or /statsdle paste are saved with source 'slack'. A workspace install stores that workspace’s bot token in slack_installations, keyed by workspace id. Only the server can read that table.
  • We do not sell personal data. We do not show ads. We do not use data to decide credit.

2. Data stored on your device

The extension stores data in chrome.storage.local. It does not use chrome.storage.sync, so this data is not copied to Google’s sync servers.

| Data | Examples | Leaves the device? | | --- | --- | --- | | Game results | Game, puzzle date, solved or failed, guesses, score, time | Only a finished result from a normal window, and only after you sign in | | Share text and notes | Share card you paste, note you add to a result | With that finished result, after you sign in | | Settings | Theme, which games count toward your streak, reminder time, debug-logging toggle | No | | Capture log | Optional log if you turn debug logging on | No | | Reminder schedule | The optional daily reminder, after you turn it on | No |

The extension reads the open page of a supported game only to tell that you finished and to read the result. The page itself is not uploaded. Statsdle does not read browsing history outside those game pages.

You can delete on-device results with Clear all local results on the extension options page. Removing the extension, or clearing its storage in Chrome, removes the local copy.

3. Optional account

You can use Statsdle without an account. If you create one:

  • Email and password are handled by Supabase. Supabase stores the account and checks the password.
  • Email codes are delivered by Resend. Resend receives the address the code is sent to and the message that carries the code. Resend does not receive your password.
  • Google sign-in is off unless that website or extension build turns it on. When it is on, it runs only if you choose Continue with Google. Google receives that sign-in only in that case. An email code does not use Google.

The extension and the website ask for your email and password, then send the email code.

4. What an account syncs

Signing in from a normal window uploads finished results. Incognito results and unfinished results stay on the device.

The account, stored in Supabase, can include:

  • Finished game results (game, puzzle, date, score, guesses, time, and whether you solved it)
  • Share text you pasted, and notes on those results
  • Your profile: username, display name, avatar, theme, showcase, whether friends can see your streaks, and whether a result is visible to friends or only to you
  • If you choose Connect Discord: your Discord user id, username, and display name, stored in discord_links and linked to this account (section 5)
  • If you choose Connect Slack: your Slack workspace id, user id, username, display name, and optional nickname, stored in slack_links and linked to this account (section 6)
  • Friends: requests, accepted friends, and blocks
  • Reactions on results
  • Groups you create or join (the group name and who is in it)

The website that shows this account is hosted on Vercel. Vercel serves the pages you open. Your game history lives in the Supabase account, not as a separate Vercel database.

Friends can see a result when you leave it visible to friends. Private results stay on the account and are not shown to friends.

5. Discord bot

The Statsdle Discord bot is optional. It answers slash commands. It does not read message content. It does not see ordinary messages in a channel. It only receives the slash command you send.

When you use a command in a server, that request includes:

  • Your Discord user id
  • Your Discord username and display name
  • The server (guild) id of the server where you used the command

Connect Discord is OAuth. If you approve it, Statsdle stores your Discord user id, username, and display name in discord_links, linked to your Statsdle account. If you pass private as true or false, that choice is saved on the same row and used the next time you omit it. The guild id is part of the command request. It is not stored in discord_links.

A score you save with /statsdle log or /statsdle paste is written to your account with source 'discord'.

To unlink Discord, open Settings, choose Setup, and choose Disconnect, or run /statsdle unlink. That deletes the discord_links row. It does not delete scores. Delete account removes the link and your scores, including scores saved with source 'discord'.

6. Slack bot

The StatsdleBot Slack bot is optional. Its display name is StatsdleBot. The slash command is /statsdle. It does not read message content. It does not see ordinary messages in a channel. It only receives the slash command you send.

When you use a command, that request includes:

  • Your Slack user id
  • Your Slack username
  • The workspace (team) id where you used the command
  • The channel id of the channel where you used the command
  • The command text

Connect Slack is a signed link from /statsdle link, not a separate Slack OAuth screen. If you open that link while signed in on statsdle.com, Statsdle stores your workspace id, Slack user id, username, and display name in slack_links, linked to your Statsdle account. A display name is read with Slack users:read using that workspace’s bot token. /statsdle private true or false saves your own default on that row as reply_private. A trailing private or public on another command changes only that reply. The saved default is used the next time you omit it. /statsdle nickname saves an optional nickname on that row. The nickname is shown in replies when it is set. The channel id is part of the command request. It is not stored in slack_links. When a workspace admin installs StatsdleBot, the bot token for that workspace is stored in slack_installations. Only the server, using the service role, can read that table. A signed-in user cannot.

A score you save with /statsdle log or /statsdle paste is written to your account with source 'slack'. A successful log or paste is posted in the channel and names you. Link, unlink, errors, and nickname confirmations are visible only to you.

To unlink Slack, open Settings, choose Setup, and choose Disconnect on Slack, or run /statsdle unlink. That deletes the slack_links row. It does not delete scores. Delete account removes the link and your scores, including scores saved with source 'slack'.

7. Error monitoring

The extension, the website, the Discord bot, and the Slack bot send scrubbed crash reports to Sentry (Functional Software, Inc.) so failures can be fixed. A report can include a stack trace, the version, and an environment tag such as production or development. Before a report is sent, Statsdle removes email addresses, page URLs, game results, share text, and notes. Session replay is off. Content scripts on game pages do not load Sentry.

8. Website analytics

The website at www.statsdle.com uses Google Analytics 4 (Measurement ID G-EYXSYYTXE7) to understand how the site is used. The Chrome extension does not load Google Analytics.

Google Analytics collects:

  • Usage and page views, including when you move from one page to another without a full reload
  • Device and browser information
  • Approximate location, derived from the IP address
  • Cookies that Google Analytics sets in the browser

Statsdle does not send game results, share text, notes, or your email address to Google Analytics. The purpose is understanding site usage. This is not advertising, and it is not used to show ads.

The Chrome Web Store and Chrome may collect their own install and usage data under Google’s privacy policy; Statsdle only sees those as aggregate totals.

How Google handles that data is described in Google’s privacy policy. You can opt out of Google Analytics with the Google Analytics Opt-out Browser Add-on.

9. What we do not do

  • We do not sell personal data.
  • We do not show ads, and we do not use data for advertising.
  • We do not use game results, share text, or notes for purposes unrelated to recording and showing your results, including friends and reactions you choose to use.
  • We do not use data for creditworthiness or lending.
  • We do not collect payments, precise location, your contacts, or advertising identifiers.

10. Who receives data

| Recipient | What they receive | Why | | --- | --- | --- | | Supabase | Email, password (as the sign-in secret), account id, and the synced data in section 4 | Optional account and sign-in | | Resend | The email address a code is sent to, and that code email | Deliver the email code | | Google | The Google sign-in, only if that build has it turned on and you choose it | Optional Google sign-in | | Google Analytics | Page views, device and browser information, approximate location, and cookies from www.statsdle.com | Understand site usage | | Sentry | Scrubbed crash reports | Fix failures | | Vercel | The request needed to load a page you open | Host the website | | Discord | The Discord user id, username, and display name you approve with Connect Discord, stored in discord_links, plus your saved public-or-private reply choice; the server (guild) id where you use a command; and the score text of /statsdle log or /statsdle paste, saved with source 'discord' | Optional account link and scores you log from Discord | | Slack | The Slack workspace id, user id, username, and display name from Connect Slack, stored in slack_links, plus an optional nickname and your saved public-or-private reply choice; the workspace bot token stored in slack_installations, readable only by the server; the channel id where you use a command; and the score text of /statsdle log or /statsdle paste, saved with source 'slack' | Optional account link and scores you log from Slack | | Friends you accept | Profile fields and results you leave visible to friends, and reactions | The friends feature

We do not sell data to these recipients.

11. Deletion

To unlink Discord without deleting scores, open Settings, choose Setup, and choose Disconnect, or run /statsdle unlink. That deletes the discord_links row. Scores stay, including scores saved with source 'discord'.

To unlink Slack without deleting scores, open Settings, choose Setup, and choose Disconnect on Slack, or run /statsdle unlink. That deletes the slack_links row. Scores stay, including scores saved with source 'slack'.

On the website, open Settings, choose Setup, type your username, and choose Delete account. That deletes the Supabase user. The profile, game results, share text, notes, friends, reactions, groups, and the discord_links and slack_links rows tied to the account are removed with it. Scores saved with source 'discord' or source 'slack' are removed with the other results.

A copy can remain in the extension on a device until you use Clear all local results or remove the extension. Crash reports already sent to Sentry do not contain your results, share text, notes, or email.

12. Children

Statsdle is for people 13 and older. We do not knowingly collect personal information from children under 13.

13. Your rights

Depending on where you live, including the EEA, the UK, and California, you may have rights to access, correct, delete, or export personal information, or to object to certain processing. Use Delete account for the hosted account and Clear all local results for the extension. You can also write to harrison.hunnicutt22@gmail.com.

14. Security

Local results stay in the browser profile. Account data is stored by Supabase. Access rules limit account rows to you and, for a result you leave visible to friends, to friends you have accepted. No method of storage or transmission is perfectly secure.

15. Third-party games

Statsdle reads your result on a game’s own page, or share text you paste. Those sites have their own privacy policies. Statsdle is not affiliated with The New York Times, LinkedIn, or the makers of any game it can record.

16. Changes

We may update this policy. When we do, the effective date and the last updated date at the top will change.

17. Contact

Harrison Hunnicutt
harrison.hunnicutt22@gmail.com