ca5f3ebfc1
Deploy Polska Lokalnie / deploy (push) Successful in 22s
Audyt pokazal rozbieznosci w obie strony: dokumenty opisywaly funkcje, ktorych nie ma (logowanie Google/Facebook), a kod robil rzeczy, ktorych dokumenty nie ujawnialy. Kod: - zgody marketingowe domyslnie WYLACZONE (byly true dla kazdego nowego konta) + skrypt fix-marketing-consents.sql czyszczacy stare wpisy, - usuniete tlumaczenie przez nieoficjalne API Google - przy zmianie jezyka wysylalo do USA tresci stron, w tym wiadomosci i nazwiska, - osadzone spacery (YouTube, Matterport, Kuula) laduja sie dopiero po zgodzie; YouTube w trybie bez ciasteczek; mapy jak dotad, - usuniecie konta kasuje dane osobowe (AccountErasureService), a nie tylko wiersz app_users, - wygasle tokeny i kody SMS kasowane po 7 dniach (ExpiredTokenCleaner), - zapisujemy moment akceptacji regulaminu przy rejestracji. Dokumenty: opisuja realne funkcje, wszystkich odbiorcow danych (OVH, Autopay, SMTP, SMS, Esri, OpenStreetMap, YouTube/Matterport/Kuula, GUS), transfery poza EOG, konkretne okresy przechowywania, procedure zgloszen z DSA, brak profilowania i tabele pamieci przegladarki zamiast fikcyjnych cookies analitycznych. Zakres NIS2 i DORA opisany zgodnie z prawda. Uklad stron prawnych jak reszta serwisu: kontener 1760 px, karty, spis tresci z boku. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
48 lines
2.1 KiB
PL/PgSQL
48 lines
2.1 KiB
PL/PgSQL
-- Wycofanie domniemanych zgod marketingowych.
|
|
--
|
|
-- Do 2026-09-23 encja Lead miala emailConsent i smsConsent ustawione domyslnie na TRUE, a lead
|
|
-- powstawal automatycznie przy kazdej rejestracji. Oznacza to, ze w bazie sa zgody, ktorych nikt
|
|
-- swiadomie nie wyrazil - a zgoda marketingowa musi byc uprzednia i wyrazna (art. 4 pkt 11
|
|
-- i art. 7 RODO oraz Prawo komunikacji elektronicznej). Kod juz tego nie robi (domyslnie FALSE),
|
|
-- ten skrypt porzadkuje dane, ktore powstaly wczesniej.
|
|
--
|
|
-- Skrypt zeruje zgody WSZYSTKIM leadom, bo w bazie nie ma sladu, kto zgode wyrazil swiadomie,
|
|
-- a kto dostal ja z automatu. Kierunek jest bezpieczny: uzytkownik moze ja wlaczyc sam
|
|
-- w ustawieniach konta. Trwalych rezygnacji (opt-out) skrypt nie rusza.
|
|
--
|
|
-- Domyslnie PROBA NA SUCHO: wszystko w jednej transakcji, skrypt pokazuje stan przed i po,
|
|
-- po czym robi ROLLBACK. Zapis nastepuje tylko z -v apply=1.
|
|
--
|
|
-- docker exec -i polskalokalnie-db-1 psql -U polskalokalnie -d polskalokalnie < scripts/fix-marketing-consents.sql
|
|
-- docker exec -i polskalokalnie-db-1 psql -U polskalokalnie -d polskalokalnie -v apply=1 < scripts/fix-marketing-consents.sql
|
|
|
|
\set ON_ERROR_STOP on
|
|
\if :{?apply}
|
|
\else
|
|
\set apply 0
|
|
\endif
|
|
|
|
BEGIN;
|
|
|
|
\echo '=== Stan przed ==='
|
|
SELECT 'leady razem' AS co, count(*) AS ile FROM leads
|
|
UNION ALL SELECT 'ze zgoda na e-mail', count(*) FROM leads WHERE email_consent
|
|
UNION ALL SELECT 'ze zgoda na SMS', count(*) FROM leads WHERE sms_consent
|
|
UNION ALL SELECT 'z trwala rezygnacja (nie ruszamy)', count(*) FROM leads WHERE email_opt_out OR sms_opt_out;
|
|
|
|
UPDATE leads SET email_consent = false WHERE email_consent;
|
|
UPDATE leads SET sms_consent = false WHERE sms_consent;
|
|
|
|
\echo '=== Stan po ==='
|
|
SELECT 'leady razem' AS co, count(*) AS ile FROM leads
|
|
UNION ALL SELECT 'ze zgoda na e-mail', count(*) FROM leads WHERE email_consent
|
|
UNION ALL SELECT 'ze zgoda na SMS', count(*) FROM leads WHERE sms_consent;
|
|
|
|
\if :apply
|
|
COMMIT;
|
|
\echo '>>> ZAPISANO (COMMIT) - zgody wyzerowane, uzytkownik moze je wlaczyc w ustawieniach konta'
|
|
\else
|
|
ROLLBACK;
|
|
\echo '>>> PROBA NA SUCHO - nic nie zostalo zmienione (ROLLBACK). Zapis: -v apply=1'
|
|
\endif
|