no-watermark
Trova e toglie caratteri invisibili, messaggi nascosti e impronte dal testo copiato dalle chat AI.
Il problema
Il testo copiato da ChatGPT, Claude, Gemini o da qualsiasi altro assistente può contenere caratteri che non vedi. Alcuni sono abitudini tipografiche innocue. Altri no: il blocco Unicode Tags è una copia ombra completa dell’ASCII che non compare in nessun browser, editor o chat, ma che un modello linguistico legge benissimo. È il canale dietro l’ASCII smuggling e le prompt injection invisibili.
Cosa fa
no-watermark trova questi caratteri, mostra cosa c’era nascosto e ti restituisce il testo pulito. Riconosce caratteri a larghezza zero, selettori di variante, controlli bidirezionali, lettere cirilliche travestite da latine e spazi insoliti.
C’è un’app desktop — incolli a sinistra, leggi il testo pulito a destra, e se vuoi pulisce da sola tutto quello che copi — e un comando da terminale che si può usare anche come controllo nella CI.
Onestà prima di tutto
Nel README c’è una tabella di cosa si può togliere e cosa no. SynthID-Text di Google, per esempio, è una filigrana nascosta nella scelta delle parole: non lascia caratteri speciali, e nessuno strumento che lavora sui caratteri può toglierla. Se un tool promette il contrario, sbaglia.
Il programma sta anche attento a non rompere il testo vero. Le emoji composte restano intere, l’arabo e il persiano tengono i caratteri che servono all’ortografia, il cirillico vero non viene toccato. Ognuna di queste garanzie ha un test.
Scelte tecniche
È scritto in Rust e diviso in crate: il motore di rilevamento, senza I/O; i testi in italiano e inglese; il comando da terminale; l’app desktop in egui. Ha più di 40 test. La CI pubblica a ogni versione l’installer MSI per Windows e i pacchetti .deb, .rpm e AppImage per Linux.
Stato
Finito, con le release scaricabili da GitHub. Licenza MIT.