Bezpieczeństwo i prywatność

Claude nigdy nie zmienia sklepu za twoimi plecami. Ta strona prostymi słowami wyjaśnia, jak zachowujesz kontrolę i co dzieje się z danymi. Sekcja na końcu jest dla osoby z IT albo developera.

Nic się nie zmienia bez twojego „tak”

Każda zmiana ma trzy kroki:

  1. Podgląd. Claude pokazuje, co chce zmienić: stary i nowy tekst, starą i nową cenę, ostrzeżenia.
  2. Zgoda. Claude czeka. Zapisuje dopiero, gdy odpiszesz „tak”.
  3. Zapis. Zmiana zapisuje się tak samo, jak po kliknięciu „Zapisz” przez pracownika w panelu.

Podgląd jest ważny 30 minut i działa raz. Jeśli w międzyczasie ktoś zmieni ten sam produkt w panelu, Claude musi pokazać nowy podgląd.

Czytanie (audyty, wyszukiwanie, raporty) niczego nie zmienia i nie wymaga zgody.

Standard TellMyShop: jak Claude rozmawia o zmianach

Przed każdą zmianą Claude pokazuje, co się zmieni, mówi, jakie jest ryzyko i jak to cofnąć, i pyta o zgodę. Przy cenach i promocjach dostajesz krótką kartę ryzyka.

Moduł przypomina Claude'owi ten standard przy każdym połączeniu i przy każdym podglądzie. Im większe ryzyko, tym więcej słów:

RyzykoKiedyCo mówi Claude
Niskieopisy, meta, teksty alternatywne, strony CMS, nowe produktyjak było i jak będzie, jedno pytanie, bez ostrzeżeń „na wszelki wypadek”
Średnieadresy stron i przekierowania, kategorie i przypisania do kategorii; każda zmiana z ostrzeżeniami; zmiana o niskim ryzyku na więcej niż 20 elementachto samo plus 1–2 zdania: co zobaczą klienci lub Google i jak to cofnąć
WysokieHandel (ceny, promocje, kody rabatowe, stany, dostawa), wygląd, moduły, tryb serwisowy; zmiana o średnim ryzyku na więcej niż 20 elementachkrótka karta ryzyka (do 5 linii): co i gdzie się zmieni, kogo dotyczy, co może pójść nie tak i jak bardzo jest to prawdopodobne, jak cofnąć i czego cofnąć się nie da, ewentualnie dobra pora na zmianę

Przy więcej niż 20 elementach Claude najpierw pokazuje 2–3 próbki. Gdy nie ma pewności, że coś zadziała, mówi to i proponuje próbę na jednym elemencie. Zgodą jest tylko wyraźne „tak” do konkretnego podglądu; „ok” bez kontekstu, pytanie, „może” albo brak odpowiedzi to nie zgoda. Po zapisie Claude sprawdza efekt, krótko podaje wynik z liczbami (np. „28 z 30, 2 pominięte, bo…”) i mówi, jak cofnąć. Jeśli coś poszło inaczej niż w podglądzie, mówi to wprost i nie ponawia bez twojej zgody.

Przy niskim ryzyku Claude celowo nie dokłada ostrzeżeń: ich nadmiar uczy klikać „tak” bez czytania.

Zasady twojego sklepu dla Claude'a. W karcie Ustawienia: bezpieczeństwo, alarmy, limity możesz wpisać własne zasady, jedną w linii, np. „Piszemy do klientów na Ty”, „Nie używaj słowa tani”, „Opisy do 600 znaków” (razem do 1000 znaków). Claude dostaje je przy każdym połączeniu. Nie wyłączają podglądu ani twojej zgody przed zapisem.

