Polityka cookies i pamięci przeglądarki
Niniejszy dokument opisuje, w jaki sposób aplikacja Relup korzysta z plików cookies oraz z innych mechanizmów lokalnej pamięci przeglądarki, takich jak localStorage, sessionStorage, IndexedDB oraz pamięć podręczna Service Worker (PWA). Dokument dotyczy zarówno serwisu informacyjnego relup.app, jak i aplikacji app.relup.app.
1. Najważniejsze informacje
- Relup nie używa obecnie plików cookies analitycznych, marketingowych ani śledzących.
- Relup nie korzysta z narzędzi typu Google Analytics, Facebook Pixel, Hotjar, Plausible, PostHog itp.
- W aplikacji nie jest wyświetlany baner zgody na cookies, ponieważ nie używamy cookies wymagających zgody - korzystamy wyłącznie z technicznych mechanizmów pamięci przeglądarki niezbędnych do działania aplikacji (logowanie, praca offline).
- Jeżeli w przyszłości dodamy narzędzia analityczne lub marketingowe, niniejszy dokument zostanie zaktualizowany, a w razie potrzeby udostępnimy baner zgody zgodny z obowiązującymi przepisami.
2. Pliki cookies
Relup nie ustawia własnych plików cookies w obecnej wersji aplikacji ani serwisu landing. Uwierzytelnianie do aplikacji oparte jest o tokeny JWT przechowywane w localStorage przeglądarki, a nie o cookies.
Jednym z elementów strony aplikacji może być natomiast ładowanie kroju pisma z usługi Google Fonts (fonts.googleapis.com, fonts.gstatic.com), co technicznie powoduje zapytanie HTTP do serwerów Google. Operator analizuje możliwość samodzielnego hostowania fontów, aby ograniczyć transfer informacji do dostawców zewnętrznych.
3. Mechanizmy pamięci przeglądarki używane przez Relup
3.1. localStorage
W localStorage aplikacja Relup przechowuje:
- tokeny sesji (access token, refresh token) - niezbędne do utrzymania zalogowania,
- kopię podstawowych danych zalogowanego użytkownika (m.in. identyfikator, rola, e-mail) - wykorzystywaną do działania aplikacji w warunkach braku połączenia z siecią,
- robocze szkice formularzy (np. dodawanie klienta, urządzenia, zaplanowanej wizyty) - z czasem życia 7 dni, aby zminimalizować ryzyko utraty wprowadzonych danych przy nagłym zamknięciu karty.
Wszystkie powyższe wpisy są niezbędne do prawidłowego funkcjonowania aplikacji. Ich obecność wynika z charakteru usługi (PWA, praca offline, odporność na utratę połączenia) i nie wymaga osobnej zgody.
3.2. sessionStorage
W sessionStorage aplikacja przechowuje drobne dane techniczne (np. liczbę nieprzeczytanych powiadomień), wyłącznie w obrębie bieżącej karty przeglądarki. Dane są usuwane po zamknięciu karty.
3.3. IndexedDB
Aplikacja Relup korzysta z bazy installer-offline w technologii IndexedDB, w której przechowywane są m.in.:
- cache klientów, urządzeń i list pobranych z serwera (dla pracy offline),
- cache odpowiedzi API (z określonym czasem ważności),
- szkice protokołów inspekcji wraz z fotografiami w postaci „blob",
- kolejka operacji offline (outbox) - operacje wykonane bez internetu, które zostaną zsynchronizowane po odzyskaniu połączenia,
- mapowania identyfikatorów lokalnych na serwerowe (niezbędne do bezpiecznej synchronizacji),
- słowniki (np. typy urządzeń, producenci, lista klientów do podpowiedzi w formularzach),
- ustawienia trybu offline.
Dane w IndexedDB są przechowywane lokalnie w przeglądarce użytkownika i nie są dostępne dla witryn trzecich. Po wylogowaniu się z aplikacji są one czyszczone (funkcja clearAllOfflineData).
3.4. Service Worker / pamięć podręczna PWA
Aplikacja Relup jest dystrybuowana jako PWA i korzysta z Service Workera (biblioteka Workbox) do buforowania wyłącznie statycznych zasobów aplikacji:
- plików JavaScript, CSS, HTML,
- obrazów, ikon i fontów,
- pliku manifestu PWA.
Wszystkie żądania do API (/api/*) są wykonywane wyłącznie z sieci (NetworkOnly), bez buforowania danych osobowych po stronie Service Workera.
Service Worker obsługuje również techniczne zdarzenia związane z powiadomieniami push (odebranie komunikatu i obsługa kliknięcia w powiadomienie). Treść wiadomości push nie jest zapisywana w cache Workbox.
3.5. Powiadomienia push
Po włączeniu przez użytkownika kanału push, przeglądarka utrzymuje stan subskrypcji i uprawnienia powiadomień po swojej stronie systemowej/przeglądarkowej. Użytkownik może w dowolnym momencie wyłączyć powiadomienia push w ustawieniach aplikacji, przeglądarki lub systemu operacyjnego.
4. Dlaczego ta pamięć jest potrzebna
Wymienione wyżej mechanizmy pamięci przeglądarki są niezbędne, aby aplikacja:
- poprawnie obsługiwała zalogowane sesje (bez wielokrotnego logowania),
- mogła działać w trybie offline (m.in. wykonywać przeglądy w terenie bez internetu),
- zachowywała robocze formularze w razie nagłego zamknięcia karty lub utraty zasięgu,
- działała szybko i nie wymagała ponownego pobierania tych samych zasobów statycznych,
- mogła zsynchronizować operacje offline po powrocie do sieci.
Brak tych mechanizmów uniemożliwiłby praktyczne korzystanie z aplikacji w pracy terenowej, do której Relup jest zaprojektowany.
5. Jak wyczyścić pamięć przeglądarki
Użytkownik w każdej chwili może wyczyścić dane lokalne aplikacji w następujący sposób:
- Wylogowanie z aplikacji powoduje automatyczne czyszczenie bazy IndexedDB Relup oraz tokenów sesji. Planowane jest także czyszczenie roboczych szkiców formularzy w momencie wylogowania.
- Ustawienia przeglądarki - w sekcji „Prywatność i bezpieczeństwo" można wyczyścić dane witryny dla domeny app.relup.app (cookies, localStorage, IndexedDB, cache Service Worker).
- Tryb prywatny / okno incognito - dane nie są zachowywane między sesjami.
- Odinstalowanie PWA - usunięcie zainstalowanej aplikacji PWA z systemu kasuje większość danych lokalnych Relup.
Pełne usunięcie danych po stronie serwera wymaga osobnego wniosku - szczegóły opisuje Polityka prywatności, sekcja „Prawa osób, których dane dotyczą".
6. Co się zmieni, jeżeli dodamy analitykę lub narzędzia marketingowe
Jeżeli w przyszłości operator zdecyduje się wprowadzić narzędzia analityczne, marketingowe lub inne mechanizmy wymagające zgody zgodnie z przepisami o prywatności i komunikacji elektronicznej (ePrivacy, art. 173 Prawa telekomunikacyjnego), wówczas:
- niniejszy dokument zostanie zaktualizowany o opis konkretnych narzędzi i danych przez nie przetwarzanych,
- na stronie zostanie udostępniony baner / panel zgód umożliwiający użytkownikowi wyrażenie lub odmowę zgody na poszczególne kategorie cookies,
- narzędzia te nie będą uruchamiane przed uzyskaniem wymaganej zgody (poza technicznie niezbędnymi).
7. Kontakt
Pytania dotyczące niniejszego dokumentu prosimy kierować na adres [email protected].