ingames

Privacy

inchatgames.com runs Tangle, a 90-second word grid you play in a browser, in ChatGPT or Claude, or from Slack. This page says what the site keeps, what it sends and to whom.

Last updated

In short

On your device

The Tangle page saves a few things in your browser's local storage:

They stay on your device, except as described below. Clearing the site's data in your browser deletes them.

Today's leaderboard

When you finish a round of today's board at /tangle with at least one word, the page sends your random id, your nickname, the board code and the words you found to the server, once per day. The server checks the score against the board and keeps one row: the random id, the nickname (letters only, up to 12), the score, how many words you found, and the time. It doesn't keep the words. Changing your nickname later that day replaces the stored one.

Each UTC day has its own leaderboard. Anyone who opens /tangle that day sees the top 50 nicknames, scores and word counts. Random ids are never shown. With no nickname you show as "Anonymous".

Rows have no expiry date: past days' leaderboards are kept until we delete them. To have your row removed, write to us (below) with the day, your nickname and, if you can, your tangle:player id.

Group leaderboards

The server has group leaderboards at /api/groups/, one per group link, though no page uses one yet. A round sent to a group is checked the same way and kept the same way as a leaderboard row (random id, nickname, score, word count and time, with no expiry), but only in that group. Anyone with the group's link can see that day's top 50 nicknames, scores and word counts in it. Random ids are never shown.

Play and share counts

To see whether people finish rounds and share them, the Tangle page records these events: view when the page opens, challenge when it opens on a challenge with a score, start and finish for a round, and share the first time you press Copy after a round.

Each event sends the event name, the board code, the page's ?ref= tag (where the link came from, like chatgpt or slack), whether it was today's board and whether that was themed, and your random id. Each is kept with its time in Cloudflare Workers Analytics Engine, which Cloudflare documents stores data for three months. Events don't include your nickname, score, IP address or browser details. Your leaderboard row has the same random id, so the two can be matched.

Live rooms

The server has rooms at /rooms/ for playing together live, though no page opens one yet. While players are connected, a room sees each player's id and nickname and the paths they swipe, and passes them to the others in the room. It writes none of it to storage, and forgets a player when they disconnect.

In ChatGPT and Claude

If you add Tangle to ChatGPT or Claude, OpenAI's or Anthropic's servers call inchatgames.com/mcp to open a board. A call carries the board code or challenge you gave the assistant, like KXQ7-412-Ana, or nothing for today's board. The server counts each call to open a board, including one whose board doesn't parse, each time an assistant connects, and each time it loads the board, kept with its time in Cloudflare Workers Analytics Engine for three months. A count holds which assistant called (ChatGPT, Claude or other) and the user agent of OpenAI's or Anthropic's server that made the call. For an opened board it also holds the board code, whether it was today's board and whether that was themed, and whether it came with a score to beat, and for a connection the name the assistant's software gives itself. Counts don't include the name in a challenge, anything else you wrote, your IP address, or any user, conversation or session id. The board in the chat sends nothing to inchatgames.com, so it doesn't post to the leaderboard or count finished rounds or shares.

When a round ends, the board tells the assistant the board code, your score, how many words you found, a friend's name and score if you played their challenge, up to five of the best words you missed, and a challenge link with the code and your score (not your nickname). That becomes part of your conversation, which OpenAI's privacy policy or Anthropic's privacy policy covers.

In Slack

If a workspace installs the Tangle Slack app, Slack sends inchatgames.com/slack/events an event when an inchatgames.com link is posted there, and another when someone opens a Tangle card. The server checks that Slack signed each one. From a posted link it reads only the inchatgames.com links and the ids Slack needs to attach a card, and posts back one card per Tangle link: "Tangle board KXQ7", or "Ana scored 412 on KXQ7. Can you beat it?", taken from the link. When someone opens a card, it sends Slack the same card again to show. The card's Play button opens the game in the browser, at that link: the web game, with the same leaderboard and counts as /tangle.

The app can also show the Tangle page in Slack's side panel, but that's switched off, so today opening a card reads no name. When it's on, opening a card first reads that person's Slack display name, or their real name when the display name is empty, with Slack's users.info, and puts only its first word, in letters, in the page's link so their challenge links carry it. The link also carries Slack's ids for the workspace, channel, message and person, signed by the server and valid for 30 minutes, and the server keeps none of this.

When a workspace adds the app from inchatgames.com/slack/install, the server keeps that workspace's bot token, which Slack issues so the app can post cards there, and its team id. It deletes both when the app is uninstalled or its token is revoked. During the install the site sets one cookie, for 10 minutes, to check that Slack's answer belongs to the install that was started.

The server ignores the rest of each event and keeps nothing else from Slack. It posts only the cards people ask for, for a pasted Tangle link or /inchat tangle. Its only other messages are short replies to /inchat that only the person who typed it sees: how to use the command, or to add the app to a private channel first. Slack's privacy policy covers what Slack does.

Cloudflare

The site runs on Cloudflare, which receives every request, with your IP address and browser details, to serve the pages and protect them. Cloudflare's privacy policy covers that. The site's own code doesn't store IP addresses.

Tangle in Claude as an artifact

Tangle also runs as an artifact on claude.ai. Anthropic hosts that version, so Anthropic's terms and privacy policy cover it, not this page. Its challenge links open /tangle here, which this page covers.

Children

Tangle doesn't ask anyone's age or real name. We don't knowingly collect personal information from children under 13. If a child's personal information is in a leaderboard nickname, write to us and we'll remove it.

Changes

If the site starts keeping or sending something new, this page will say so, and the date at the top will change.

Contact

inchatgames is run by [OPERATOR]. For questions, or to have your leaderboard row removed, write to [CONTACT EMAIL].