Claude dodaje znak wodny do wszystkiego, co pisze. Twojego kodu to prawie nie dotyczy.
Anthropic znakuje teraz odpowiedzi Claude. Co naprawdę jest oznaczane, dlaczego kod w dużej mierze tego unika, kto to wykryje i dlaczego SEO się nie zmienia.
Anthropic opublikował stronę pomocy o tym, jak Claude oznacza treści wygenerowane przez AI, i w niecałą dobę cała lektura zwęziła się do jednego zdania: Claude teraz na ciebie donosi, a każde repozytorium, którego dotknął agent, staje się ryzykiem.
Ta interpretacja jest błędna dokładnie w tym punkcie, na którym ludziom zależy najbardziej. Oznaczanie jest realne, obejmuje cały świat i nie jest opcjonalne. Celuje też w prozę, a proza to dokładnie to, czym kod nie jest. Poniżej: co faktycznie zostało wdrożone, jak działa ten mechanizm w prostych słowach, dlaczego wygenerowany kod jest jego najgorszym możliwym nośnikiem i dlaczego panika wokół SEO nie ma żadnych podstaw.
Co Anthropic naprawdę wdrożył
Anthropic podpisał Code of Practice on Transparency of AI-Generated Content z EU AI Act. Oznaczanie jest techniczną stroną tego zobowiązania i przybiera dwie różne formy.
Tekst dostaje statystyczny znak wodny. Niewyczuwalny znak wpleciony w sam wygenerowany tekst. Słowami Anthropic: „wplata niewyczuwalny znak wodny bezpośrednio w sam tekst. Nie zobaczysz go i nie zmienia on znaczenia, jakości ani czytelności odpowiedzi Claude”. Przetrwa kopiowanie i wklejanie oraz „może przetrwać część edycji”.
Pliki dostają podpisane metadane o pochodzeniu. Kiedy Claude generuje obsługiwany typ pliku, dziś .svg, .png i .jpg, dołącza do niego metadane zgodne z otwartym standardem C2PA, tym samym systemem Content Credentials wspieranym przez Adobe, Microsoft i BBC.
Zasięg jest szeroki i warto podać go precyzyjnie, bo spora część komentarzy zakładała, że to środek ograniczony do Unii Europejskiej albo do Claude.ai:
| Modele | Wszystko, co wypuszczono 2 sierpnia 2026 lub później, oznaczane od premiery |
| Powierzchnie | API, Claude web, Claude Code, Cowork, Tag |
| Partnerzy chmurowi | AWS, Google Cloud, Microsoft Foundry |
| Zasięg geograficzny | Cały świat, nie tylko Unia Europejska |
Znak wodny to nie ukryty znak specjalny
To największe pojedyncze nieporozumienie i powód, dla którego połowa krążących teraz porad jest bezużyteczna.
Ludzie zakładają, że znak to coś wstawionego do tekstu: spacja o zerowej szerokości, nietypowy wariant Unicode, charakterystyczny wzorzec interpunkcji. To założenie prowadzi prosto do „wystarczy przepuścić tekst przez czyszczarkę i po sprawie”. To nie działa, bo nie ma tam nic wstawionego do wyczyszczenia.
Znakiem jest to, które słowa zostały wybrane.

Anthropic nie opublikował swojego algorytmu i jest to świadomy wybór, do którego jeszcze wrócimy. Ale każda opisana przez nich właściwość (niewidoczny, wewnątrz tekstu, przetrwa kopiowanie i wklejanie, wymaga odpowiedniej ilości tekstu, żeby dało się go odczytać) pasuje do opublikowanej rodziny znaków wodnych opartych na stronniczym próbkowaniu, czyli do podejścia stojącego za SynthID-Text od Google i za pracami akademickimi, które je poprzedziły.
Pomysł jest prostszy, niż brzmi. Za każdym razem, gdy model pisze, wybiera kolejny token ze zbioru kandydatów. Bardzo często kilku kandydatów jest niemal równoważnych: szybki, prędki, rączy, chyży sprawdzają się tak samo. Tajny klucz dzieli słownik na grupę uprzywilejowaną i całą resztę, a sampler przechyla się w stronę tej pierwszej zawsze wtedy, gdy przechylenie nic nie kosztuje w sensie znaczenia ani jakości.
Pojedynczy taki wybór nie mówi nic. Sam przypadek umieściłby mniej więcej połowę tokenów w grupie uprzywilejowanej. Ale na przestrzeni kilkuset tokenów nierównowaga urasta do czegoś, co da się zmierzyć, a detektor mający klucz potrafi obliczyć, jak daleko tekst leży od tego, co dałby przypadek. Ta różnica to cały sygnał.
Wynikają z tego bezpośrednio dwie konsekwencje i obie liczą się bardziej niż sam mechanizm:
- Długość jest twardym wymogiem. Tweet albo komunikat commita nie niesie żadnego użytecznego sygnału. Detektor potrzebuje objętości.
- Zmiana słów to jedyna rzecz, która go usuwa. Nie dlatego, że to sprytny trik, ale dlatego, że słowa są tym znakiem.
Dlaczego wygenerowany kod jest najgorszym możliwym nośnikiem
Tu jest to, co panika pominęła. Znak wodny oparty na próbkowaniu jest podatkiem od swobody wyboru i można go pobrać tylko tam, gdzie ta swoboda istnieje. Proza jest w nią bogata. Kod jest bliski bankructwa.

