DOC № 003 · PRIVACY

Zásady ochrany osobních údajů

UnityChat · platné od 25. 9. 2026

UnityChat je rozšíření do prohlížeče (Chrome / Edge / Opera / Brave / Firefox), které sjednocuje živý chat z platforem Twitch, YouTube a Kick do jednoho panelu. Tyto zásady popisují, jaké údaje rozšíření a jeho backendová služba zpracovávají, k jakému účelu, jak dlouho a jaká máte práva.

Správce údajů: Jouki (Marek Joukal)
Kontakt: m.joukal+unitychat@gmail.com
Web: https://jouki.cz/UnityChat

1. Jaké údaje zpracováváme

a) Lokálně v prohlížeči (samotné rozšíření)

b) Údaje z Google / YouTube (jen při dobrovolném propojení účtu streamerem)

Pokud se streamer rozhodne propojit svůj YouTube účet (ověření vlastnictví kanálu), přihlásí se stejným přihlášením přes Google OAuth 2.0 jako v bodě 1e (oprávnění https://www.googleapis.com/auth/youtube.force-ssl) a jednorázově načteme výhradně tyto veřejné identifikační údaje vlastního kanálu (volání youtube.channels.list?mine=true):

UnityChat nikdy nečte, nemění ani nemaže obsah vašeho YouTube účtu — žádná videa, komentáře ani odběry. Toto volání používáme výhradně k ověření, že daná osoba kanál skutečně vlastní, a k jeho namapování ve službě.

c) Údaje odesílané na server UnityChat (běžné používání rozšíření)

I bez propojení účtu odesílá rozšíření na api.jouki.cz tyto údaje:

Archiv chatu. Server UnityChat (api.jouki.cz) sám sleduje veřejný live chat podporovaných streamerů — dnes kanálů robdiesalot, tensterakdary a arcadebulls na Twitchi, YouTube a Kicku — a ukládá z něj každou veřejnou zprávu: text zprávy, jméno autora na platformě a jeho identifikátor, čas odeslání, kanál a odznaky či emoty potřebné k zobrazení. Týká se to všech, kdo do těchto chatů píší, nejen uživatelů rozšíření; jde o zprávy, které jsou na platformách veřejně viditelné. Rozšíření si z tohoto archivu načítá historii, aby ukázalo, co v chatu proběhlo před jeho otevřením. Samo rozšíření posílá na server jen zprávy, které po přihlášení napíšete (bod 1e — server je předá platformě), a údaje o příkazech a odpovědích popsané výše.

Archivované zprávy uchováváme bez časového omezení (viz bod 5). Pokud si nepřejete, aby vaše zprávy v archivu byly, napište nám na e-mail uvedený výše a smažeme je.

d) Přihlašovací cookie platformy (Twitch a Kick)

Když z panelu odešlete zprávu, odpovíte na ni nebo ji připnete, přečte rozšíření cookie auth-token, kterou váš prohlížeč pro twitch.tv už má, a použije ji jako autorizační hlavičku požadavku na rozhraní Twitche (gql.twitch.tv). Cookie je HttpOnly, a proto k ní rozšíření přistupuje přes oprávnění chrome.cookies.

Obdobně na Kicku: když z panelu odešlete zprávu nebo na ni odpovíte a když rozšíření zjišťuje, pod jakým jménem jste na Kicku přihlášení, přečte cookie session_token pro kick.com a pošle ji jako autorizační hlavičku požadavku na rozhraní Kicku (kick.com/api).

Tokeny neukládáme, nezapisujeme do logů a neodesíláme nikam jinam než na platformu, které patří (Twitch, resp. Kick). Bez tohoto oprávnění by z panelu nešlo odesílat zprávy.

e) Přihlášení diváka a odesílání zpráv (rozšíření i webová verze na robdiesalot.com)

Kromě rozšíření existuje webová verze UnityChatu (dnes na robdiesalot.com/chat). Chat lze číst bez přihlášení. Pokud chcete psát (na webu i v rozšíření), přihlásíte se u zvolené platformy přes OAuth 2.0 — Twitch, Kick nebo Google / YouTube — v samostatném okně přímo u platformy. UnityChat nikdy nevidí vaše heslo. Od platformy získáme:

Tokeny používáme výhradně k odeslání zprávy, kterou sami napíšete a odešlete, do živého chatu daného streamera vaším jménem (Twitch API chat/messages, Kick API chat, YouTube API liveChatMessages.insert). U Googlu nás oprávnění youtube.force-ssl opravňuje jen k tomu, co uděláte v okně chatu: nikdy nečteme vaše soukromé údaje, videa, komentáře, odběry ani historii, nic nemažeme, neměníme a nezveřejňujeme sami od sebe. Před odesláním zprávy přidáváme na její konec neviditelný znak, podle kterého ostatní uživatelé UnityChatu poznají, že zpráva přišla z UnityChatu.