Cofanie zmian

  • Zapytaj „Co wczoraj zmieniłeś?”, a Claude pokaże listę. To samo widać w karcie Historia zmian w module.
  • Napisz „Cofnij tę zmianę”, a Claude przywróci wcześniejszą wartość, znowu po podglądzie.
  • Nowe produkty, kategorie i strony utworzone przez Claude da się w ten sam sposób usunąć.
  • Pliki (motyw, moduły, pliki sklepu): przed każdą zmianą powstaje kopia, a każdą kopię da się przywrócić w karcie Kopie plików (tylko wersja płatna).
  • Zmiany w bazie danych w trybie serwisowym: zmieniane wiersze są najpierw kopiowane, więc zmianę da się cofnąć.
  • Adresy stron: Claude zmienia adres z powrotem i sprawdza, czy stary przekierowuje.

Kilku rzeczy nie da się cofnąć z historii zmian i Claude mówi o tym w podglądzie: zmian w plikach zdjęć produktów, instalacji, aktualizacji i odinstalowania modułu oraz zmian struktury bazy w trybie serwisowym. Zmiany plików motywu przywracasz zamiast tego w karcie Kopie plików.

Ty wybierasz, czego Claude może dotykać

  • Po instalacji Claude może tylko czytać.
  • Handel (ceny, promocje, wysyłka) jest wyłączony, dopóki go nie włączysz.
  • Prace techniczne (wygląd sklepu, moduły, tryb serwisowy) wymagają osobnego konektora serwisowego, który działa tylko z zatwierdzonych adresów i wygasa po 30 dniach. Tryb serwisowy wyłącza się sam po 1 do 24 godzinach.
  • Claude działa jako osobny pracownik, tylko z uprawnieniami, które mu dasz. Dziennik sklepu pokazuje wszystko, co zrobił.
  • Jest limit tego, ile Claude może zrobić w godzinę, osobno dla działań i dla zmian. Zmienisz go w karcie Ustawienia: bezpieczeństwo, alarmy, limity.
  • Duże prace są sprawdzane przed startem. Przed pracą na ponad ok. 20 elementach Claude sprawdza, czy zmieści się ona w limitach na godzinę, i mówi jednym zdaniem: mieści się albo się nie mieści. Jeśli się nie mieści, przed startem proponuje drogę: etapy, podniesienie limitu w panelu na czas pracy albo oszczędniejszy sposób. Każdy podgląd i każda zmiana pokazują, ile zostało w tej godzinie, a paczka zmian nigdy nie urywa się w połowie.

O każdej zmianie zasad dowiesz się od razu

  • E-mail za każdym razem, gdy luzujesz zabezpieczenie: wyłączenie trybu tylko do odczytu, włączenie Handlu albo obszaru technicznego, włączenie trybu serwisowego, dostęp do danych klientów, utworzenie konektora serwisowego, wyczyszczenie list IP, wyłączenie alarmów.
  • Codzienne podsumowanie e-mailem w dni, gdy coś się działo: ile razy Claude się łączył, co zmienił i czy były alarmy.
  • Alarm przy nietypowej aktywności: seria zmian w krótkim czasie albo adres zablokowany po 20 nieudanych próbach połączenia.
  • Kontrola plików samego modułu. Jeśli ktoś zmieni albo dopisze plik w module, dostajesz alarm.
  • Klucz awaryjny. Jeśli po zmianie technicznej sklep pokaże białą stronę, otwierasz adres awaryjny, wpisujesz klucz, a moduł przywraca zmienione przez siebie pliki. Działa nawet wtedy, gdy sklep nie działa.

Alarmy idą na adres e-mail sklepu, chyba że wpiszesz inny.

Dodatkowe zabezpieczenia cen

  • Ceny nie da się ustawić na 0.
  • Zmiana ceny o więcej niż 30% wymaga twojej dodatkowej zgody.
  • Promocja powyżej 90% wymaga dodatkowej zgody; powyżej 50% dostajesz ostrzeżenie.
  • Nowe kody rabatowe startują wyłączone. Sprawdzasz je, zanim klienci będą mogli ich użyć.

Dane twoich klientów

Zaprojektowany, by pomóc spełnić wymogi RODO, UK GDPR, CCPA/CPRA i LGPD. Administratorem danych pozostaje twój sklep i to on decyduje, jak używa danych klientów, a to zdanie nie jest certyfikatem zgodności.

