Lokalsi
Strona główna Dla gmin
Spis treści
    Ostatnia aktualizacja:
    25.05.2026
    Wersja: 1.1
    Dokument prawny

    Polityka prywatności

    Ostatnia aktualizacja: 25.05.2026  ·  Wersja: 1.1  ·  Administrator: MAGNET MEDIC Tomasz Fiedoruk

    Niniejsza Polityka prywatności opisuje zasady przetwarzania danych osobowych w serwisie lokalsi.link oraz jego subdomenach gminnych (np. czaplinek.lokalsi.link). Dokument jest zgodny z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. (dalej: RODO) oraz ustawą z dnia 10 maja 2018 r. o ochronie danych osobowych (Dz.U. 2018 poz. 1000).

    Polityka składa się z sześciu sekcji, dopasowanych do roli osoby, której dane dotyczą:

    • Sekcja A — dla odwiedzającego mapę (visitor)
    • Sekcja B — dla osoby komentującej (commentator)
    • Sekcja C — dla właściciela punktu POI (POI owner)
    • Sekcja D — dla mieszkańca z kontem na platformie (resident)
    • Sekcja E — dla zgłaszającego problem mieszkańca (incident reporter)
    • Sekcja F — procesory danych przeciwko nadużyciom (DNSBL, Turnstile)

    Administrator danych i kontakt

    Administrator danych osobowych platformowych:

    • MAGNET MEDIC Tomasz Fiedoruk (jednoosobowa działalność gospodarcza)
    • NIP: 2530148533
    • REGON: 331412634
    • BDO: 000005014
    • Adres siedziby / korespondencji: ul. Dworcowa 19, 78-550 Czaplinek
    • Kontakt: formularz online (preferowany — szybciej trafia do obsługi, audit log SLA)

    Inspektor Ochrony Danych (DPO): Administrator nie powołał Inspektora Ochrony Danych, ponieważ nie zachodzą przesłanki art. 37 RODO (działalność nie polega na regularnym i systematycznym monitorowaniu osób na dużą skalę ani na przetwarzaniu szczególnych kategorii danych na dużą skalę). We wszystkich sprawach dotyczących danych osobowych należy kontaktować się bezpośrednio z Administratorem na adres formularz kontaktowy.

    Słowniczek pojęć

    • POI (Point of Interest) — wpis na mapie reprezentujący aktora lokalnego (foodtruck, taxi, usługodawcę, sklepik) zarządzający własnymi danymi za pomocą tokenu.
    • Właściciel POI (POI owner) — osoba fizyczna prowadząca działalność gospodarczą lub osoba prawna, która utworzyła POI i jest administratorem danych firmowych w nim publikowanych.
    • Komentujący — osoba fizyczna pozostawiająca komentarz pod wpisem POI.
    • Odwiedzający (visitor) — osoba przeglądająca mapę bez uwierzytelnienia.
    • Gmina — jednostka samorządu terytorialnego, której subdomena prezentuje skin serwisu. Gmina nie jest administratorem ani współadministratorem danych POI.
    • Envelope encryption — dwuwarstwowy model szyfrowania: klucz główny (KEK) szyfruje klucze danych (DEK), a DEK szyfruje treść (XChaCha20-Poly1305-IETF AEAD (libsodium)).
    • Blind index — skrót kryptograficzny (HMAC) wartości zaszyfrowanej, umożliwiający wyszukiwanie bez deszyfracji.

    Sekcja A — Dla odwiedzającego mapę (visitor)

    Co zbieramy

    Korzystanie z serwisu nie wymaga rejestracji. W trakcie zwykłego przeglądania mapy zbieramy następujące dane techniczne:

    Kategoria danychCelPodstawa prawnaRetencja
    Adres IP (logi serwera)Bezpieczeństwo, diagnostyka błędówArt. 6 ust. 1 lit. f RODO7 dni
    User-Agent (typ przeglądarki)Statystyki techniczne, kompatybilnośćArt. 6 ust. 1 lit. f RODO7 dni
    Cookie sesyjne (PHPSESSID, preferencje motywu)Utrzymanie sesji, zapamiętanie wyboru motywu mapyCookies funkcjonalne, art. 173 ust. 3 PKE (zwolnienie z obowiązku zgody)Do zamknięcia przeglądarki

    Czego NIE zbieramy

    • Brak Google Analytics, Facebook Pixel, Hotjar ani innych narzędzi profilujących.
    • Brak persistent cookies — jedynie sesyjne, niezbędne do działania serwisu.
    • Brak fingerprintingu przeglądarki.
    • Brak geolokalizacji — chyba że świadomie wyrazisz zgodę na żądanie funkcji „co w okolicy". Współrzędne są używane jednorazowo i nie są zapisywane.
    • Brak newslettera, brak listy mailingowej.

    Czy musisz akceptować cookies?

    Serwis stosuje wyłącznie cookies funkcjonalne (sesyjne), niezbędne do świadczenia usługi (art. 173 ust. 3 pkt 2 ustawy — Prawo komunikacji elektronicznej z 12 lipca 2024 r.). Z tego powodu nie wyświetlamy banera cookies.

    Twoje prawa

    1. Dostępu (art. 15 RODO) — informacja jakie logi zawierają Twój adres IP.
    2. Usunięcia (art. 17 RODO) — usunięcie logów Twojej sesji, o ile nie zostały usunięte po 7 dniach.
    3. Sprzeciwu (art. 21 RODO) — wobec przetwarzania na podstawie prawnie uzasadnionego interesu.
    4. Skargi do organu nadzorczego — Prezes UODO, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl.

    Realizacja praw: formularz /rodo lub email formularz kontaktowy.

    Sekcja B — Dla osoby komentującej (commentator)

    Co zbieramy w trakcie dodawania komentarza

    DaneZabezpieczenieCelRetencja
    Adres email (jeśli podany)Szyfrowanie XChaCha20-Poly1305-IETF AEAD (libsodium) — envelope encryptionWeryfikacja magic-link, realizacja art. 17, opcjonalne powiadomienieDopóki POI aktywny lub do żądania usunięcia
    Treść komentarzaPlain text (publiczny)Publikacja pod POIDopóki POI aktywny lub do żądania usunięcia
    Skrót adresu IP (SHA-256 + sól)Hash — brak możliwości odwróceniaAnti-spam, ochrona przed nadużyciami, rate-limit30 dni
    Skrót User-Agent (bucket)Hash — mobile/desktop/botWykrywanie botów30 dni
    Token magic-linkHash sha256, TTL 15 minWeryfikacja jednorazowaPo użyciu / wygaśnięciu — usunięcie

    Procedura magic-link (two-step)

    Aby zapobiec konsumpcji tokenu przez automatyczne skanery linków (Gmail Safe Browsing, Outlook SafeLinks), procedura jest dwuetapowa:

    1. Klik w link w emailu otwiera stronę z przyciskiem „Potwierdź" (metoda GET).
    2. Kliknięcie przycisku konsumuje token (metoda POST). Dopiero teraz komentarz zostaje opublikowany.

    Token jest jednorazowy i wygasa po 15 minutach.

    Procesory danych (podmioty przetwarzające)

    ProcesorCelLokalizacjaPodstawa transferu
    Hetzner Online GmbHHosting VPS, baza danych, backupyFalkenstein / Norymberga, Niemcy (UE)DPA art. 28 RODO
    Brevo (Sendinblue SAS)Wysyłka emaili transakcyjnych (magic-link)Paryż, Francja (UE)DPA art. 28 RODO
    Cloudflare, Inc.CDN, ochrona DDoS, terminacja TLSEdge globalne (metadane przez infrastrukturę US)DPA + Standardowe Klauzule Umowne (SCC)

    Ograniczenie pilota: w fazie pilotażowej Administrator korzysta z bezpłatnego planu Cloudflare bez opcji Data Localization Suite. Metadane techniczne (IP, headers) mogą być przetwarzane przez serwery Cloudflare poza UE. Treść komentarzy oraz dane szyfrowane nie są transferowane — pozostają na serwerze Hetzner w Niemczech. Transfer metadanych objęty jest SCC z dnia 4 czerwca 2021 r. (decyzja KE 2021/914).

    Twoje prawa

    1. Dostęp (art. 15) — kopia komentarzy.
    2. Sprostowanie (art. 16) — zgłoszenie błędu.
    3. Usunięcie „prawo do bycia zapomnianym" (art. 17) — usunięcie komentarza + emaila.
    4. Ograniczenie przetwarzania (art. 18).
    5. Przeniesienie (art. 20) — export komentarzy w formacie JSON.
    6. Sprzeciw (art. 21).
    7. Skarga do UODO.

    Realizacja: do 30 dni (art. 12 ust. 3 RODO). Formularz: /rodo.

    Sekcja C — Dla właściciela punktu POI (POI owner)

    Klauzula kluczowa — podział ról RODO

    Jesteś administratorem swoich danych firmowych publikowanych jako POI. MAGNET MEDIC Tomasz Fiedoruk działa jako podmiot przetwarzający (processor) w rozumieniu art. 28 RODO dla danych firmowych (nazwa firmy, adres, telefon, kategoria, godziny otwarcia, zdjęcia).

    Równocześnie MAGNET MEDIC Tomasz Fiedoruk działa jako administrator (controller) w rozumieniu art. 24 RODO dla danych platformowych niezbędnych do działania serwisu (email logowania, audit log, sesje, IP hash, tokeny magic-link).

    Pełny katalog ról i obowiązków: Regulamin dla właścicieli POI, sekcja „Klauzula art. 28 RODO".

    Katalog danych POI

    DaneTwoja rolaRola TomkaZabezpieczenieRetencja
    Nazwa firmy POIAdministratorProcesorPlain text (publiczne)Dopóki POI aktywny
    Adres punktuAdministratorProcesorPlain text + POINT SRID 4326Dopóki POI aktywny
    Telefon publicznyAdministratorProcesorPlain text (opcjonalny)Dopóki POI aktywny
    Email logowania—AdministratorEnvelope encryption XChaCha20-Poly1305-IETF AEAD (libsodium), blind index HMAC-SHA256Dopóki konto aktywne + 12 mies. grace
    Imię, nazwisko, NIP (opcjonalnie)AdministratorProcesorEnvelope encryptionDopóki POI aktywny
    Zdjęcia POIAdministrator (Ty wgrywasz)Procesor (Tomek hostuje)Plik na serwerze + URLDopóki POI aktywny
    Audit log—AdministratorEnvelope encryptionDopóki POI aktywny + 12 mies. (art. 5 ust. 2 RODO)
    Token magic-link—AdministratorHash sha256, TTL 15 minPo użyciu / wygaśnięciu
    Sesja (24h)—AdministratorHttpOnly, Secure, SameSite=StrictMax 24h
    Hash IP/UA logowania—AdministratorSHA-256 + sól30 dni

    Procesory POI (sub-processors)

    Lista procesorów jest identyczna jak dla Komentującego (Hetzner, Brevo, Cloudflare — patrz sekcja B). Zgodnie z art. 28 ust. 2 RODO, Administrator zobowiązuje się informować właściciela POI o każdej planowanej zmianie sub-procesora z 30-dniowym wyprzedzeniem. Właściciel POI ma prawo wnieść sprzeciw.

    Twoje prawa jako administratora danych POI

    • Wgląd w przetwarzanie — dostęp do audit log w panelu /p/{slug}/edit.
    • Export danych POI w formacie JSON (art. 20 RODO) — przycisk w panelu.
    • Usunięcie POI w każdej chwili (art. 17 RODO). Komentarze są również usuwane.
    • Audyt przetwarzania — możliwość żądania raportu (art. 28 ust. 3 lit. h RODO).

    Sekcja D — Dla mieszkańca z kontem na platformie (resident)

    Konto mieszkańca to pseudonimowa tożsamość (random nick + awatar SVG, zero PII publicznych). Email szyfrowany at-rest (AEAD), używany wyłącznie do magic-link logowania. Sesja 30 dni. W każdej chwili możesz usunąć konto (RODO art. 17 — cryptographic erasure).

    Zawarcie umowy o świadczenie usługi drogą elektroniczną (UŚUDE art. 18)

    Moment zawarcia umowy: z chwilą kliknięcia w magic-link otrzymanego po wpisaniu emaila w /u/login i akceptacji niniejszej polityki + Regulaminu (acceptance gate w formularzu logowania) — mieszkaniec zawiera z Operatorem umowę o świadczenie usługi platformy LOKALSI drogą elektroniczną zgodnie z art. 18 ust. 1 ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (Dz.U. 2002 Nr 144 poz. 1204).

    Zakres umowy: Operator zobowiązuje się świadczyć usługę platformy (logowanie magic-link, profil /u/profile, oceny POI, checkin spatial proof, zgłaszanie incydentów). Mieszkaniec zobowiązuje się do korzystania z usługi zgodnie z Regulaminem. Umowa jest bezpłatna, ale spełnia kryteria umowy w rozumieniu RODO art. 6 ust. 1 lit. b — wzajemne zobowiązania stron + możliwość rozwiązania przez każdą ze stron (mieszkaniec — przez usunięcie konta; Operator — przez wypowiedzenie zgodne z Regulaminem).

    Co zbieramy gdy zakładasz konto

    DanaCelPodstawa prawnaRetencja
    Email (zaszyfrowany at-rest AEAD XChaCha20-Poly1305-IETF)Magic-link logowania (15 min ważności), powiadomienia o statusie incydentów (gdy mieszkaniec jest zgłaszającym)art. 6 ust. 1 lit. b RODO — niezbędne do wykonania umowy o świadczenie usługi drogą elektroniczną (UŚUDE art. 18). Bez emaila niemożliwe magic-link logowanie = niemożliwe świadczenie usługi.Do usunięcia konta przez mieszkańca lub po 24 miesiącach bezczynności (cryptographic erasure)
    Pseudonim (random_nick) formatu np. „Anonimowy_Drozd_3F2A"Tożsamość mieszkańca w komentarzach, ocenach, zgłoszeniach (zamiast imienia/nazwiska)art. 6 ust. 1 lit. b RODO (j.w.) — niezbędny element profilu w umowie świadczenia usługiDo usunięcia konta + dodatkowe 30 dni cache CDN (potem CF purge)
    Avatar seed (32 hex znaki, deterministyczny generator SVG Initials self-hosted)Wizualna identyfikacja mieszkańca na komentarzach + profiluart. 6 ust. 1 lit. b RODO (j.w.)j.w.
    Reputation_score (integer, slow-growth +1/dzień max)Trusted threshold dla zgłoszeń incydentów (≥20 punktów + 7 dni + 0 dismissed → auto-przyjęcie do w trakcie)art. 6 ust. 1 lit. f RODO (uzasadniony interes — anti-Sybil)Do usunięcia konta
    IP_hash (HMAC-SHA256 + sól blind_key, pseudonimizacja per RODO art. 4 pkt 5)Anti-abuse rate limit, anti-double-vote przy reakcji „+1"art. 6 ust. 1 lit. f RODO (uzasadniony interes — anti-spam)12 miesięcy
    UA_hash (HMAC nagłówka User-Agent)Anti-bot detectionart. 6 ust. 1 lit. f RODO12 miesięcy
    Lokalizacja GPS (przy checkin spatial proof „byłem tu")Weryfikacja czy mieszkaniec faktycznie jest w pobliżu POI (haversine ≤200m), anti-checkin-spamart. 6 ust. 1 lit. f RODO + art. 6 ust. 1 lit. a (zgoda dobrowolna — checkin wymaga przycisku „Zarejestruj wizytę")30 dni od checkin (potem agregacja anonimowa do reputation_score)

    Procedura magic-link (two-step verify)

    1. Mieszkaniec wpisuje email w /u/login → otrzymuje magic-link emailem (Brevo transactional);
    2. Klik linka → GET potwierdza tożsamość ale NIE konsumuje tokenu (anty-prefetch Gmail/Outlook) → wyświetla przycisk „Zaloguj się";
    3. Klik przycisk → POST konsumuje token + lazy account creation (jeśli pierwsza wizyta) + sesja 30 dni (cookie HttpOnly + Secure + SameSite=Strict);
    4. Token magic-link ważny 15 minut, jednorazowy.

    Twoje prawa jako mieszkańca

    • Dostęp do swoich danych (art. 15) — panel /u/profile pokazuje wszystkie Twoje dane (nick, awatar, reputation, statystyki checkin, lista incydentów);
    • Sprostowanie (art. 16) — możesz w każdej chwili zmienić email (przez wylogowanie + nowy magic-link na inny adres);
    • Usunięcie (RODO art. 17 — prawo do bycia zapomnianym) — przycisk „Usuń konto" w panelu /u/profile. Po kliknięciu wykonujemy cryptographic erasure: email zerujemy, blind index zastępujemy sentinel'em, nick zmieniamy na deleted#{id}, awatar usuwamy z cache + CF purge. Wszystkie aktywne sesje rewokujemy. Incydenty zgłoszone przez Ciebie są detached (reporter_resident_id → NULL) dla rozwiązanych/odrzuconych zgłoszeń — Urząd zachowuje treść (interes publiczny) ale powiązanie z Tobą jest zerwane;
    • Ograniczenie przetwarzania (art. 18) — skontaktuj się przez [email protected];
    • Przeniesienie danych (art. 20) — eksport JSON twoich danych (nick, reputation, checkin history) na żądanie email;
    • Sprzeciw (art. 21) — możesz sprzeciwić się przetwarzaniu reputation_score / IP_hash (które są na podstawie art. 6 ust. 1 lit. f). Skontaktuj się przez [email protected];
    • Skarga do organu nadzorczego — Prezes UODO (RODO art. 77).

    Sekcja E — Dla zgłaszającego problem (incident reporter)

    Zgłaszający = mieszkaniec wysyłający formularz /zglos-problem (z kontem LUB anonimowo z podaniem emaila). Email zaszyfrowany at-rest, deszyfrowany wyłącznie server-side dla wysyłki mail-back z decyzją Urzędu Gminy. Każda dekrypcja jest logowana w audycie. Zgłoszenia rozpatruje Urząd Gminy jako odrębny administrator danych.

    Podział ról RODO — Operator vs Urząd Gminy

    Operator (MAGNET MEDIC) jest administratorem warstwy technicznej: szyfrowanie at-rest danych, transport email (Brevo), storage zdjęć, retencja, audyt dekrypcji. Urząd Gminy jest odrębnym administratorem decyzji moderacyjnych: status incydentu, uzasadnienie, treść komunikacji z reporterem. To NIE jest joint-controllership (zob. Regulamin Gmin §moduł zgłoszeń + Załącznik 1).

    Podstawa prawna po stronie Urzędu Gminy: Urząd jako odrębny administrator rozpatruje zgłoszenia na własnej podstawie prawnej — art. 6 ust. 1 lit. e RODO (zadanie publiczne gminy realizowane na podstawie art. 7 ustawy z dnia 8 marca 1990 r. o samorządzie gminnym) lub art. 6 ust. 1 lit. c RODO (obowiązek prawny — np. w sprawach dot. ustawy o utrzymaniu czystości i porządku w gminach). Operator NIE wskazuje podstawy prawnej za Urząd — zgłaszający powinien zapoznać się z klauzulą informacyjną Urzędu Gminy na stronie BIP konkretnej gminy.

    Test uzasadnionego interesu (RODO art. 6 ust. 1 lit. f) — balance test

    Operator dokumentuje trzystopniowy test uzasadnionego interesu zgodnie z wytycznymi EROD 06/2021:

    1. Interes: umożliwienie mieszkańcom zgłaszania problemów w przestrzeni publicznej gminy — cel publiczny powiązany z realizacją zadań samorządowych (art. 7 ustawy o samorządzie gminnym).
    2. Niezbędność: email zgłaszającego jest jedynym sposobem dostarczenia statement of reasons (DSA art. 17 ust. 1) oraz counter-claim (DSA art. 20). Alternatywa pełnej anonimowości naruszałaby obowiązki DSA. IP_hash i pseudonimizacja są minimalizacją — Operator nie przetwarza surowych IP.
    3. Balance test: interes zgłaszającego w prywatności (zwłaszcza w małej gminie, gdzie identyfikacja pośrednia jest możliwa) jest chroniony przez: (a) szyfrowanie at-rest AEAD, (b) brak upublicznienia emaila — UM widzi placeholder „[zaszyfrowany]" do momentu kliknięcia „Wyślij wiadomość" (z audytem), (c) audyt dekrypcji w point_audit_log, (d) prawo do sprzeciwu (art. 21), (e) short retencja (12 mc od rozstrzygnięcia + cryptographic erasure). Wyjątkowe ryzyko tożsamości w małej gminie jest mitigowane przez (a)-(e) — interes publiczny zgłaszania problemów PRZEWAŻA nad ryzykiem residualnym.

    Co zbieramy w trakcie zgłoszenia

    DanaCelPodstawa prawnaRetencja
    Email zgłaszającego (zaszyfrowany AEAD z context incident:reporter:email)Mail-back z decyzją Urzędu (DSA art. 17 ust. 1 statement of reasons); komunikacja UM → reporter (formularz „Wyślij wiadomość" w panelu moderacyjnym)art. 6 ust. 1 lit. f RODO (uzasadniony interes — umożliwienie mieszkańcom zgłaszania problemów w przestrzeni publicznej; NIE art. 6 ust. 1 lit. b umowa — anonim NIE jest stroną umowy)12 miesięcy od rozstrzygnięcia (potem cryptographic erasure — wpis audit log gdpr17_erasure)
    Reporter_email_blind_index (HMAC-SHA256 znormalizowanego emaila — Gmail aliases canonicalized)Anti-Sybil (jeden zgłaszający nie może zalewać systemu wieloma „+suffix" gmail aliasami)art. 6 ust. 1 lit. f RODOj.w.
    Reporter_ip_hash (HMAC client IP)Anti-abuse rate limit (3 zgłoszenia/IP/godz), wykrywanie wzorców spamuart. 6 ust. 1 lit. f RODO12 miesięcy
    Lokalizacja GPS (lat/lng zgłoszenia)Wyświetlenie incydentu na mapie gminy + weryfikacja czy incydent jest w granicach gminy (bounds_json check)art. 6 ust. 1 lit. f RODO (cel publiczny — interwencja Urzędu)Tożsama z retencją zgłoszenia
    Zdjęcie (JPEG/PNG/WebP, max 10MB, automatyczny strip EXIF, content-addressable sha256 filename, storage outside web-root)Dowód wizualny dla Urzędu (kontekst zgłoszenia: dziura w drodze, śmieci, etc.)art. 6 ust. 1 lit. f RODO30 dni dla śmieci, 180 dni dla nielegalny_event, 90 dni dla pozostałych (cron expire-points co 10 min usuwa starsze pliki)
    Opis tekstowy (max 1000 znaków)Kontekst zgłoszenia dla moderatoraart. 6 ust. 1 lit. f RODOTożsama z retencją zgłoszenia (12 mc od rozstrzygnięcia)

    Ostrzeżenie — ochrona wizerunku osób na zdjęciach (art. 81 PrAut + art. 9 RODO)

    Formularz zgłoszenia wyświetla wyraźne ostrzeżenie w kroku 2 (foto + opis): „Nie fotografuj rozpoznawalnych osób bez ich zgody". Powód:

    • Art. 81 ust. 1 ustawy o prawie autorskim i prawach pokrewnych (PrAut) wymaga zgody osoby przedstawionej na rozpowszechnianie jej wizerunku;
    • Art. 9 ust. 1 RODO klasyfikuje wizerunek jako szczególną kategorię danych osobowych — wymagane podstawy z ust. 2 (np. wyraźna zgoda osoby);
    • Operator nie posiada automatycznego mechanizmu rozpoznawania twarzy w fazie pilotażu — moderator Urzędu Gminy ocenia każde zdjęcie przed upublicznieniem. W razie wątpliwości moderator może odrzucić zgłoszenie z uzasadnieniem lub poprosić zgłaszającego o usunięcie zdjęcia rozpoznawalnej osoby.

    Twoje prawa jako zgłaszającego

    • Dostęp do swoich danych (art. 15) — możesz w każdej chwili poprosić Operator (przez [email protected]) o kopię swoich zgłoszeń z deszyfrowanym emailem (audyt dekrypcji loguje to żądanie);
    • Sprostowanie (art. 16) — wymaga kontaktu z Operatorem (treść zgłoszenia nie może być edytowana po wysłaniu — audit trail);
    • Usunięcie (RODO art. 17) — możesz żądać usunięcia swojego zgłoszenia. Operator wykonuje cryptographic erasure swojej warstwy (email_enc → NULL, blind index → sentinel, foto unlink z storage). Urząd Gminy jako odrębny administrator może zachować treść decyzji moderacyjnej jeśli ma podstawę z interesu publicznego (zgłoszenie dot. ogólnej sprawy publicznej, np. dziura w drodze — interes informacyjny mieszkańców gminy). W takim przypadku otrzymasz odpowiedź uzasadniającą;
    • Sprzeciw wobec przetwarzania (art. 21) — szczególnie istotne ponieważ podstawa to art. 6 ust. 1 lit. f (uzasadniony interes). Możesz sprzeciwić się przetwarzaniu wskazując, że Twoje konkretne okoliczności (np. obawa przed represją) przeważają nad interesem publicznym. Skontaktuj się przez [email protected];
    • Counter-claim DSA art. 20 — w przypadku decyzji odrzucone lub spam możesz odpowiedzieć na mail-back (Reply-To [email protected]). Operator forwarduje odpowiedź do Urzędu Gminy, który rozpatruje odwołanie w 7 dni roboczych. W razie braku odpowiedzi Urzędu Operator może eskalować do osoby decyzyjnej w Urzędzie;
    • Skarga do PUODO — Prezes Urzędu Ochrony Danych Osobowych (RODO art. 77);
    • Skarga do organu nadzoru ds. usług cyfrowych (DSC) — planowany w Polsce na 2026/2027 (zob. Ministerstwo Cyfryzacji). Status: do ustalenia.

    Sekcja F — Procesory danych przeciwko nadużyciom (anti-abuse)

    Operator stosuje opcjonalne mechanizmy ochrony przed nadużyciami modułu zgłoszeń: Cloudflare Turnstile (CAPTCHA) i Spamhaus DNSBL. Obecnie oba są wyłączone (off-by-default) — włączane manualnie przez Operatora pod atakiem (DDoS, bot flood). Włączenie wymaga uprzedniej akceptacji procesora i aktualizacji niniejszej polityki.

    Cloudflare (CDN + Turnstile)

    ProcesorCloudflare, Inc.
    SiedzibaSan Francisco, USA
    Lokalizacja przetwarzaniaEdge serwery globalnie + EU region dla EU klientów
    Zakres danychMetadane: IP, nagłówki HTTP, geolokalizacja przybliżona; NIE treść (Operator szyfruje at-rest)
    Podstawa transferu poza EOGSCC (Standard Contractual Clauses) Komisji Europejskiej decyzja wykonawcza 2021/914 z 4 czerwca 2021
    DPACloudflare DPA — w trakcie akceptacji (planowane przed publicznym launchem pilotu Czaplinek)
    Status TurnstileOFF by default w fazie pilotażu — włączany manualnie pod atakiem (DDoS, bot flood). Sitekey + secret w /etc/vps-ai/lokalsi/turnstile.key

    Spamhaus DNSBL (DNS-based blacklist)

    ProcesorThe Spamhaus Project Ltd
    SiedzibaGenewa (CH) — projekt; główne serwery w UK/CH/AT
    Zakres danychReversed IPv4 client w postaci DNS query (np. 4.3.2.1.zen.spamhaus.org) → DNS lookup zwraca status listed/clean. Operator NIE przesyła treści zgłoszenia, nicku ani emaila.
    Podstawa transferu poza EOGUK: decyzja adekwatności KE wygasła czerwiec 2025 (wymaga ponownej decyzji). Obecnie Operator wyłączył DNSBL w pilotażu (config flag dnsbl_enabled = false) jako mitygacja braku ważnego mechanizmu z art. 44 RODO. Włączenie wymagałoby (a) ponownej decyzji adekwatności UK przez KE, ALBO (b) zawarcia UK SCC, ALBO (c) zastosowania alternatywnego DNSBL z UE.
    Status DNSBLOFF by default w fazie pilotażu. Włączenie wymaga uprzedniej aktualizacji niniejszej polityki + analizy UK adequacy alternative path.

    Brevo (transport email)

    Brevo (dawniej Sendinblue) — francuski dostawca usług emailowych, używany do wszystkich transactional emaili (magic-link logowania, mail-back statusów zgłoszeń, wiadomości UM → reporter). Brevo jest processorem Operatora w rozumieniu RODO art. 28. DPA Brevo zaakceptowana. Lokalizacja: Paryż (Francja), brak transferu poza EOG.

    Frontend CDN — unpkg + Google Fonts (libraries map + typografia)

    ProcesorCelLokalizacjaDane przesyłanePodstawa transferu poza EOG
    unpkg.com (Cloudflare-backed)CDN dla bibliotek MapLibre GL JS, PMTiles, Protomaps Basemaps (renderowanie mapy)Globalna sieć Cloudflare (USA + EU edge)IP klienta + nagłówek User-Agent przy żądaniu pliku JS/CSSSCC Cloudflare (procesor pośredni)
    Google Fonts (fonts.googleapis.com + fonts.gstatic.com)CDN dla fontów DM Sans + JetBrains Mono (typografia platformy)Globalna sieć Google (USA + EU edge)IP klienta + UA przy żądaniu pliku WOFF2SCC Google + Google DPA standard

    Status: Frontend CDN są aktywne w pilotażu. Operator rozważa migrację do self-hosting (eliminacja transferu IP do USA) w F-DOCS v2 — defer post-MVP.

    Mitigation MVP: przy każdym renderowaniu strony użytkownika IP jest przekazany do Cloudflare (proxy front) — nie ma dodatkowego transferu poza tym co już udostępnia Cloudflare jako CDN platformy. unpkg jest hostowany na Cloudflare — efektywnie ten sam procesor. Google Fonts jest dodatkowym transferem, planowany self-host w F-DOCS v2.

    Pseudonimizacja ip_hash i ua_hash

    Operator stosuje pseudonimizację adresów IP i nagłówków User-Agent przez HMAC-SHA256 z kluczem blind.key (per RODO art. 4 pkt 5). To nie jest anonimizacja w rozumieniu Motywu 26 RODO — przy posiadaniu klucza HMAC + pełnej listy IP/UA możliwa jest re-identyfikacja. Stosujemy ją jako technikę bezpieczeństwa minimalizującą zakres danych, nie jako podstawę zwolnienia z obowiązków RODO. Wszystkie obowiązki informacyjne (art. 13, 15-21) zachowane.

    Decyzje zautomatyzowane (RODO art. 22)

    Operator stosuje następujące mechanizmy decyzji zautomatyzowanych w module zgłoszeń:

    • Trusted threshold — auto-przyjęcie zgłoszenia do statusu w trakcie dla mieszkańców z reputacją ≥ 20 + ≥ 7 dni od rejestracji + 0 odrzuconych. To NIE jest decyzja o istotnym wpływie (skutkuje jedynie skróceniem oczekiwania w kolejce moderacji — Urząd nadal podejmuje finalną decyzję);
    • Spamhaus DNSBL block (gdy włączony) — odmowa przyjęcia zgłoszenia od IP wpisanego na DNSBL. Ma istotny wpływ — zgłaszający traci możliwość kontaktu z Urzędem. W takim przypadku Operator zapewnia prawo do interwencji ludzkiej (RODO art. 22 ust. 3): kontakt na [email protected] → Operator manualnie weryfikuje decyzję i może whitelistować IP;
    • Cloudflare Turnstile fail (gdy włączony) — odmowa przyjęcia zgłoszenia z niezweryfikowanym tokenem CAPTCHA. Ma istotny wpływ w tej samej skali co DNSBL. Prawo do interwencji ludzkiej: [email protected].

    Bezpieczeństwo danych — zastosowane środki

    Zgodnie z art. 32 RODO Administrator stosuje następujące środki techniczne i organizacyjne:

    Środki techniczne

    • Envelope encryption (XChaCha20-Poly1305-IETF AEAD libsodium, KEK→DEK) dla wszystkich PII (email, imię, NIP, audit log).
    • Blind index (HMAC-SHA-256) do wyszukiwania bez deszyfracji.
    • Prepared statements PDO — ochrona przed SQL injection.
    • htmlspecialchars / textContent na wyjściu — ochrona przed XSS.
    • Content Security Policy (CSP) — ograniczone źródła skryptów.
    • HTTPS wymuszony (HSTS, Cloudflare Full SSL).
    • HttpOnly + Secure + SameSite=Strict cookies (admin + resident sessions; defense-in-depth przeciw CSRF top-level navigation).
    • Magic-link auth — brak haseł, brak persistent JWT.
    • Two-step magic-link verification (ochrona przed prefetchem Gmail/Outlook).
    • Klucze kryptograficzne w /etc/vps-ai/lokalsi/ z uprawnieniami root:www-data 640.
    • Rate limiting per IP / per email (APCu).
    • .htaccess blokuje dostęp do plików config, .env, dotfiles, katalogu install/.

    Środki organizacyjne

    • Rejestr czynności przetwarzania (art. 30 RODO).
    • DPIA (Data Protection Impact Assessment, art. 35 RODO).
    • Procedura incident response — powiadomienie UODO w ciągu 72 godzin (art. 33 RODO).
    • Backup szyfrowany z retencją 30 dni rolling.
    • Audit log wszystkich zmian POI i żądań art. 17.
    • Zasada minimalizacji danych (art. 5 ust. 1 lit. c RODO).

    Transfery danych poza EOG

    Wszystkie dane przechowywane są na terenie UE (Hetzner DE, Brevo FR). Wyjątek stanowią metadane techniczne (IP, nagłówki HTTP) przekazywane przez Cloudflare, która jako podmiot z siedzibą w USA może przetwarzać metadane na serwerach edge globalnie. Transfer ten jest objęty Standardowymi Klauzulami Umownymi (SCC) Komisji Europejskiej z dnia 4 czerwca 2021 r. (decyzja wykonawcza 2021/914).

    Treść danych użytkowników (komentarze, dane POI, emaile szyfrowane) nie jest transferowana przez Cloudflare — pozostaje na serwerze Hetzner w Niemczech.

    Profilowanie i decyzje zautomatyzowane

    Administrator nie stosuje profilowania ani zautomatyzowanego podejmowania decyzji wywołujących skutki prawne (art. 22 RODO). Automatyczne filtry komentarzy (wykrywanie wzorców PESEL, telefon, IBAN) służą wyłącznie ochronie przed nadużyciami i nie wywołują skutków prawnych.

    Zmiana polityki

    Administrator zastrzega prawo do zmiany niniejszej Polityki prywatności. O istotnych zmianach POI właściciele oraz Komentujący zostaną poinformowani drogą emailową z 30-dniowym wyprzedzeniem.

    Kontakt i realizacja praw

    • Email: formularz kontaktowy
    • Formularz online: /rodo
    • Notice-and-takedown (DSA): /zglos
    • Skarga do organu nadzorczego: Prezes UODO, ul. Stawki 2, 00-193 Warszawa

    Wersja: 1.1 · Data: 2026-05-25 · Kontakt: formularz kontaktowy

    v1.1  ·  aktualizacja 25.05.2026
    Spis treści
      Lokalsi

      Lokalna mapa dla polskich gmin.
      Bez algorytmów. Bez korporacji.

      Używamy wyłącznie cookies sesyjnych (preferencje motywu, sesja PHP). Brak śledzenia — banner nie jest wymagany.
      Art. 5 dyrektywy ePrivacy & RODO art. 13
      Dokumenty
      • Regulamin platformy
      • Regulamin dla gmin
      • Polityka prywatności
      • Prawa RODO
      • Zgłoszenie / kontakt
      Administrator danych
      MAGNET MEDIC Tomasz Fiedoruk
      NIP: 2530148533
      REGON: 331412634
      BDO: 000005014
      ul. Dworcowa 19
      78-550 Czaplinek
      Formularz kontaktowy

      MAGNET MEDIC Tomasz Fiedoruk jest administratorem danych platformowych. Pełna informacja: /polityka-prywatnosci

      Procesory danych
      • DE Hetzner Online GmbH
        Serwer VPS — przetwarzanie danych na terenie DE/UE
      • FR Brevo SAS
        Email transakcyjny — magic-link, powiadomienia
      • US Cloudflare Inc.
        CDN / DNS / WAF — SCCs (US→UE transfer)
      MAGNET MEDIC Tomasz Fiedoruk ©2026 · lokalsi.link · Pilot Czaplinek
      GitHub RODO Zgłoś problem