Tokeny jsou uloženy šifrovaně (bod 3), přihlášení na webu drží náhodný klíč relace v úložišti vašeho prohlížeče (30 dní od posledního použití). Odhlásit se nebo odpojit platformu můžete kdykoli v nabídce u pole pro psaní; přístup lze odebrat i přímo u platformy (u Googlu na myaccount.google.com/permissions).

f) E-mail a dary přes QR kód (Židolišta)

UnityChat umožňuje poslat streamerovi dar bankovním převodem přes QR kód. Dar zpracovává služba Židolišta, kterou provozuje stejný správce (Jouki) pro streamera. E-mail nečteme z účtů platforem — zadáte ho sami:

Tyto údaje předáváme Židolišti, která z nich vytvoří platební údaje pro QR kód (číslo účtu streamera, variabilní symbol, částka), po připsání platby na účet streamera ji podle variabilního symbolu spáruje s darem a dar zobrazí či přečte na streamu. E-mail slouží k ověření, že dary pocházejí od vás, a k propojení vašich darů s účtem. Neposíláme na něj reklamu. Platbu samotnou provádíte ve své bance; UnityChat ani Židolišta nezpracovávají platební karty ani přístupy k bankovnictví.

Ověřovací kódy rozesíláme přes poskytovatele e-mailových služeb Brevo (Francie, EU). Poskytovatel dostane jen adresu příjemce a text zprávy s kódem (bez odkazů). U nás se ukládá jen otisk (hash) kódu; ověřovací kód Židolišta nedostává. Pro ochranu před zneužitím evidujeme u každého odeslaného kódu adresu, otisk IP adresy (ne IP samotnou), použitou službu a čas.

g) Moderace chatu

Moderátoři kanálu mohou z UnityChatu (a z dashboardu Židolišty) mazat nebo skrývat zprávy, dávat timeout a ban, varovat a měnit přezdívky. Každou takovou akci evidujeme: kdo ji provedl, vůči komu (platforma, ID a login), jaká akce, případný důvod, délka a výsledek na platformách. Smazaná zpráva zůstává v archivu (kvůli kontrole moderace), ostatním se ale nezobrazuje. Varování uživateli UnityChatu uložíme k jeho účtu i s časem potvrzení. Tyto záznamy slouží jen k moderaci a jejímu dohledu; smazání můžete požádat stejně jako u ostatních údajů.

Moderátor kanálu si u uživatele, který v tomto kanálu psal, může otevřít Chat historii: jeho zprávy z našeho archivu veřejného chatu, kdy jsme ho poprvé a naposledy viděli, počet zpráv, platformy propojené s jeho účtem UnityChatu a moderační záznamy z tohoto kanálu. Pokud tentýž uživatel psal i v chatu jiného kanálu, který archivujeme, vidí moderátor i tyto zprávy (jde o veřejný chat). Obsah smazaných a skrytých zpráv se v Chat historii nezobrazuje.

GIFy v chatu. Když uživatel s odemčenou odměnou pošle do chatu odkaz na GIF, stáhneme ho na náš server a (po schválení moderátorem) zobrazíme v UnityChatu. Pokud web s GIFem přímé stažení blokuje ochranou proti botům, stáhne ho za nás služba Bright Data (Web Unlocker); předáváme jí jen adresu toho veřejného odkazu, žádné údaje o uživateli ani text zprávy.

2. K čemu údaje používáme

Použití a přenos informací získaných z rozhraní Google API ze strany UnityChat se řídí Google API Services User Data Policy, včetně požadavků na omezené použití (Limited Use).

3. Uložení a zabezpečení

4. Sdílení s třetími stranami

Vaše údaje neprodáváme a nesdílíme s třetími stranami za účelem reklamy ani profilování. Údaje předáváme pouze poskytovatelům nezbytné infrastruktury (hosting, rozesílání ověřovacích e-mailů — bod 1f), kteří je zpracovávají naším jménem. Údaje o daru dostává služba Židolišta téhož správce. Na streamu se ukazuje jen přezdívka, částka a zpráva daru; údaje o daru včetně e-mailu vidí streamer, pro kterého dar posíláte, v administraci Židolišty.

5. Doba uchování a smazání

Údaje propojeného účtu (streamer i divák ve webové verzi, bod 1e) uchováváme, dokud je propojení aktivní — do odhlášení, odpojení platformy nebo žádosti o smazání; relace webu vyprší 30 dní od posledního použití. O smazání svých údajů a odvolání přístupu můžete kdykoli požádat na m.joukal+unitychat@gmail.com. Přístup udělený UnityChatu můžete také kdykoli odebrat ve svém Google účtu na stránce myaccount.google.com/permissions.