Zbudowany zgodnie ze standardami technicznymi PrestaShop dla modułów: bezpieczne zapytania, escapowanie, ochrona plików, odinstalowanie z wyborem: zachowaj historię albo usuń wszystkie dane modułu.

Domyślnie Claude w ogóle nie widzi danych osobowych twoich klientów. Możesz to zmienić w karcie Dane klientów (RODO), wybierając jeden z trzech poziomów:

  • Wyłączony (domyślnie). Claude nie widzi klientów, adresów, zamówień ani wiadomości. Raporty sprzedaży pokazują produkty i kwoty, bez nazwisk.
  • Pseudonimizacja. Claude widzi zamówienia, wiadomości od klientów i statystyki, ale zamiast imienia i nazwiska ma inicjały, e-maile, telefony i adresy są zastąpione oznaczeniem w rodzaju „Klient-3f9a1c”, a adresy IP są skrócone. Ten sam klient ma to samo oznaczenie przez jedną dobę; następnego dnia oznaczenie jest inne. Claude powie „ten klient zamówił 3 razy”, ale nie wie, kto to. Danych klientów nie zmieni. Obsługa klienta wymaga co najmniej tego poziomu.
  • Pełny dostęp (czasowy). Na 1, 4, 8 albo 24 godziny, potem sam wraca do poprzedniego poziomu. Przy włączaniu wpisujesz cel, np. „reklamacja zamówienia 1234”, i dostajesz e-mail. Włączaj go tylko wtedy, gdy zadanie naprawdę tego wymaga.

Co jeszcze chroni twoich klientów:

  • Moduł sam znajduje dane osobowe. Rozpoznaje każdą tabelę z e-mailami, imionami i nazwiskami, telefonami, adresami, datami urodzenia albo adresami IP, także w modułach innych firm (opinie, newslettery, programy lojalnościowe). Nie trzeba niczego wskazywać. Karta Dane klientów (RODO) pokazuje, ile takich tabel znalazł.
  • Pliki, których Claude nie otworzy. Pliki z hasłami i kluczami, pliki od klientów (upload/, download/), logi serwera, zrzuty i kopie baz, .git i pliki samego konektora są zablokowane zawsze. Gdy Claude czyta logi albo wiadomości, e-maile, telefony i adresy IP są zamaskowane.
  • Szyfrowanie. Wpisy historii zmian z danymi klientów i wszystkie kopie plików są zapisane w postaci zaszyfrowanej. Klucz leży w pliku poza bazą danych, więc wyciek samej bazy ich nie ujawni.
  • Moduł RODO PrestaShop. Jeśli używasz oficjalnego modułu RODO PrestaShop (psgdpr), żądanie klienta o usunięcie albo eksport danych obejmuje też historię TellMyShop.

TellMyShop daje ci narzędzia do ochrony danych osobowych. Strona prawna zostaje po twojej stronie jako właściciela sklepu: podstawa prawna, polityka prywatności, rejestr czynności przetwarzania, umowa powierzenia z Anthropic i przekazywanie danych poza EOG. Moduł pokazuje propozycje tekstów do polityki prywatności i rejestru; daj je do sprawdzenia prawnikowi.

Dodatkowe zabezpieczenia: historia zmian i dziennik PrestaShop maskują dane klientów, nazwiska pracowników, adresy IP i klucze w tym, co widzi Claude. Lista historii zmian zawsze maskuje dane klientów, niezależnie od wybranego poziomu dostępu. Pełny dostęp wymaga licencji, wyłączonego trybu tylko do odczytu i celu na co najmniej 10 znaków oraz przypomina o umowie powierzenia z Anthropic. Odinstalowanie domyślnie zostawia historię. W karcie Dane klientów (RODO) jest przycisk Pobierz dziennik audytu (CSV): dziennik audytu pokazuje, kto i kiedy włączył pełny dostęp do danych, tryb serwisowy, bloki i licencję, i nie da się go wyczyścić z panelu. Historia zmian jest domyślnie usuwana po 180 dniach.

