Så vattenmärker du text i Python – och fångar den som kopierar
Tre tekniker för att vattenmärka text i Python – och en ärlig bild av vilka som överlever kopiering och omskrivning.
Att vattenmärka text låter som något bara AI-bolag kan göra, men principen är gammal och går att bygga med Pythons standardbibliotek. En guide från den 6 september på Towards Data Science går igenom tre teknikfamiljer och visar ett skript som bäddar in en 32-bitarsidentifierare i text och kan upptäcka den senare.
Tre sätt att gömma ett märke
Den första och enklaste familjen är osynliga tecken: du lägger in nollbreddstecken som människor inte ser men som går att hitta i råtexten. Den är lätt att lägga till och lika lätt att radera – en vanlig sanerare eller ett chatbot-pass plockar bort den. Den andra familjen är nyckelbaserade ordval: du byter specifika ord enligt en hemlig nyckel, vilket överlever lätt redigering men inte en fullständig omskrivning. Den tredje är meningsnivå, där märket sitter i valet av ord och formulering via styrd sampling. Den är svårast att ta bort, men signalen försvagas vid hård omskrivning.
Tumregeln är enkel: hållbarhet kostar styrka. Inget vattenmärke är obrytbart, och valet ska styras av vilket hot du försöker fånga.
Ett skript med standardbiblioteket
Guiden visar ett skript som använder enbart standardbiblioteket för att bädda in och läsa tillbaka en 32-bitars-ID. Grundidén är att omvandla identifieraren till ett mönster av teckenval i texten, så att du senare kan återskapa mönstret och se vem texten ursprungligen kom från.
Skriptet, korpusen och kalibreringsdata ligger i repot text-watermarking-toolkit, så att resultaten går att återskapa. Testerna kördes på riktiga modeller: Gemma-2-9b-it för vattenmärkningen och Qwen2.5-7B-Instruct för attackerna, på en NVIDIA GB10. Testsetet bestod av 50 originalstycken och 100 public domain-stycken för att kontrollera falska positiva träffar.
Varför det är aktuellt just nu
Vattenmärkning har gått från kuriositet till standard. Anthropic började den 2 augusti 2026 vattenmärka all text Claude producerar, Google har använt SynthID-Text för Gemini sedan 2024, och Kina har krävt inbäddade etiketter på AI-genererat innehåll sedan september 2025. Närmare 190 organisationer har skrivit under EU:s transparenskod. För redaktioner och utvecklare som vill spåra kopierad text är det inte längre science fiction utan en körbar teknik, med tydliga gränser för hur mycket den tål.