Uživatelská jména, handly kanálů a přezdívky podle bodu 1c) uchováváme bez časového omezení — dokud nepožádáte o jejich smazání, nebo dokud je sami neodstraníme jako nepotřebné. O výmaz můžete kdykoli požádat na e-mailu uvedeném výše.

Ověřený e-mail uchováváme u účtu, dokud ho nezměníte nebo nepožádáte o smazání účtu či e-mailu (zatím na e-mailu uvedeném výše, samoobslužné smazání v aplikaci připravujeme). Ověřovací kód platí 10 minut (nejvýše 5 pokusů); jeho záznam mažeme po ověření, nejpozději den po vypršení. Evidenci odeslaných kódů (bod 1f) držíme 30 dní. Záznamy o darech uchovává Židolišta pro evidenci darů streamera; o jejich smazání můžete požádat na stejném e-mailu.

Zprávy v archivu chatu (bod 1c) uchováváme rovněž bez časového omezení — dokud nepožádáte o smazání svých zpráv, nebo dokud archiv sami nepromažeme. Na žádost smažeme všechny zprávy daného autora.

6. Vaše práva (GDPR)

Jako subjekt údajů máte právo na přístup, opravu, výmaz, omezení zpracování a přenositelnost svých údajů. Pro uplatnění práv nás kontaktujte na m.joukal+unitychat@gmail.com.

7. Změny těchto zásad

Tyto zásady můžeme aktualizovat. Datum platnosti je uvedeno v záhlaví. Podstatné změny oznámíme na stránce projektu.

Privacy Policy

UnityChat · effective 25 September 2026

UnityChat is a browser extension (Chrome / Edge / Opera / Brave / Firefox) that merges live chat from Twitch, YouTube and Kick into a single panel. This policy describes what data the extension and its backend service process, for what purpose, for how long, and what your rights are.

Data controller: Jouki (Marek Joukal)
Contact: m.joukal+unitychat@gmail.com
Website: https://jouki.cz/UnityChat

1. What data we process

a) Locally in your browser (the extension itself)

b) Google / YouTube data (only when a streamer voluntarily links their account)

If a streamer chooses to link their YouTube account (channel-ownership verification), they sign in with the same Google OAuth 2.0 sign-in as in point 1e (scope https://www.googleapis.com/auth/youtube.force-ssl) and we make a single call (youtube.channels.list?mine=true) to read only the following public identifiers of the user's own channel:

UnityChat never reads, modifies or deletes any content of your YouTube account — no videos, comments or subscriptions. We use this call solely to verify that the person actually owns the channel and to map it within the service.

c) Data sent to the UnityChat server (ordinary use of the extension)

Even without linking an account, the extension sends the following to api.jouki.cz:

Chat archive. The UnityChat server (api.jouki.cz) itself listens to the public live chat of the supported streamers — currently the channels robdiesalot, tensterakdary and arcadebulls on Twitch, YouTube and Kick — and stores every public message from them: the message text, the author's platform username and identifier, the time it was sent, the channel, and the badges or emotes needed to display it. This covers everyone who writes in those chats, not only users of the extension; these are messages that are publicly visible on the platforms. The extension reads history from this archive to show what happened in chat before it was opened. The extension itself sends the server only the messages you write while signed in (point 1e — the server passes them to the platform) and the command and reply details described above.

Archived messages are kept without a time limit (see section 5). If you do not want your messages to be in the archive, e-mail us at the address above and we will delete them.

d) Platform login cookies (Twitch and Kick)

When you send, reply to or pin a message from the panel, the extension reads the auth-token cookie your browser already holds for twitch.tv and uses it as the authorization header on a request to Twitch's own API (gql.twitch.tv). The cookie is HttpOnly, which is why the extension accesses it through the chrome.cookies permission.

Likewise on Kick: when you send or reply to a message from the panel, and when the extension detects which Kick account you are logged in with, it reads the session_token cookie for kick.com and uses it as the authorization header on a request to Kick's own API (kick.com/api).

We do not store these tokens, never write them to logs, and never send them anywhere except the platform they belong to (Twitch or Kick). Without this permission, sending messages from the panel would not work.

e) Viewer sign-in and sending messages (extension and the web version at robdiesalot.com)

Besides the extension there is a web version of UnityChat (currently at robdiesalot.com/chat). The chat can be read without signing in. If you want to write (on the web or in the extension), you sign in with the platform of your choice via OAuth 2.0 — Twitch, Kick or Google / YouTube — in a separate window hosted by that platform. UnityChat never sees your password. From the platform we receive:

