Zásady ochrany osobních údajů
UnityChat je rozšíření do prohlížeče (Chrome / Edge / Opera / Brave), 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.
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í)
- Konfigurace rozšíření (sledované kanály, uživatelské jméno, rozložení panelu) — uloženo přes
chrome.storageve vašem prohlížeči. - Lokální cache posledních chat zpráv pro plynulé načtení panelu — uloženo lokálně ve vašem prohlížeči.
- Rozšíření nesbírá telemetrii a tyto lokální údaje neodesílá na server, pokud to není výslovně uvedeno níže.
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),
požádáme přes Google OAuth 2.0 o oprávnění
https://www.googleapis.com/auth/youtube.readonly a jednorázově načteme
výhradně tyto veřejné identifikační údaje vlastního kanálu (volání
youtube.channels.list?mine=true):
- ID kanálu (např. UCxxxxxxxx),
- handle kanálu (např. @nazev),
- název kanálu,
- URL profilové ikony (avatar).
Oprávnění youtube.readonly je pouze pro čtení. UnityChat nikdy nečte, nemění
ani nemaže obsah vašeho YouTube účtu — žádná videa, komentáře ani odběry. Používáme jej
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:
- Vaše uživatelské jméno na platformě — jednorázově poté, co ho rozšíření rozpozná v otevřeném tabu (Twitch / YouTube / Kick). Slouží k tomu, aby panel poznal vaše vlastní zprávy napříč platformami.
- Handle sledovaného kanálu — při připojení chatu k danému kanálu. Slouží k propojení kanálů téhož streamera napříč platformami v adresáři služby.
- Přezdívky a barvy, které sami nastavíte jiným uživatelům — ukládají se na server, aby byly sdílené mezi všemi uživateli rozšíření.
Obsah chatu se dnes na server neodesílá — historie zpráv zůstává v lokální mezipaměti prohlížeče. Připravujeme funkci archivu chatu, která bude veřejné chatové zprávy ukládat i na serveru; zatím není aktivní a před jejím spuštěním zde doplníme podrobnosti o jejím rozsahu a době uchování.
d) Přihlašovací cookie platformy (pouze Twitch)
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.
Token neukládáme, nezapisujeme do logů a neodesíláme nikam jinam než na Twitch — tedy zpět službě, které patří. Bez tohoto oprávnění by z panelu nešlo odesílat zprávy.
2. K čemu údaje používáme
- Ověření vlastnictví YouTube kanálu při dobrovolném propojení účtu streamerem.
- Propojení identit téhož streamera napříč platformami (Twitch / YouTube / Kick) v adresáři služby.
- Zobrazení názvu a ikony kanálu v uživatelském rozhraní.
- Rozpoznání vašich vlastních zpráv napříč platformami.
- Sdílení přezdívek a barev mezi uživateli rozšíření.
- Odeslání zprávy, odpovědi nebo připnutí na Twitchi vaším jménem.
3. Uložení a zabezpečení
- Identifikační údaje kanálu a OAuth tokeny se ukládají na našem backendu — databáze PostgreSQL na serveru v EU (Hetzner Online, Norimberk, Německo).
- OAuth přístupové a obnovovací tokeny jsou šifrovány (AES-256-GCM); šifrovací klíč je uložen odděleně v zabezpečeném úložišti tajemství serveru.
- Tokeny se nikdy nevracejí přes API, neukládají do logů ani do veřejného repozitáře kódu.
- Veškerá komunikace mezi rozšířením a backendem probíhá přes HTTPS.
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), kteří je zpracovávají naším jménem.
5. Doba uchování a smazání
Údaje propojeného účtu uchováváme, dokud je propojení aktivní. 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.
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 is a browser extension (Chrome / Edge / Opera / Brave) 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.
Contact: m.joukal+unitychat@gmail.com
Website: https://jouki.cz/UnityChat
1. What data we process
a) Locally in your browser (the extension itself)
- Extension configuration (followed channels, username, panel layout) — stored via
chrome.storagein your browser. - A local cache of recent chat messages for smooth panel loading — stored locally in your browser.
- The extension collects no telemetry and does not send this local data to any server unless explicitly stated below.
b) Google / YouTube data (only when a streamer voluntarily links their account)
If a streamer chooses to link their YouTube account (channel-ownership verification), we
request the https://www.googleapis.com/auth/youtube.readonly scope via Google
OAuth 2.0 and make a single call (youtube.channels.list?mine=true) to read only
the following public identifiers of the user's own channel:
- channel ID (e.g. UCxxxxxxxx),
- channel handle (e.g. @name),
- channel title,
- profile picture (avatar) URL.
The youtube.readonly scope is read-only. UnityChat never reads, modifies or
deletes any content of your YouTube account — no videos, comments or subscriptions. We use
it 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:
- Your username on the platform — once, after the extension detects it in an open tab (Twitch / YouTube / Kick). It lets the panel recognise your own messages across platforms.
- The handle of the channel you are watching — when the chat connects to that channel. It is used to link the same streamer's channels across platforms in the service directory.
- Nicknames and colours you assign to other users — stored on the server so they are shared between all users of the extension.
Chat content is not sent to the server today — message history stays in the browser's local cache. We are preparing a chat archive feature that will also store public chat messages on the server; it is not active yet, and before it launches we will add details about its scope and retention here.
d) Platform login cookie (Twitch only)
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.
We do not store the token, never write it to logs, and never send it anywhere except Twitch — that is, back to the service it belongs to. Without this permission, sending messages from the panel would not work.
2. How we use the data
- Verifying ownership of a YouTube channel when a streamer voluntarily links their account.
- Linking the same streamer's identities across platforms (Twitch / YouTube / Kick) in the service directory.
- Displaying the channel title and icon in the user interface.
- Recognising your own messages across platforms.
- Sharing nicknames and colours between users of the extension.
- Sending a message, reply or pin on Twitch on your behalf.
3. Storage and security
- Channel identifiers and OAuth tokens are stored on our backend — a PostgreSQL database on a server in the EU (Hetzner Online, Nuremberg, Germany).
- OAuth access and refresh tokens are encrypted (AES-256-GCM); the encryption key is stored separately in the server's secret store.
- Tokens are never returned through the API, written to logs, or committed to the public code repository.
- All communication between the extension and the backend uses HTTPS.
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) who process it on our behalf.
5. Retention and deletion
We keep linked-account data for as long as the link is active. 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.
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.