Polityka Cookies Ximly
§ 1. Czego dotyczy ten dokument
1.1. Ten dokument opisuje wszystkie pliki cookies oraz podobne technologie (zapisy w pamięci przeglądarki localStorage/sessionStorage, skrypty podmiotów trzecich), z których korzysta aplikacja Ximly (app.ximly.app) — oraz zasady wyrażania i wycofywania zgody.
1.2. Jest publikowany jako samodzielna, ogólnodostępna strona — przeczytasz go bez konta i bez akceptowania czegokolwiek. Zasady przetwarzania danych osobowych opisuje Polityka Prywatności (Dokument D3); tam też znajdziesz rejestr odbiorców danych i informacje o transferach.
1.3. Strona marketingowa (www.ximly.app) nie używa cookies analitycznych ani skryptów śledzących.
1.4. Definicje. Cookies — małe pliki zapisywane przez przeglądarkę i odsyłane przy kolejnych żądaniach (np. utrzymanie zalogowania). localStorage/sessionStorage — pamięć przeglądarki na ustawienia lokalne (nie są automatycznie wysyłane na serwer; sessionStorage znika po zamknięciu karty). Skrypty podmiotów trzecich — kod ładowany z serwerów innych firm; samo załadowanie ujawnia im Twój adres IP i dane przeglądarki, a skrypt może zapisywać własne cookies. Zapisywanie i odczyt informacji na urządzeniu reguluje art. 399 Prawa komunikacji elektronicznej, a obowiązek poinformowania Cię o przetwarzaniu danych — art. 12–13 RODO; stąd ta polityka i baner zgód.
§ 2. Sprostowanie i zasady ogólne
2.1. Cookies mogą zawierać dane osobowe. W szczególności cookie logowania app_token zawiera zaszyfrowany token uwierzytelniający powiązany z Twoim kontem — jest daną osobową w rozumieniu art. 4 pkt 1 RODO. Wcześniejsze twierdzenie, że „cookies nie zawierają danych osobowych", było błędne i zostaje wycofane.
2.2. Czas życia poświadczenia logowania. Cookie app_token jest ważne 90 dni; przechowywany w nim token dostępu wygasa po stronie serwera po około 3 miesiącach od wydania, a wcześniej unieważnia go wylogowanie albo usunięcie sesji z listy. Kontrolą jest lista aktywnych sesji w ustawieniach konta (Dokument D3 § 12.3).
2.3. Ustawienia przeglądarki nie są mechanizmem zgody. Możesz nimi dodatkowo ograniczać cookies, ale zgodę na kategorie inne niż niezbędne wyrażasz wyłącznie w banerze/ustawieniach zgód opisanych w § 3. Dalsze korzystanie z serwisu nie jest zgodą.
§ 3. Kategorie i mechanizm zgody
3.1. Używamy dokładnie dwóch kategorii:
- niezbędne — wymagane do działania serwisu (logowanie, bezpieczeństwo, zapamiętanie Twoich decyzji); nie wymagają zgody (art. 399 ust. 3 PKE);
- analityczne — pomagają nam zrozumieć korzystanie z produktu; obejmują także nagrywanie sesji (odtwarzalny zapis interfejsu — § 3.7a); działają wyłącznie po Twojej zgodzie.
Nie używamy cookies marketingowych ani reklamowych — ta kategoria nie istnieje w naszym systemie. Do niezbędnych zaliczamy także zapisy czysto techniczne (ustawienia typu język/motyw, funkcje uruchamiane na Twoje żądanie) — art. 399 ust. 3 PKE nie wymaga na nie zgody.
3.2. Zgoda przez baner. Przy pierwszej wizycie baner pyta o Twoją decyzję. Możesz: zaakceptować wszystkie, odrzucić wszystkie kategorie oprócz niezbędnych (jednym działaniem, równie łatwo jak akceptacja), albo ustawić każdą kategorię osobno. Kategoria analityczna jest domyślnie wyłączona — włącza ją dopiero Twoja aktywna decyzja.
3.3. Serwerowy rejestr zgód. Każdą decyzję zapisujemy w niemutowalnym rejestrze: zakres, wersja polityki, źródło decyzji (baner / ustawienia / synchronizacja przy logowaniu), czas, adres IP i przeglądarka; decyzję podjętą przed założeniem konta Twoja przeglądarka przesyła nam ponownie przy logowaniu i zapisujemy ją wtedy jako decyzję powiązaną z Twoim kontem, a wcześniejszy zapis pozostaje w rejestrze jako anonimowy, bo nie tworzymy dla odwiedzających żadnego identyfikatora, który pozwalałby go z Tobą połączyć. Rejestr jest dowodem zgody (art. 7 ust. 1 RODO), trafia do eksportu danych i przetrwa usunięcie konta (art. 17 ust. 3 RODO); okres przechowywania tych dowodów wskazuje Polityka Prywatności (Dokument D3 § 9.2) — tak samo jak dla wszystkich dowodów zgód i doręczeń. Kopia techniczna decyzji żyje w przeglądarce (ximly_cookie_consent), żeby baner nie wracał przy każdej wizycie.
3.4. Wycofanie zgody jest możliwe w każdej chwili i jest równie łatwe jak jej udzielenie: w ustawieniach zgód zmieniasz decyzję jednym działaniem; wycofanie wyłącza analitykę od tej chwili (nie wpływa na zgodność wcześniejszego przetwarzania z prawem).
3.5. Dopóki nie wyrazisz zgody, narzędzie analityczne w ogóle się nie uruchamia i nic nie zbiera.
3.6. Skutki braku zgody. Odmowa zgody analitycznej nie ogranicza żadnej funkcji serwisu. Nie stosujemy „cookie wall": dostęp nigdy nie jest uzależniony od zgody na kategorie inne niż niezbędne.
3.7. Co rejestruje analityka po zgodzie: zdarzenia pseudonimowe (losowy identyfikator, nie konto) — kliknięcia, odwiedzone ekrany, dane o błędach; bez własnych cookies, z utratą ciągłości po odświeżeniu strony. Adresy ekranów mogą zawierać techniczne identyfikatory (np. Przestrzeni Nauki — definicja: Dokument D1 § 1.2). Dostawca i region — Dokument D3 § 7.
3.7a. Nagrywanie sesji. Ta sama zgoda analityczna uruchamia nagrywanie sesji: narzędzie zapisuje odtwarzalny przebieg Twojej sesji w interfejsie aplikacji — ruchy i kliknięcia, przewijanie, zmiany ekranów i zmiany widocznej zawartości strony. Nagranie nie obejmuje obrazu z kamery, dźwięku ani wideo lekcji; treść wiadomości czatu, czatu lekcyjnego i pól tekstowych jest w nagraniu maskowana (Dokument D3 § 19.4). Nagrywanie nie działa przed zalogowaniem ani na kontach osób poniżej 18 lat lub o nieznanym wieku (§ 5) i zatrzymuje się natychmiast po wycofaniu zgody (§ 3.4). Nagrania są pseudonimowe, przechowywane nie dłużej niż 90 dni i usuwane automatycznie (Dokument D3 § 19.4).
§ 4. Inwentarz cookies i podobnych technologii
4.1. Cookies:
| Nazwa | Dostawca | Kategoria | Cel | Czas życia | Typ |
|---|---|---|---|---|---|
app_token | Ximly | niezbędne | uwierzytelnienie sesji (zaszyfrowany token; atrybuty blokujące odczyt przez skrypty i wymuszające połączenie szyfrowane) | 90 dni | cookie |
ximly_session | Ximly | niezbędne | sesja techniczna (utrzymanie ciągłości między żądaniami) | ok. 2 godziny (cookie trwałe — nie wygasa z zamknięciem przeglądarki) | cookie |
XSRF-TOKEN | Ximly | niezbędne | ochrona przed atakami CSRF (podszywaniem się pod Twoje zalogowane żądania z innej strony) | ok. 2 godziny (jak ximly_session — trwałe) | cookie |
__cf_bm | Cloudflare | niezbędne (bezpieczeństwo) | filtrowanie botów na poziomie infrastruktury | ok. 30 minut | cookie |
_cfuvid | Cloudflare | niezbędne (bezpieczeństwo) | ograniczanie częstotliwości żądań na poziomie infrastruktury; może zostać ustawione przy niektórych żądaniach | sesyjne (do zamknięcia przeglądarki) | cookie |
| cookie wyzwania Turnstile | Cloudflare | niezbędne (bezpieczeństwo) | może zostać ustawione przez mechanizm anty-bot na formularzach rejestracji, logowania i resetu hasła, gdy mechanizm jest dla danej akcji włączony (Dokument D3 § 7) | tylko na czas sprawdzenia | cookie |
sidebar:state | Ximly | niezbędne (ustawienie interfejsu zapisywane na Twoje działanie — art. 399 ust. 3 PKE) | zapamiętanie zwinięcia panelu bocznego | 7 dni | cookie (JS) |
4.2. Zapisy w pamięci przeglądarki (localStorage / sessionStorage) — wszystkie należą do kategorii niezbędnej (działanie i wygoda serwisu, § 3.1), są zapisywane lokalnie i nie są nam automatycznie przekazywane:
| Klucz | Cel | Typ |
|---|---|---|
ximly_cookie_consent | zapis Twojej decyzji o zgodach (kopia lokalna rejestru z § 3.3) | localStorage |
ximly_cookie_consent.analytics | znacznik włączenia lub wyłączenia analityki, którym posługuje się narzędzie analityczne — podrzędny wobec Twojej decyzji z § 3.3 (nieaktualny znacznik nigdy sam nie uruchomi analityki) | localStorage |
i18nextLng | zapamiętanie języka interfejsu | localStorage |
current-workspace-storage | ostatnio otwarta Przestrzeń Nauki — identyfikator i nazwa (definicja Przestrzeni Nauki: Dokument D1 § 1.2) | localStorage |
theme | motyw jasny/ciemny | localStorage |
selectedWebcam, selectedMic, selectedSpeaker, webcamOn, micOn, extensionInfo | preferencje urządzeń w wirtualnej klasie | localStorage |
klucze podpowiedzi i samouczków (m.in. should_show_invite_help, klucze wycieczek po produkcie, zamknięte banery informacyjne) | zapamiętanie zamkniętych podpowiedzi | localStorage |
| klucze spowalniania czatu | ograniczenie częstotliwości wysyłania wiadomości | localStorage |
mobilePromptDismissed | zamknięcie zachęty mobilnej | sessionStorage |
ximly.pending-registration-email | adres e-mail podany przy rejestracji — utrzymanie ciągłości kroków rejestracji do jej zakończenia | sessionStorage |
ximly.confirmed-date-of-birth | data urodzenia potwierdzona na kroku ustalania wieku, wraz z identyfikatorem konta — przeniesienie jej do podsumowania rejestracji; zapis znika po zamknięciu karty i przy innym koncie | sessionStorage |
ximly.confirmed-parent-email | adres e-mail Rodzica/Opiekuna wskazany na kroku ustalania wieku, wraz z identyfikatorem konta — przeniesienie go do kolejnych kroków aktywacji; zapis znika po zamknięciu karty i przy innym koncie | sessionStorage |
parent_invitation_handed_off:{token} | znacznik, że link zaproszenia Opiekuna został już użyty w tej karcie — chroni przed ponowną próbą z wykorzystanego zaproszenia | sessionStorage |
4.3. Skrypty i zasoby podmiotów trzecich (mogą zapisywać własne cookies/localStorage — szczegóły odbiorców: Dokument D3 § 7):
| Technologia | Dostawca | Kategoria | Kiedy się uruchamia |
|---|---|---|---|
| PostHog (analityka i nagrywanie sesji — § 3.7a) | PostHog (instancja EU) | analityczne | wyłącznie po zgodzie analitycznej; bez własnych cookies — w pamięci przeglądarki zapisuje jedynie znacznik Twojej zgody (ximly_cookie_consent.analytics, § 4.2), a dane robocze trzyma tylko w pamięci karty i znikają one po odświeżeniu; bez identyfikacji konta |
| Widget pomocy Featurebase | Featurebase | niezbędne (pomoc — funkcja uruchamiana na Twoje żądanie) | skrypt widgetu ładowany dopiero przy pierwszym użyciu funkcji pomocy (kliknięcie „Help & Support"); wtedy przekazujemy dostawcy podpisany token Twojego konta zawierający identyfikator, adres e-mail, imię i nazwisko, rolę, strefę czasową i język interfejsu (odbiorca i podstawa — Dokument D3 § 7) |
| Turnstile (anty-bot) | Cloudflare | niezbędne (bezpieczeństwo) | na formularzach rejestracji, logowania i resetu hasła — gdy mechanizm jest dla danej akcji włączony (Dokument D3 § 7) |
| Stripe.js | Stripe | niezbędne (płatności) | na ścieżkach płatności |
| Kanał czasu rzeczywistego (Pusher) | Pusher | niezbędne | po zalogowaniu (czat, powiadomienia) |
| Wideo Lekcji (Cloudflare RealtimeKit) | Cloudflare | niezbędne | w wirtualnej klasie |
| Osadzone wideo YouTube | niezbędne do funkcji, o którą prosisz (odtworzenie wideo) — uruchamiane dopiero na Twoje żądanie | dopiero po kliknięciu odtwarzania (profil z wideo, wspólne oglądanie) | |
| Tablica (worker synchronizacji tldraw) | operator workera (Dokument D3 § 7) | niezbędne | w wirtualnej klasie |
4.4. Inwentarz nie zawiera żadnych cookies reklamowych, pikseli śledzących ani SDK atrybucyjnych — zweryfikowano nieobecność (GA/GTM, Meta, Hotjar, Clarity, Sentry, Segment, Mixpanel i in.).
§ 5. Małoletni
5.1. Analityki — w tym nagrywania sesji — nie włączamy u osób poniżej 16 lat — nawet przy zgodzie w banerze. Dla zalogowanego konta o wieku poniżej 16 lat albo nieznanym analityka jest tłumiona po stronie serwera (decyzja z banera pozostaje zapisana, ale oznaczona jako zablokowana z powodu wieku); ukończenie 16 lat znosi blokadę. Nagrywania sesji nie włączamy u osób poniżej 18 lat: na koncie osoby w wieku 16–17 lat zgoda analityczna uruchamia pozostałą analitykę, ale nie nagrywanie sesji; ukończenie 18 lat znosi tę blokadę (§ 3.7a).
5.2. Zanim się zalogujesz, nie znamy Twojego wieku — dlatego do czasu zalogowania analityka pozostaje wyłączona niezależnie od decyzji w banerze. Zgoda analityczna wyrażona przed zalogowaniem zaczyna działać dopiero po zalogowaniu na konto osoby, która ukończyła 16 lat; do tego czasu traktujemy ją jak niewyrażoną.
§ 6. Zmiany tej polityki
6.1. Polityka cookies ma oznaczenie wersji; bieżąca wersja nosi oznaczenie „1". Po opublikowaniu nowej wersji poprosimy Cię o ponowną decyzję (reconsent): zapis zgody złożony wobec starej wersji przestaje być aktualny, a do czasu nowej decyzji analityka jest wyłączona.
6.2. Inwentarz z § 4 aktualizujemy przy każdej zmianie zestawu technologii — częściej niż Politykę Prywatności; dlatego jest to odrębny dokument.