Weźmy jedną zupełnie zwyczajną linię: const user = await getUserById(id).
const narzucają konwencje samego pliku. getUserById to w ogóle nie jest wybór, to nazwa, która już istnieje w bazie kodu, a jakikolwiek niemal równoważny odpowiednik byłby po prostu błędem. await wymusza sygnatura funkcji. Nawiasy i argument wymusza składnia. Co jest tu naprawdę wolne? Nazwa zmiennej lokalnej i sformułowanie komentarza. To cały dostępny kanał.
Porównaj to teraz z akapitem prozy, w którym niemal każde słowo znaczące ma trzy albo cztery wymienne alternatywy. Różnica nie jest marginalna: to różnica między dziesiątkami miejsc nośnych na akapit a garstką na cały plik.
A potem przejeżdża po tym pipeline.
Formatery są tu konkretnym problemem. prettier, eslint --fix, gofmt, black, rustfmt istnieją po to, żeby normalizować dokładnie te niemal równoważne wybory powierzchniowe, których znak wodny używa jako nośnika. Puszczenie formatera po wygenerowanym kodzie jest funkcjonalnie praniem znaku wodnego, choć nikt tego tak nie zaplanował. Dorzuć poprawki z code review, zmianę nazwy, refaktor i przeplatanie wygenerowanego kodu z ludzkim w tym samym pliku, a resztka rozłoży się po diffach i tak zwykle o wiele za krótkich, żeby cokolwiek na nich zmierzyć.
Uczciwe zastrzeżenie, bo to argument z mechaniki, a nie potwierdzone wyłączenie: Anthropic nie powiedział, że kod jest wykluczony, nie opublikował algorytmu i nie wydał detektora. Nikt poza Anthropic nie zmierzy, co naprawdę zostaje w zacommitowanym pliku .ts. Scenariusz z największą resztkową ekspozycją to długi wygenerowany plik, zacommitowany bez zmian, bez formatowania i nigdy nieprzejrzany. Jeśli tak wygląda twój workflow, znak wodny jest najmniejszym z problemów, które on tworzy, a nasze stanowisko w sprawie przeglądania kodu pisanego przez agentów obowiązuje na długo przed tym.
Co go kasuje i kto naprawdę potrafi go wykryć
Anthropic jest nietypowo bezpośredni w kwestii ograniczeń i warto mu to zapisać na plus. Wykryty znak oznacza, że treść być może została przetworzona przez Claude. Wprost nie jest to rozstrzygające. A brak znaku nie dowodzi zupełnie niczego.

