Privacy policy
Last updated: 10 October 2026. Published at yapp.chat.
Yapp Chat is a browser extension that shows Twitch, Kick and YouTube live chat. In short:
- It doesn't track you, and sells or shares nothing. There are no ads, no analytics and no Yapp Chat account.
- It talks only to the services below, and only to show the chats you open.
- Everything it keeps stays in your browser, with one exception: when you sign in to Twitch or Kick, that account's public ID is registered with yapp.chat, with a name paint or badge if you pick one. That's how Yapp Chat's own paints and badges work.
- Its server is a small sign-in helper, which stores nothing, and the paints and badges: it's asked which of the people in a chat have one, and keeps no record of the asking.
- It's open source, so you can check all of this in its code: yapp.chat/github.
What it connects to
- Twitch (
irc-ws.chat.twitch.tv,eventsub.wss.twitch.tv,gql.twitch.tv,id.twitch.tv,api.twitch.tv). Chat, and Twitch's public information: whether a channel is live and how many watch, channel search, clips, the names of a channel's point rewards, its prediction, poll and pinned message, and public profiles (for user cards, for the name you rest the pointer on, and your picture in Settings). Signed out, chat is read anonymously. Signed in, it also sends your messages, loads badge images and your emotes, suggests live channels you follow, asks since when you follow a channel whose chat is followers-only (to show whether you can chat there), and carries out your mod actions and the commands you type (a clip, blocking someone, a whisper; in your own channel moderators, VIPs, raids, ad breaks and stream markers). In channels you moderate it can show since when someone follows, and it hears from Twitch what moderators do there, the messages AutoMod holds and which users Twitch finds suspicious, to show them in the chat; and when you ask, who's in the chat. Signing in goes through the sign-in helper below, so that it renews itself. - Kick (
kick.com,web.kick.com,ws-us2.pusher.com,id.kick.com,api.kick.com). The Kick chats you open, their emotes and live status, their prediction, poll and pinned message, channel search, and the profiles of people whose user card you open or whose name you rest the pointer on. Signed in, it also learns your name and picture, sends your messages and carries out your mod actions. - Yapp Chat's sign-in helper (
yapp.chat). Only when you sign in to Twitch or Kick, and when that sign-in renews itself. Both platforms require the app's secret for this, and the secret can't ship inside an extension. So your one-time sign-in code, and every few hours the code that renews it, pass through this helper on their way to Kick or Twitch. It adds the secret and returns the answer to you, with a small pass that says which account it is (your account's ID, good for a day), for the paints and badges below. It stores and logs nothing. Like any website, it sees your IP address (through Cloudflare). - Cloudflare's check (
challenges.cloudflare.com). Not in the extension: only onyapp.chat/verify, the page you're sent to when you join our Discord server, which shows Cloudflare's Turnstile to tell people from bots. It's the one page of the website that loads anything from someone else. Passing it tells our service which Discord member to let in; nothing is kept of it. - Discord (
discord.com). Only if you link Discord in Settings: its sign-in window, for who you are there. Nothing else is asked of Discord from your browser. - Yapp Chat's paints and badges (
yapp.chat). While a chat is open, Yapp Chat asks its own service which of the people chatting there have a name paint or badge: it sends their public account IDs, in batches, as people chat. So our server sees the IDs of people in the chats you have open, and, like any website, your IP address (through Cloudflare). It doesn't store or log either, and it isn't told the channel or who you are. About once a day Yapp Chat also asks the service for the list of paints and badges there are (the same list for everyone, with the badges' pictures in it), so new ones show without an update; nothing about you is sent with it. When you're signed in to Twitch or Kick, that account is registered with the service once (again when you open Settings, to see which badges are yours, and once while a seasonal event runs, to be given its badge), and so is each paint or badge you pick: the pass from the sign-in helper is sent along, which says whose account it is and can do nothing but that. Your sign-in itself (which could chat as you) isn't sent to this service. (Versions before 1.0.31 sent the sign-in, which the service showed to the platform to learn whose it was, and dropped.) Turn all of this off in Settings (Appearance → Name paints and extra badges). - YouTube (
www.youtube.com). A stream's live chat, start time and viewer count, as YouTube's own chat pop-out loads them. These requests go without your YouTube cookies, except when YouTube shows its cookie-consent page (common in the EU): then the page is loaded again with your cookies, so the choice you already made there applies. - Emotes, badges and name paints (
api.betterttv.net,api.frankerfacez.com,7tv.io,events.7tv.io). The emotes and badges for the channels you open. 7TV learns which Twitch channels you open, to send their name paints. Each service can be turned off in Settings. - Recent messages (
recent-messages.robotty.de). A Twitch chat's last messages when you open it, so it doesn't start empty, and for a user card in a channel the chat logs don't cover. The service learns which channel you opened. Turn it off in Settings (Show recent messages). - Chat logs (
logs.ivr.fi,logs.spanix.team,logs.susgee.dev). When you open someone's user card in a Twitch chat: their earlier messages in that channel and their earlier names, from these public logs. These services learn whose card you opened, and what you search for in it. Turn it off in Settings (Chat logs in user cards). - Pictures and link previews. Emotes, badges and profile pictures load from the image servers of the services above. Pointing at a link to a YouTube video or Twitch clip asks YouTube or Twitch for its title and thumbnail.
- Live notifications, only if you turn them on: every 2 minutes, Twitch's list of the live channels you follow.
- The same streamer on other platforms. When you open a chat of one channel, Yapp Chat asks Twitch, Kick and YouTube whether a channel of the same name (or, for YouTube, the one on their Kick profile) is live there too, to offer combining the chats. Those services learn which name was looked up. Turn it off in Settings (Offer to combine a streamer's chats).
What it reads in your browser
Only the address of your tabs on twitch.tv, kick.com and youtube.com, so a tab's side panel can show that stream's chat. On those sites a small script waits for your first click and checks whether the page is a live stream, to open the side panel (you can turn this off in Settings). On twitch.tv it also adds a Yapp Chat button to the top bar, which opens the side panel (off in Settings too): that's the only thing it adds to a page. It doesn't read what's on the page or what you type there.
What it keeps
All of it stays in your browser's storage for the extension:
- Your settings and private notes, including highlight words, people you hid, friends, your nicknames for people, favourite emotes, the chats in the chat window, and your notes about people. They're in synced storage, so they follow your browser profile if you use browser sync (notes that outgrow it stay on this device).
- Your sign-ins, on this device only: the access token and the refresh token that renews it, your name, user ID and Kick profile picture, and the app's Client ID. Signing out revokes the token with Twitch or Kick and removes it.
- The emotes you've used (for Recent), on this device only.
- The mentions inbox, on this device only: the last 100 messages that mention you, or a highlight word if you chose (who sent each, the channel and its picture, and when). Settings → Privacy & data clears it.
- Until the browser closes: which followed channels were already live (for live notifications).
Chat messages are kept in memory only while a chat is open.
One thing is kept on yapp.chat, for each Twitch or Kick account you sign in with (while Name paints and extra badges is on in Settings → Appearance): the account's public user ID, when it joined and its number in that order (the first 420 are founders), the badges and paints it was given and when (Halloween's badge, for being signed in during it), and the name paint and badge you picked, if any. Nothing else goes with it: no name, no email, no sign-in. Anyone's Yapp Chat can ask whether your account has a paint or badge (that's how it draws your name), so treat those as public. Picking None removes a paint or badge; to have your account removed altogether, email us.
If you link Discord (Settings → Accounts → Link Discord, for the Booster badge and paint you get while you boost Yapp Chat's Discord server): you sign in to Discord, which tells us who you are there and nothing else. That sign-in passes through yapp.chat once, to learn your Discord account's ID and username, and is then dropped; those two are kept beside your Twitch or Kick account's ID (the username so that Settings can say which account you linked: it's told to your own account only). Yapp Chat's bot in that Discord server sees who boosts it, as any member of the server can. Unlink removes the link.
Your choices
Reading chat needs no sign-in, and you can sign out at any time. Each optional service above can be turned off in Settings, and Settings → Privacy & data clears your notes, emote history and mentions. It can also export your settings, notes and emote history to a file on your computer, to load on another device; nothing is uploaded. Uninstalling the extension removes everything it kept in your browser (your account's entry on yapp.chat stays until you ask us to remove it).
Contact
Questions about this policy: email [email protected].