We use the tokens solely to post the message you yourself type and send into the streamer's live chat on your behalf (Twitch API chat/messages, Kick API chat, YouTube API liveChatMessages.insert). With Google, the youtube.force-ssl scope is used only for what you do in the chat window: we never read your private data, videos, comments, subscriptions or history, and we never delete, modify or publish anything on our own. Before sending, we append an invisible character to the message so other UnityChat users can tell it came from UnityChat.

Tokens are stored encrypted (section 3); the web sign-in is kept as a random session key in your browser's storage (30 days from last use). You can sign out or unlink a platform at any time from the menu next to the message box; access can also be revoked directly at the platform (for Google at myaccount.google.com/permissions).

f) E-mail and donations via QR code (Židolišta)

UnityChat lets you send the streamer a donation by bank transfer via a QR code. Donations are processed by Židolišta, a service run for the streamer by the same data controller (Jouki). We do not read your e-mail from platform accounts — you enter it yourself:

We pass this data to Židolišta, which creates the payment details for the QR code (the streamer's account number, variable symbol, amount), matches the payment to the donation by its variable symbol once it arrives in the streamer's account, and shows or reads the donation on stream. The e-mail is used to confirm that donations come from you and to link your donations to your account. We do not send you marketing. You make the payment itself in your own bank; neither UnityChat nor Židolišta processes payment cards or banking credentials.

Verification codes are sent through the e-mail provider Brevo (France, EU). The provider only receives the recipient address and the message with the code (no links). We store only a fingerprint (hash) of the code; Židolišta never receives the verification code. To prevent abuse we log, for each code sent, the address, a fingerprint of the IP address (not the IP itself), the provider used and the time.

g) Chat moderation

Channel moderators can delete or hide messages, time out and ban users, issue warnings and change nicknames from UnityChat (and from the Židolišta dashboard). We log every such action: who did it, against whom (platform, ID and login), which action, the optional reason, the duration and the result on the platforms. A deleted message stays in the archive (for moderation oversight) but is not shown to others. A warning to a UnityChat user is stored with their account together with the time it was acknowledged. These records are used only for moderation and its oversight; you can request deletion the same way as for other data.

A channel moderator can open the Chat history of a user who wrote in that channel: their messages from our archive of the public chat, when we first and last saw them, the message count, the platforms linked to their UnityChat account and the moderation records from that channel. If the same user also wrote in the chat of another channel we archive, the moderator sees those messages too (it is a public chat). The content of deleted and hidden messages is not shown in Chat history.

GIFs in chat. When a user with the unlocked reward posts a GIF link in chat, we download it to our server and (after moderator approval) show it in UnityChat. If the site hosting the GIF blocks direct downloads with bot protection, the Bright Data service (Web Unlocker) downloads it for us; we only pass it the address of that public link, no user data or message text.

2. How we use the data

UnityChat's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

3. Storage and security

4. Sharing with third parties

We do not sell your data and do not share it with third parties for advertising or profiling. We only pass data to providers of essential infrastructure (hosting, sending verification e-mails — point 1f) who process it on our behalf. Donation details go to Židolišta, a service of the same controller. Only the nickname, amount and message are shown on stream; the streamer you donate to can see the donation details including your e-mail in the Židolišta administration.

5. Retention and deletion

We keep linked-account data (streamers and, in the web version, viewers — point 1e) for as long as the link is active — until you sign out, unlink the platform or ask for deletion; web sessions expire 30 days after last use. You can request deletion of your data and revocation of access at any time at m.joukal+unitychat@gmail.com. You can also revoke the access granted to UnityChat at any time in your Google Account at myaccount.google.com/permissions.

Usernames, channel handles and nicknames under point 1c) are kept without a time limit — until you ask us to delete them, or until we remove them ourselves as no longer needed. You can request erasure at any time at the e-mail address above.

We keep your verified e-mail with your account until you change it or ask for the account or e-mail to be deleted (for now at the e-mail address above; self-service deletion in the app is being prepared). A verification code is valid for 10 minutes (at most 5 attempts); its record is deleted after verification, at the latest one day after it expires. The log of sent codes (point 1f) is kept for 30 days. Donation records are kept by Židolišta as the streamer's donation records; you can ask for their deletion at the same e-mail address.

Messages in the chat archive (point 1c) are likewise kept without a time limit — until you ask us to delete your messages, or until we prune the archive ourselves. On request we delete all messages of a given author.

6. Your rights (GDPR)

As a data subject you have the right to access, rectify, erase, restrict the processing of, and port your data. To exercise these rights, contact us at m.joukal+unitychat@gmail.com.

7. Changes to this policy

We may update this policy. The effective date is shown in the header. We will announce material changes on the project page.