Tryb serwisowy a dane klientów. W trybie serwisowym (blok 4 Moduły i blok 5 Tryb serwisowy) developer pracujący z Claude może zmieniać kod sklepu, więc ochrona danych klientów zależy wtedy od tej osoby. Wybierz kogoś, komu ufasz, i włączaj te bloki tylko na czas prac. Włączenie bloku 4 albo 5 wymaga podania celu prac (co najmniej 10 znaków); cel, osoba i czas trafiają do dziennika audytu, a ty dostajesz e-mail.

Dokąd trafiają dane

  • Moduł działa na twoim serwerze.
  • Gdy Claude coś czyta, dane idą ze sklepu do twojego konta Claude w Anthropic. Rozmowy podlegają warunkom Anthropic.
  • TellMyShop nie dostaje twoich produktów, zamówień ani klientów. Sprawdzenie licencji wysyła tylko klucz licencji, domenę sklepu, losowy identyfikator instalacji i numery wersji (modułu, PrestaShop, PHP). Nie wysyła liczników użycia. W panelu możesz sam włączyć statystyki uruchomienia: same liczby (daty pierwszego połączenia, zadania i cofnięcia, liczba zmian i cofnięć, uruchomienia gotowych zadań, wywołania bloków), bez treści sklepu i danych klientów.

Tekst w sklepie to nie polecenie

Opisy produktów, strony albo wiadomości od klientów mogą zawierać dowolny tekst, także taki, który wygląda jak polecenie. Claude traktuje go jako treść, nie instrukcję. I tak nic się nie zapisze bez twojej zgody.

Chroń adres konektora

Adres konektora zawiera tajny klucz, jak hasło. Nie udostępniaj go. Jeśli wycieknie, wygeneruj nowy w ustawieniach modułu; stary od razu przestaje działać.

Szczegóły techniczne

Uwierzytelnienie. Statyczne tokeny, bez OAuth w 2.6.0 (Plan rozwoju). Token w adresie (?token=) albo Authorization: Bearer. Zapisywany jest tylko skrót SHA-256 i prefiks; pełny token widać raz; nowy token od razu unieważnia stary. Token w adresie może trafić do logów serwera i proxy: gdzie klient pozwala, używaj nagłówka, a po wycieku wymień token. Panel zaleca wymianę tokenu codziennego co pół roku.

Dwa konektory. Token codzienny: rdzeń, blok 1 Treści i SEO, blok 2 Handel. Token serwisowy: dodatkowo bloki 3–5, przyjmowany tylko z IP z jego własnej listy (obowiązkowej; domyślnie zakres Anthropic 160.79.104.0/21) i tylko przy aktywnym którymś z bloków 3–5; wygasa po SERVICE_TOKEN_TTL dniach (domyślnie 30, 7–90). Token testowy: 2 minuty.

Zabezpieczenia punktu dostępu (src/Endpoint.php, w tej kolejności):

#ZabezpieczenieWartość
1Włącznik konektoraPo instalacji wyłączony, dopóki właściciel go nie włączy (503)
2TransportTylko HTTPS (403)
3Blokada IP20 nieudanych uwierzytelnień z jednego IP w 10 minut; mija razem z oknem czasu; alarm do właściciela (429)
4Lista IPOpcjonalna, oba konektory; pusta = bez ograniczeń
4aKonektor serwisowyWłasna obowiązkowa lista IP + co najmniej jeden aktywny blok 3–5
5OriginŻądanie z nagłówkiem Origin musi pochodzić z https://claude.ai, https://claude.com, https://chatgpt.com albo https://chat.openai.com; żądania bez Origin przechodzą
6TokenCodzienny, serwisowy albo testowy
7LimityGodzinowe limity wywołań, zapisów i zapisów plików, do zmiany w karcie Ustawienia: bezpieczeństwo, alarmy, limity. Zapis paczki do 50 elementów liczy się jako jeden zapis; limit zapisów jest sprawdzany przed zapisem. Pozostałe limity pokazuje każdy podgląd i zapis oraz ps_get_shop_info; ps_check_capacity sprawdza zaplanowaną pracę przed startem
8Kontrola blokuPrzy każdym wywołaniu
9UprawnieniaPer zakładka i akcja panelu pracownika konektora (ExecutionContext::requirePermissions); SuperAdmin odrzucany