Pytanie o wykrywanie dzieli się czysto na dwa i to mieszanie tych połówek wyprodukowało większość chybionych analiz.
Pliki da się publicznie zweryfikować już teraz. C2PA to zwykłe podpisywanie kryptograficzne: klucz prywatny podpisuje, klucz publiczny weryfikuje. Każdy może sprawdzić wygenerowany plik .png w przeglądarce Content Credentials, a Google wdraża tę weryfikację w Search, Lens i Chrome. Nie ma tu żadnego przywileju Anthropic, a podpis pełni podwójną rolę, bo ujawnia też, czy plik został zmieniony po wygenerowaniu.
Tekstu nie da się, i dziś potrafi go odczytać wyłącznie Anthropic. Wykrywanie wymaga tajnego klucza, który zniekształcił próbkowanie. Bez niego tekst jest statystycznie nieodróżnialny od tekstu nieoznaczonego. Taki jest stan obecny i stąd bierze się reakcja „tylko Claude może cię złapać”.
Ale to nie jest zamierzony stan docelowy. Code of Practice podpisany przez Anthropic zobowiązuje ich do udostępnienia wykrywania podmiotom trzecim, a strona pomocy mówi, że pracują nad tym, by użytkownicy i podmioty trzecie mogli wykrywać te znaki, a dokumentacja ma się pojawić później.
Powód, dla którego to jeszcze nie wyszło, jest prawdziwym dylematem, a nie graniem na zwłokę: opublikowanie detektora to zarazem opublikowanie mapy usuwania znaku. Daj komuś wyrocznię, która punktuje fragment tekstu, a przepisze go w pętli, aż wynik spadnie poniżej progu. Google zmierzył się z tym samym kompromisem przy SynthID-Text i wydał detektor, który trudno obrócić w broń bez otaczającego go modelu. Najbardziej prawdopodobny finał dla Anthropic to API wykrywania z kontrolowanym dostępem, z weryfikacją kont i limitami, a nie publiczny checker na jedno kliknięcie.
Szczegół, który prawie nikomu nie wpadł w oko
Znak obejmuje tekst, który model wyprodukował. Nie rozróżnia tekstu, który Claude wymyślił, od tekstu, którego Claude jedynie dotknął.
Poproś Claude o poprawienie gramatyki w akapicie, który sam napisałeś, a wynik będzie nosił znak wodny. Poproś o zwięźlejszą wersję akapitu, o przetłumaczenie zdania albo o uporządkowanie twoich własnych notatek: dzieje się to samo.
Tnie to w obie strony i jest ciekawsze, niż sugeruje ramka skandalu. Osłabia scenariusz oskarżenia, którego ludzie się boją, bo pozytywne wykrycie nie odróżni „napisała to AI” od „napisał to człowiek, a AI to wygładziła”, a te dwa zdania nie znaczą nawet w przybliżeniu tego samego. Oznacza też, że każdy, kto planuje traktować wykrycie jako dowód autorstwa, buduje na piasku. Anthropic w praktyce to przyznaje, opisując trafienie jako „być może przetworzone przez Claude”.
Co to zmienia dla SEO: nic
Prowadzimy SEO tej strony na widoku, więc powiedzmy wprost, jak jest z częścią, która narobiła najwięcej hałasu. Nie ma tu żadnego ryzyka dla pozycji. Trzy powody, jeden na drugim.
Google nie karze treści pisanych przez AI jako takich. Polityka się nie ruszyła: karany jest scaled content abuse, czyli strony produkowane masowo i bez wartości. Ocena dotyczy jakości i użyteczności, a nie pochodzenia słów. Naprawdę dobry artykuł pozostaje naprawdę dobrym artykułem.
Google i tak nie potrafi odczytać tego znaku wodnego. Jest zamknięty kluczem, który trzyma Anthropic. Nawet gdyby Google chciał mieć z niego sygnał rankingowy, potrzebowałby porozumienia z Anthropic, żeby go zdobyć. Nic takiego nie zostało ogłoszone i na I/O 2026 nie ogłoszono też żadnego sygnału wymierzonego w tekst pisany przez AI.
To, co naprawdę zostało wdrożone, to pochodzenie mediów, a jest to etykieta, nie czynnik rankingowy. Prace Google w 2026 obejmują obrazy, wideo i audio przez SynthID oraz C2PA, wystawione tak, by użytkownik mógł zapytać, czy obraz jest wygenerowany przez AI, w Search, Lens i Circle to Search. To przejrzystość dla czytelnika, nie dźwignia pozycji.
Jest jedna realna, praktyczna konsekwencja i dotyczy ona twoich obrazów, a nie tekstu. Jeśli publikujesz grafiki wygenerowane przez Claude, noszą one teraz Content Credentials, a Chrome i Search będą je coraz częściej potrafiły oznaczyć. Efektem nie jest spadek pozycji, tylko CTR i zaufanie: obraz nagłówkowy oznaczony jako wygenerowany przez AI czyta się inaczej niż fotografia.
Warto o tym wiedzieć, zanim ktoś przeinżynieruje odpowiedź: większość pipeline'ów obrazkowych i tak już usuwa C2PA, choć nikt ich o to nie prosił. sharp, next/image, kompresja na etapie builda, CDN przekodowujący w locie: wszystkie gubią te metadane. Na typowej stronie pochodzenie znika na długo przed tym, zanim zobaczy je przeglądarka. To wynik obosieczny. Załatwia kwestię etykietowania przez przypadek, ale celowe usuwanie danych o pochodzeniu samo staje się problemem zgodności w chwili, gdy zastosowanie jest regulowane, a jeśli wypuszczasz produkt do Unii Europejskiej, to pytanie stoi obok wątku RODO w pracy wspieranej przez AI.
Co naprawdę zrobić
Krótka lista, bo jest mniej do zrobienia, niż sugeruje dyskusja.
- Nic, jeśli chodzi o kod. Żadnej czyszczarki, żadnego strippera, żadnej zmiany w workflow. Nie ma czego usuwać, a twój formater robi już więcej niż jakiekolwiek narzędzie, które mógłbyś dołożyć.
- Przeglądaj dalej wygenerowany kod, z powodów, które obowiązywały już wcześniej. Znak wodny nie zmienia żadnego z nich.
- Podejmij świadomą decyzję w sprawie obrazów. Jeśli publikujesz grafiki wygenerowane przez Claude, wiedz, czy twój pipeline zachowuje, czy usuwa Content Credentials, i zrób z tego decyzję, a nie przypadek.
- Nie goń za usuwaniem znaku wodnego z tekstu. Jedyne pewne usunięcie polega na przepisaniu tekstu samodzielnie, a jeśli przepisujesz go samodzielnie, pytanie odpowiedziało już sobie samo.
- Martw się zamiast tego o jakość. Scaled content abuse jest tym, co realnie kosztuje pozycje, i kosztowało je na długo przed istnieniem jakiegokolwiek znaku wodnego.
Ten środek jest obowiązkiem przejrzystości, uczciwie udokumentowanym, z ograniczeniami, które jego własny autor starannie wymienia. To wydarzenie znacznie mniejsze, niż sugeruje reakcja, a dla każdego, kto wypuszcza kod z agentami, jest bardzo bliskie nie-wydarzeniu.
Jeśli uruchamiasz agentów na jakąkolwiek skalę, warte twojej uwagi pytania operacyjne pozostają te stare: czego agenci dotknęli, co zostało przejrzane i co poszło na produkcję. To właśnie tę część AgentsRoom istnieje po to, żeby uczynić widoczną.
Pobierz AgentsRoom
Uruchamiaj swoich agentów AI (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) na wszystkich projektach z jednego okna.
Aplikacja towarzyszaca: monitoruj agentów w podrozy
Użyj Claude, Codex, Antigravity CLI lub innego dostawcy AI.
Wysyłaj bugi i prośby bezpośrednio do swojego publicznego backlogu.
Spojrzenie na AgentsRoom w akcji.
Czytaj dalej
Vibe coding a RODO: dlaczego strona zbudowana przez AI łamie prawo
Agenty kodujące w stylu Claude Code czy Codex potrafią postawić działającą stronę w kilka godzin, ale po cichu wprowadzają naruszenia RODO, o które nikt nie prosił: pliki cookie ustawiane przed zgodą, dane osobowe trzymane w nieskończoność, brak możliwości ich usunięcia. Oto dlaczego dzieje się to przy każdym agencie kodującym, ile może cię to kosztować i darmowy skill do Claude Code, który skanuje projekt pod kątem problemów z RODO i je naprawia.
Czytaj artykułCzy nadal powinieneś przeglądać kod swojego agenta AI?
Twoje agenty piszą lepszy kod niż połowa pull requestów, które kiedyś zatwierdzałeś. Czy więc nadal czytasz każdą linię? Uczciwy przypadek dla obu stron, 10 sygnałów, które mówią, że agent popełnił błąd, oraz ile przeglądów zasługuje każda zmiana.
Czytaj artykułClaude Code trzyma jedno zalogowane konto naraz. Oto jak uruchomić kilka.
Praktyczny przewodnik po używaniu konta służbowego i prywatnego na tej samej maszynie: jedna zmienna środowiskowa decydująca o tym, które logowanie jest aktywne, powód, dla którego podejście oparte na shellu przestaje działać przy więcej niż dwóch terminalach, oraz sposób na przypięcie konta do projektu.
Czytaj artykuł