Prywatność
Co ten serwis o Tobie wie.
Projektometr nie wyświetla reklam, nie osadza wtyczek społecznościowych i nie profiluje czytelników. Kod tego serwisu nie zapisuje ciasteczek. Zostaje techniczna obsługa ruchu, zbiorcza statystyka odwiedzin, raporty o błędach przeglądarki i licznik użycia funkcji. Poniżej opisujemy każdy z nich osobno: co wychodzi z Twojej przeglądarki, do kogo trafia i jak długo tam zostaje.
Przetwarzamy dane na podstawie prawnie uzasadnionego interesu, więc masz prawo wnieść sprzeciw wobec tego przetwarzania (art. 21 RODO). Opisujemy go niżej, w osobnej sekcji.
Ostatnia aktualizacja: 6 września 2026.
Administrator danych
Administratorem danych jest Krzysztof Głuszczyk, autor i wydawca Projektometru. To prywatna inicjatywa obywatelska, prowadzona poza strukturą firmy, partii czy instytucji publicznej.
Kontakt w każdej sprawie dotyczącej danych, w tym w sprawie sprzeciwu i pozostałych praw opisanych niżej: kontakt@projektometr.pl. To ten sam adres, na który przyjmujemy sprostowania do bazy.
Co jest zbierane
Pięć elementów, po kolei, przy czym hosting obejmuje dwa kanały: samo żądanie do serwera i raporty o błędach sieci, które przeglądarka wysyła do Cloudflare na jego polecenie. Hosting i kroje pisma działają zawsze. Raporty o błędach skryptu i licznik użycia są włączane konfiguracją wdrożenia, a kiedy któryś z nich jest wyłączony, jego skrypt w ogóle się nie ładuje. Statystyka odwiedzin działa inaczej i opisujemy to przy niej: nasz kod jej nie osadza, ale Cloudflare potrafi wstawić jej skrypt po swojej stronie.
Hosting (Cloudflare)
Serwis jest serwowany przez Cloudflare Pages. Każde żądanie do serwera niesie adres IP, nagłówki przeglądarki i adres żądanej strony. Cloudflare przetwarza je, żeby dostarczyć stronę i chronić ją przed nadużyciami, w tym przed atakami wolumetrycznymi i ruchem automatycznym. Kod tego serwisu nie prowadzi własnych logów aplikacji ani własnej bazy odwiedzających. To, co zapisuje po swojej stronie sam Cloudflare, wynika z jego konfiguracji i polityki, a nie z naszego kodu. Do każdej odpowiedzi Cloudflare dokłada też nagłówki NEL i Report-To, czyli polecenie dla przeglądarki, żeby zgłaszała nieudane połączenia z tym serwisem pod adres a.nel.cloudflare.com. Taki raport niesie adres żądania, rodzaj błędu, adres IP serwera, czas odpowiedzi i adres strony odsyłającej, a wysyła go sama przeglądarka, więc dociera z Twoim adresem IP. W odpowiedziach, które widzimy, próbkowanie połączeń udanych jest ustawione na zero, a polityka jest ważna siedem dni, więc raport może wyjść także wtedy, kiedy nie masz już otwartej naszej strony. Tych nagłówków nie ustawia nasz kod i nie sięga ich nasza polityka bezpieczeństwa treści: dokłada je Cloudflare po swojej stronie, tak samo jak skrypt statystyki odwiedzin.
Kroje pisma (z naszego serwera)
Kroje pisma są częścią tej strony i pobierają się z serwera tego serwisu. Nie ma tu zewnętrznej biblioteki krojów, więc samo wyświetlenie tekstu nie kieruje żadnego żądania poza opisany wyżej hosting. Pliki leżą obok pozostałych zasobów w Cloudflare. Nagłówek polityki bezpieczeństwa treści dopuszcza wyłącznie naszą własną domenę jako źródło krojów, żeby powrót do zewnętrznego dostawcy nie mógł się przydarzyć niepostrzeżenie.
Statystyka odwiedzin (Cloudflare Web Analytics)
Zbiorcza statystyka ruchu. Skrypt pomiarowy pobiera się z serwera Cloudflare (static.cloudflareinsights.com), a więc z innej domeny niż reszta strony, i to on wysyła pomiary do Cloudflare. Według dokumentacji Cloudflare narzędzie nie zapisuje w przeglądarce ciasteczek ani innego stanu i nie rozpoznaje osoby po adresie IP ani po sygnaturze przeglądarki.
Ten skrypt nie pochodzi z naszego kodu. To wdrożenie nie ma skonfigurowanego tokenu pomiarowego, więc sami niczego takiego w stronie nie osadzamy. Dokłada go Cloudflare, w locie, kiedy strona przechodzi przez jego sieć, a rozstrzyga o tym ustawienie w panelu hostingu, czyli przełącznik u dostawcy, a nie element tego kodu. Jest ono włączone w wariancie wyłączającym dane odwiedzających z Unii Europejskiej, który według dokumentacji Cloudflare nie przetwarza danych o wydajności dla osób łączących się przez węzeł Cloudflare położony w jednym z wymienionych tam krajów. Wykaz obejmuje Polskę i cały Europejski Obszar Gospodarczy, a poza nim Wielką Brytanię i Szwajcarię. Dla połączeń spoza tego obszaru wyłączenie nie obowiązuje i pomiary opisane niżej trafiają do Cloudflare.
Wymiary, po których Cloudflare pozwala to oglądać, są szersze niż sama liczba odsłon: kraj, host, ścieżka strony, strona odsyłająca, typ urządzenia, przeglądarka, system operacyjny i rodzaj nawigacji. Pomiar wydajności strony (Core Web Vitals) potrafi dodatkowo nieść selektor CSS mierzonego elementu, ścieżkę strony, adres i rozmiar wczytanego zasobu oraz położenie i wymiary elementu, który się przesunął.
W panelu widzimy z tego liczby zbiorcze dla całego serwisu, a nie ścieżkę pojedynczej osoby. Opisujemy w ten sposób to, co dostajemy do oglądania; nie jest to dowód, że dane po drodze są anonimowe.
Raporty o błędach (Sentry)
Kiedy w Twojej przeglądarce wystąpi błąd skryptu, do Sentry trafia raport techniczny. Dopóki nic się nie zepsuje, biblioteka nie wysyła nic: wyłączyliśmy domyślny mechanizm, który zgłaszał do Sentry samo otwarcie strony.
Raport zawiera:
- treść błędu i ślad stosu, czyli miejsca w kodzie strony, przez które przeszło wykonanie;
- adres strony, na której to się stało, bez ciągu zapytania i bez części po znaku kratki;
- nagłówek User-Agent, z którego Sentry wyprowadza nazwę i wersję przeglądarki oraz systemu;
- nazwę środowiska (produkcja albo wersja testowa) i identyfikator wydania, czyli skrót commita;
- język, strefę czasową i kalendarz ustawione w przeglądarce;
- kilka ostatnich kroków: przejścia między podstronami i żądania do naszego API, w obu wypadkach z adresami pozbawionymi ciągu zapytania;
- losowy identyfikator raportu, nowy dla każdego zdarzenia.
Kod ogranicza to, co do raportu trafia. Kliknięcia i naciśnięcia klawiszy nie są rejestrowane: biblioteka zapisuje domyślnie ścieżkę CSS elementu, w który trafiłeś, i to zbieranie jest u nas wyłączone. Wpisy z konsoli przeglądarki są wyłączone tak samo, nagrywanie sesji nie jest włączone. Z raportu usuwamy pole z adresem IP, nagłówek Referer i nagłówek X-Forwarded-For, a ciąg zapytania wycinamy z adresu żądania, ze śladu stosu i z zapisu ostatnich kroków, bo link, którym trafiłeś na stronę, mógł nieść token albo adres e-mail.
Czego to nie gwarantuje. Adres IP jest widoczny dla serwerów Sentry z samego połączenia, którym raport jedzie, i usunięcie pola z adresem tego nie zmienia. Raport nie niesie też żadnego polecenia, które powstrzymałoby Sentry przed dopisaniem adresu po swojej stronie: nasz kod kasuje ze zdarzenia cały kontener użytkownika i wyłącza w bibliotece domyślne zbieranie danych osobowych, a to nie to samo co wyraźne wyzerowanie pola z adresem. O tym, czy adres nie zostanie zapisany, rozstrzyga ustawienie „Prevent Storing of IP Addresses” w panelu Sentry, czyli przełącznik u dostawcy, a nie element tego kodu. Nie twierdzimy również, że raport nie zawiera niczego, co wskazuje na osobę: treść komunikatu o błędzie pochodzi z kodu strony i biblioteka nie sprawdza, co się w niej znalazło.
Biblioteka Sentry wczytuje się dopiero po wyrenderowaniu strony i tylko wtedy, gdy raportowanie błędów jest włączone w konfiguracji wdrożenia. Nie wyłączają jej sygnały Do Not Track ani Global Privacy Control: te sterują wyłącznie licznikiem użycia funkcji, opisanym niżej.
Licznik użycia funkcji
Własny licznik bez ciasteczek. Wysyła zdarzenia pod nasz adres /api/ev, w obrębie tej samej domeny. Nie bierze w tym udziału żaden zewnętrzny skrypt, ale samo żądanie idzie przez Cloudflare, tak jak każde inne żądanie do tego serwisu.
Zdarzenie niesie krótką nazwę z zamkniętej listy (zmiana filtra, interakcja z mapą, otwarcie karty projektu, przełączenie języka, przełączenie motywu, kliknięcie w źródło, kliknięcie w przycisk kawy) i kilka etykiet o małej liczbie wariantów: który filtr, jaka wartość, jaki rodzaj interakcji i jaki język. Serwer odrzuca wszystko, czego nie ma na tej liście, i dopisuje jedno pole od siebie: czy żądanie przyszło z produkcji, czy z wersji testowej. Zapisany wiersz nie zawiera adresu strony, identyfikatora ani tekstu wpisanego w wyszukiwarkę.
Adresu oglądanej strony nie ma ani w treści zdarzenia, ani w zapisanym wierszu, ale dołącza go sama przeglądarka, w nagłówku Referer: dla żądań w obrębie tej samej domeny wysyła pełny adres. Przy zapisie ten nagłówek jest ignorowany, dociera jednak do Cloudflare razem z adresem IP, tak samo jak przy każdym innym żądaniu do serwisu.
Licznik respektuje sygnały Do Not Track i Global Privacy Control: jeśli Twoja przeglądarka któryś z nich wystawia, nie wysyła nic.
Ciasteczka i pamięć przeglądarki
Kod tego serwisu nie zapisuje ciasteczek. Zapisuje trzy drobne wpisy w pamięci przeglądarki, żeby ustawienia nie znikały po przejściu na inną stronę:
- megalo-theme: wybrany motyw, jasny albo ciemny;
- megalo-lang: wybrany język serwisu;
- megalo-explore-return: adres powrotu do listy projektów z zachowanymi filtrami. Ten wpis żyje w pamięci sesji i znika po zamknięciu karty.
Wpisy zostają w Twojej przeglądarce. Odczytuje je wyłącznie kod strony działający u Ciebie, po to, żeby przywrócić Twoje ustawienie; na serwer nie są wysyłane. Jeśli licznik użycia funkcji jest włączony, wybrany motyw i wybrany język jadą do niego jako zdarzenie w chwili przełączenia, więc te same wartości pojawiają się w zbiorczej statystyce. Wzięte są jednak z Twojego kliknięcia, a nie odczytane z pamięci przeglądarki.
Wpisy możesz skasować w ustawieniach przeglądarki w dowolnej chwili. Stracisz wtedy zapamiętany motyw, zapamiętany język i zapisany powrót do listy projektów z zachowanymi filtrami.
Zastrzeżenie o ciasteczkach dotyczy naszego kodu i dalej nie sięga. Cloudflare, jako dostawca hostingu i ochrony ruchu, potrafi ustawić własne ciasteczka techniczne, na przykład __cf_bm przy ochronie przed botami albo cf_clearance przy weryfikacji przeglądarki, jeżeli te funkcje są włączone w jego panelu. Ich pełna lista jest w dokumentacji ciasteczek Cloudflare.
Podstawa prawna i cele
Przetwarzanie opisane wyżej opiera się na prawnie uzasadnionym interesie administratora, czyli na art. 6 ust. 1 lit. f RODO. Cele rozkładają się na poszczególne elementy tak:
- hosting i ochrona ruchu: dostarczenie strony oraz obrona przed nadużyciem i przeciążeniem;
- statystyka odwiedzin: wiedza o skali i pochodzeniu ruchu oraz o wydajności strony;
- raporty o błędach: wykrycie i naprawa awarii w przeglądarce czytelnika;
- licznik użycia funkcji: wiedza o tym, których części bazy ludzie używają;
- korespondencja na adres kontaktowy: odpowiedź na wiadomość, w tym na sprostowanie do bazy i na żądanie z RODO.
Nie prosimy o zgodę marketingową, bo nie prowadzimy marketingu. Nie budujemy profili i nie podejmujemy wobec Ciebie decyzji zautomatyzowanych.
Podanie danych nie jest obowiązkiem umownym ani ustawowym. Adres IP i nagłówki przeglądarki są niezbędne technicznie, bo są częścią każdego połączenia i bez nich serwer nie odeśle odpowiedzi. Statystyka odwiedzin, raporty o błędach i licznik użycia nie są potrzebne do wyświetlenia treści, więc zablokowanie ich po Twojej stronie niczego w serwisie nie zamyka. Napisanie do nas jest dobrowolne, ale bez adresu zwrotnego nie odpowiemy.
Jak długo dane są przechowywane
Sami nie prowadzimy magazynu danych o czytelnikach. Okresy poniżej ustalają dostawcy i pochodzą z ich dokumentacji, a nie z naszej decyzji; piszemy też, czego z tej dokumentacji ustalić się nie da.
- Statystyka odwiedzin (Cloudflare Web Analytics): siedem dni dla danych pełnych, po czym Cloudflare zostawia próbkę rzędu dziesięciu procent do przechowywania długoterminowego. Terminu ostatecznego usunięcia jego dokumentacja nie podaje.
- Licznik użycia funkcji (Cloudflare Workers Analytics Engine): trzy miesiące, zgodnie z dokumentacją limitów tej usługi.
- Raporty o błędach (Sentry): trzydzieści dni na planie darmowym i dziewięćdziesiąt dni na planach płatnych, zgodnie z tabelą retencji Sentry.
- Dane hostingu i ochrony ruchu (Cloudflare): liczby dla planu, na którym stoi ten serwis, Cloudflare nie publikuje. W panelu zdarzenia bezpieczeństwa są widoczne przez ostatnią dobę, surowe logi żądań nie są w tym planie w ogóle udostępniane, a wewnętrzny okres przechowywania opisuje polityka prywatności Cloudflare, która podaje kryteria zamiast terminów.
- Korespondencja: trzymamy ją tak długo, jak trwa sprawa, której dotyczy, a wiadomości o żądaniach z RODO tak długo, jak długo mogą być potrzebne do wykazania, że żądanie zostało obsłużone.
Pojedynczego wiersza nie umiemy z tych zbiorów usunąć, bo żaden z nich nie niesie identyfikatora, po którym dałoby się go odnaleźć. Możemy natomiast wyłączyć dany pomiar w całości.
Prawo sprzeciwu (art. 21 ust. 1 RODO)
Skoro przetwarzamy dane na podstawie prawnie uzasadnionego interesu, masz prawo wnieść sprzeciw wobec tego przetwarzania. Możesz to zrobić w dowolnym momencie, z przyczyn związanych z Twoją szczególną sytuacją.
Sprzeciw wnosisz na adres kontakt@projektometr.pl. Rozpatrujemy go i albo przestajemy przetwarzać dane, których dotyczy, albo wykazujemy istnienie ważnych prawnie uzasadnionych podstaw, nadrzędnych wobec Twoich praw i wolności.
Zastrzeżenie o tym, co sprzeciw może w praktyce zmienić. Nie prowadzimy identyfikatorów, więc nie umiemy odróżnić Twojego ruchu od cudzego i nie da się wyłączyć pomiaru dla jednej osoby. Uwzględniony sprzeciw oznacza tu wyłączenie danego pomiaru w ogóle, dla wszystkich, albo wykazanie, dlaczego go nie wyłączamy.
Licznik użycia funkcji możesz wyłączyć od ręki, bez pisania do nas: włącz w przeglądarce Do Not Track albo Global Privacy Control. Ten przełącznik sięga tylko licznika. Nasz kod nie wiąże z tymi sygnałami raportowania błędów, a co robi z nimi skrypt statystyki odwiedzin, zależy od Cloudflare, nie od nas. Jedno i drugie zatrzymasz po stronie przeglądarki, blokując skrypty Sentry i Cloudflare.
Pozostałe prawa
W zakresie, w jakim dane opisane wyżej pozwalają Cię zidentyfikować, przysługuje Ci prawo do:
- dostępu do danych i kopii danych (art. 15 RODO);
- sprostowania danych nieprawidłowych (art. 16 RODO);
- usunięcia danych (art. 17 RODO);
- ograniczenia przetwarzania (art. 18 RODO);
- sprzeciwu wobec przetwarzania (art. 21 RODO), opisanego w sekcji wyżej.
Prawa do przenoszenia danych (art. 20 RODO) na tej liście nie ma i nie jest to przeoczenie: przysługuje ono przy przetwarzaniu na podstawie zgody albo umowy, a my opieramy się na prawnie uzasadnionym interesie.
Zakres pozostałych praw zależy od zbioru. W statystyce odwiedzin, w liczniku użycia funkcji i w raportach o błędach nie ma konta ani identyfikatora, po którym dałoby się odnaleźć dane jednej osoby, a art. 11 RODO nie każe nam zbierać dodatkowych informacji tylko po to, żeby to umożliwić. Realnie wskazać da się korespondencję wysłaną na podany wyżej adres i to jej dotyczy żądanie dostępu, sprostowania albo usunięcia.
Masz też prawo wnieść skargę do organu nadzorczego. W Polsce jest nim Prezes Urzędu Ochrony Danych Osobowych.
Komu powierzamy dane
Poza Twoją przeglądarką dane techniczne opisane wyżej trafiają do podmiotów, które przetwarzają je na nasze zlecenie, na warunkach swoich umów powierzenia:
- Cloudflare, Inc.: hosting, ochrona ruchu, zbiorcza statystyka odwiedzin i magazyn zdarzeń licznika użycia. Polityka prywatności Cloudflare, umowa powierzenia.
- Functional Software, Inc. (Sentry): przyjmowanie raportów o błędach przeglądarki. Polityka prywatności Sentry, umowa powierzenia.
- Dostawca poczty obsługującej adres kontaktowy: przechowywanie i doręczanie korespondencji wysłanej do nas.
Przekazywanie poza Europejski Obszar Gospodarczy
Obaj dostawcy to spółki amerykańskie i część przetwarzania może odbywać się poza Europejskim Obszarem Gospodarczym. Podstawa przekazania jest dla obu taka sama:
- Cloudflare, Inc. deklaruje certyfikację w EU-U.S. Data Privacy Framework i na niej opiera przekazanie, a gdyby certyfikacja wygasła albo została unieważniona, na standardowych klauzulach umownych Komisji Europejskiej wraz ze środkami uzupełniającymi.
- Functional Software, Inc. deklaruje to samo: zgodność z Data Privacy Framework, a w razie jego upadku standardowe klauzule umowne w module właściwym dla powierzenia przetwarzania.
Treść zabezpieczeń jest w umowach powierzenia obu dostawców, do których linkujemy wyżej; klauzule standardowe są w nie włączone, a nie publikowane osobno. Certyfikację w Data Privacy Framework odnawia się co rok, więc jej aktualny stan sprawdzisz w rejestrze programu, a nie w tym dokumencie.
Cloudflare obsługuje ruch w sieci rozproszonej, więc żądanie z Polski zwykle kończy się na węźle w Europie. Dla każdego żądania z osobna nie potrafimy tego zagwarantować: narzędzia, które wymuszają przetwarzanie w wybranym regionie, są u Cloudflare płatnym dodatkiem dla klientów korporacyjnych i tego serwisu nie obejmują.
Zmiany tej strony
Ta strona opisuje stan na dzień podany na górze. Jeśli dojdzie nowe narzędzie albo któreś zniknie, nowa wersja opisu zastąpi poprzednią w tym samym miejscu, bez osobnego powiadomienia.