IP klienta: nagłówki proxy (CF-Connecting-IP, X-Forwarded-For) są brane pod uwagę tylko przy włączonym „Sklep za proxy / Cloudflare” i gdy bezpośredni rozmówca jest na liście zaufanych proxy.

Zapisy. change_token = HMAC narzędzia, argumentów i skrótu stanu „przed”; 30 minut, jednorazowy; wykonanie blokowane, jeśli dane zmieniły się po podglądzie. Zapis przez ObjectModel (ObjectWriter): walidacja pól, tylko zmienione pola, hooki actionObject…Update*, wpis w dzienniku PrestaShop z ID pracownika konektora, historia zmian. Szczegóły: Specyfikacja pkt 5.

Pliki. Motyw: biała lista Smarty i próbna kompilacja, sprawdzenie JSON, ostrzeżenia o nowych skryptach i domenach zewnętrznych, motyw nadrzędny tylko do odczytu. Moduły i pliki sklepu (Files\Zone): tylko ścieżki względne, realpath() w obrębie strefy, tylko rozszerzenia tekstowe; zawsze zablokowane: app/config/parameters.*, config/settings*.inc.php, .env*, *.key|pem|p12|crt|sql|sql.gz|dump|bak, .git, .svn, var/logs, upload, download, katalog prywatny modułu i sam moduł. Pliki PHP: sprawdzenie składni token_get_all(TOKEN_PARSE) przed zapisem; brak narzędzia do uruchamiania kodu. Przed każdym zapisem kopia; kopie trzymane 90 dni, zawsze co najmniej 5 ostatnich na plik.

SQL (blok 5). ps_db_query: SELECT/SHOW/DESCRIBE/EXPLAIN w transakcji READ ONLY, maks. 200 wierszy, e-maile i telefony maskowane. ps_db_execute: jedno polecenie; UPDATE/DELETE jednej tabeli najpierw kopiuje pasujące wiersze (maks. 1000) i wycofuje transakcję, gdy zmieni się więcej wierszy niż zadeklarowano; INSERT cofany przez usunięcie wiersza; DDL bez kopii, z ostrzeżeniem w podglądzie. Zawsze zablokowane: pracownicy, sesje, profile i uprawnienia, configuration (do tego ps_config, sekrety maskowane), webservice i klienci API, tabele konektora. Tabele z danymi osobowymi tylko przy poziomie danych klientów pseudo (z maskowaniem) albo full. Filtr opiera się na wzorcach i chroni przed pomyłką, nie przed celowym obejściem; tryb serwisowy to pełne zaufanie, dlatego jest czasowy, związany z IP i na osobnym tokenie.

Dane klientów (src/Privacy/PersonalData.php). Poziomy off / pseudo / full (CUSTOMER_DATA); full tylko na 1/4/8/24 h z podanym celem i wyraźnym potwierdzeniem, potem powrót do poprzedniego poziomu. Rozpoznawanie: stała lista tabel PrestaShop i popularnych modułów (customer, address, orders, cart, wiadomości, newsletter, psgdpr…) plus każda tabela z kolumną, której nazwa pasuje do wzorców e-mail, imię/nazwisko, telefon, adres, kod pocztowy, IP, data urodzenia, PESEL/NIP albo sekret, odczytana z information_schema; tabele firmowe (contact, store, supplier, manufacturer, warehouse, carrier) wyłączone. Maskowanie na poziomie pseudo: e-mail, telefon, adres i numery identyfikacyjne → oznaczenie Klient- + 6 znaków szesnastkowych (HMAC-SHA256 z kluczem dziennym wyprowadzonym z var/tellmyshop/keys/pseudonym.key: ta sama wartość daje to samo oznaczenie w ciągu doby, a następnego dnia inne); imię i nazwisko → inicjały plus oznaczenie; IPv4 → dwa pierwsze oktety, IPv6 i IP zapisane jako liczby ukryte; data urodzenia → rok; sekrety → ***. W wolnym tekście (logi, wiadomości, pliki) e-maile są skracane do j***@g***.com, a telefony, IP, tokeny i nagłówki Authorization maskowane. ps_list_changes maskuje dane klientów w każdym wpisie niezależnie od CUSTOMER_DATA (wartości kolumn jak wyżej, pozostałe jak wolny tekst). Nie piszemy „zgodny z RODO”: dane pseudonimizowane to nadal dane osobowe (motyw 26 RODO), a administratorem pozostaje sklep.

Szyfrowanie (src/Security/Crypto.php). libsodium secretbox (XSalsa20-Poly1305), klucz 32 B w var/tellmyshop/keys/history.key poza bazą danych. Szyfrowane: historia zmian obiektów z danymi klientów i wszystkie kopie plików. Utrata klucza = zaszyfrowanych zmian nie da się już cofnąć. Przejęcie całego serwera (pliki i baza) ujawnia też klucz; szyfrowanie chroni przed wyciekiem samej bazy. Kopię pliku klucza rób razem z kopią serwera i przechowuj ją osobno.

psgdpr. Hooki actionDeleteGDPRCustomer (usuwa dane klienta z zaszyfrowanej historii) i actionExportGDPRData (lista operacji konektora dotyczących klienta, bez wartości).

Alarmy dla właściciela (src/Security/Alerts.php). E-mail i wpis w dzienniku ze statusem ALERT przy: wyłączeniu trybu tylko do odczytu, danych klientów pseudo/full, włączeniu bloku 2–5, trybu serwisowego, wygenerowaniu tokenu serwisowego, wyczyszczeniu list IP, wyłączeniu alarmów, serii zapisów, blokadzie IP, naruszeniu integralności plików modułu. To samo zdarzenie najwyżej raz na 15 minut (zdarzenia z panelu zawsze). Podsumowanie raz na 24 h. Integralność: integrity.json (SHA-256 każdego pliku) porównany z dyskiem; wykrywa zmienione, usunięte i dopisane pliki PHP; sprawdzany przy każdym wejściu do panelu i najwyżej co 6 h przez konektor.

Klucz awaryjny (src/Security/RescueKey.php). Widoczny raz; zapisany tylko skrót SHA-256. Skrypt jest kopiowany do katalogu głównego sklepu pod losową nazwą, bo PrestaShop blokuje bezpośrednie wywołania PHP w modules/. Przywraca pliki zmienione przez konektor i wyłącza tryb serwisowy; zmian w bazie nie cofa. Usuwany przy odinstalowaniu.

Retencja. Dziennik połączeń 30 dni (7–180); historia zmian 180 dni (30–730); kopie plików 90 dni, co najmniej 5 na plik.

Niepotrzebne: PrestaShop Account, Eventbus. Połączenia wychodzące: serwer licencji (https://tellmyshop.pl/api/v1), własne strony sklepu (HttpProbe, sprawdzanie adresów), adresy paczek ZIP modułów i zdjęć, które Claude podaje na prośbę właściciela.

Lista kontrolna dla IT

  • Osobny nieaktywny pracownik i profil, nie SuperAdmin (robi to przycisk „Utwórz konto dla Claude”).
  • Tryb tylko do odczytu włączony, dopóki właściciel nie przetestuje odczytu.
  • Handel wyłączony, jeśli niepotrzebny; token serwisowy tylko na prace techniczne; najpierw klucz awaryjny, przechowywany poza sklepem.
  • Dostęp do danych klientów wyłączony, chyba że zadanie go wymaga; pełny dostęp tylko z podanym celem.
  • Listy IP przejrzane; ustawienie proxy poprawne, jeśli sklep stoi za Cloudflare.
  • Adres e-mail do alarmów sprawdzony.
  • Adres konektora przechowywany jak sekret; nagłówek tam, gdzie się da.
  • Harmonogram kopii bazy, niezależny od TellMyShop.
  • ps_check_shop_health przed większymi zmianami.

PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadną z tych firm.

Aktualizacja: 2026-10-04