Nota de contexto. En la guía del AI Act para devs vimos que el art. 50 obliga, desde el 2 de agosto de 2026, a marcar el contenido sintético de forma legible por máquina. Este artículo es la continuación técnica: qué son realmente esas marcas de agua, qué pueden hacer y dónde se rompen. Si buscas el marco legal completo, empieza por aquella serie; si quieres saber por qué tu detector se equivoca, sigue leyendo.
Tabla de contenidos
Open Tabla de contenidos
- La marca no prueba autoría: mide intervención
- El texto es un medio comprimido: no hay donde esconder la marca
- La otra vía: homoglyphs Unicode
- Toda marca textual se borra con trivialidad
- El nudo regulatorio: «difícil de separar» y «publicable» a la vez
- C2PA no es el sustituto del watermark
- El caso ICML 2026: la trampa honesta
- Qué hacer tú como dev
- La lección de fondo
- Referencias
La marca no prueba autoría: mide intervención
Lo primero es lo más grave: la marca no prueba que una IA escribiera un texto, solo dice que un modelo concreto, con una clave concreta, intervino en algún momento de su producción. No es un matiz, es un abismo que se entiende en cuanto comparas dos casos: cuando Claude traduce tu ensayo elige cada palabra de la versión inglesa y la marca aparecerá, mientras que cuando solo corrige la ortografía de un párrafo toca apenas cuatro palabras y es probable que no quede rastro. El sistema mide participación técnica, no autoría intelectual, pero en la práctica el mensaje «Claude probablemente intervino» se desliza enseguida hacia «Claude escribió este trabajo». No es una sospecha mía: la propia Anthropic lo reconoce en su documentación cuando admite que su marca no distingue entre escribir y editar y que su ausencia tampoco confirma origen humano.
Hay quien se pregunta por qué hace falta una marca si bastaría con pasar el texto por Claude y ver si coincide, pero la respuesta, que explica muy bien Sean Goedecke, es doble: por un lado habría demasiados falsos positivos, porque es mucho más probable que un humano escriba como Claude por casualidad que acierte por casualidad una marca; y por otro el coste de reejecutar cada modelo para cada verificación no escala, menos aún si Bruselas acaba exigiendo un servicio gratuito de verificación para todo ciudadano.
El texto es un medio comprimido: no hay donde esconder la marca
Y no es que la marca aún no sea lo bastante robusta y con mejores algoritmos se vaya a distinguir por fin entre traducir, corregir o generar desde cero. El problema viene de más atrás, y es estructural.
En una imagen puedes forzar a veinte píxeles a compartir un tono que el ojo no nota: las imágenes tienen ruido de sobra para esconder una señal. En un audio puedes meter una frecuencia por debajo del umbral de percepción. En un texto cada palabra pesa: cambiar «nublado» por «gris» altera el significado, el ritmo y la voz, de modo que no hay ruido donde esconder la marca sin que alguien lo note. Goedecke lo enmarca como un problema de esteganografía con una restricción cruel: el mensaje no se puede manipular libremente. Su ejemplo límite: «cada quinta letra es una e» sería una marca perfecta y a la vez llenaría el texto de erratas.
La consecuencia técnica es directa: cualquier transformación que toque el texto rompe el patrón estadístico. Una paráfrasis, una traducción, una reescritura con un segundo modelo, incluso a mano. No es un fallo de implementación que arreglará la próxima generación de modelos; es una limitación del medio. Un texto no lleva dentro ninguna holgura donde esconder un mensaje sin que algo cambie.
La otra vía: homoglyphs Unicode
Hay, eso sí, una segunda familia de marcas que casi nadie menciona y que no toca el modelo en absoluto. En lugar de sesgar la elección de palabras, se marca el texto a posteriori jugando con homoglyphs Unicode: reemplazar el espacio normal (U+0020) por un espacio three-per-em (U+2004) o ideográfico (U+3000), visualmente indistinguibles pero trivialmente detectables si codificas un patrón del tipo «cada tercer espacio es U+2004».
import unicodedata
text = "Hola mundo\u2004con\u3000espacios raros"
clean = unicodedata.normalize("NFKC", text)
# NFKC reduce U+2004 y U+3000 a U+0020: la marca desaparece
assert clean == "Hola mundo con espacios raros"
Es aún más barato que SynthID —se puede aplicar solo en el cliente, sin tocar la inferencia— y se borra igual de fácil: basta normalizar los caracteres a su forma canónica. Goedecke aporta indicios de que OpenAI y Anthropic ya han usado trucos parecidos, como Claude Code etiquetando peticiones con el carácter ' de «Today’s date» o esos espacios raros que a veces aparecen al pegar texto de ChatGPT en VS Code, aunque él mismo lo presenta como hipótesis razonada, no como prueba. Yo lo contaré igual: los homoglyphs existen, han aparecido en producto, y la hipótesis de que alguien los use como marca de cumplimiento es plausible. Lo que no es plausible es que sobrevivan a un normalize().
Toda marca textual se borra con trivialidad
Goedecke lo deja claro y yo no he encontrado refutación técnica seria: las marcas de agua en texto siempre serán triviales de eliminar, no porque los ingenieros sean torpes sino porque el texto no tiene la redundancia de una imagen o un vídeo.
- Homoglyphs: se normalizan los caracteres y fuera.
- SynthID: basta pedirle a otro modelo, incluso uno modesto que corra en local, que parafrasee el texto. Como la marca vive en elecciones sutiles de vocabulario, reescribir la destruye.
- Con una futura página pública de verificación, el atacante además puede iterar: reescribe, comprueba, ajusta, repite hasta que dé negativo.
Y ahí aparece la paradoja que a mí más me inquieta: cuanto más transformas tú el borrador de la IA —más trabajo propio le has metido— más probable es que la marca haya desaparecido. La señal brilla justo cuando menos has hecho y se apaga cuando más has intervenido. Exactamente al revés de lo que uno querría para detectar trampas.
El nudo regulatorio: «difícil de separar» y «publicable» a la vez
Todo esto me lleva a la conclusión incómoda: tal como existe hoy, la marca de agua funciona sobre todo como un trámite regulatorio. El AI Act pide que los proveedores marquen sus salidas, los proveedores marcan, Bruselas puede decir que se ha cumplido, pero la marca no resuelve la autoría en el mundo en el que ya vivimos, donde humanos e IA escribimos juntos. Un abogado que dicta una estrategia y pide a Claude que la ponga en contrato deja marca visible; un médico que revisa y firma un informe redactado con ayuda de la IA también; un estudiante que escribe su trabajo entero y solo pasa el corrector, no deja rastro. La señal no coincide con lo que moral y legalmente nos importa.
Y el propio Código que desarrolla el artículo 50 añade una tensión difícil de resolver al pedir a la vez que la marca sea difícil de separar del contenido y que sea interoperable y publicable, incluso estandarizable. Esa doble exigencia choca frontalmente con la seguridad por oscuridad de la que viven las marcas textuales: si publicas el método, facilitas el ataque; si lo guardas, nadie puede verificar de forma independiente. No se puede tener las dos cosas en texto, y la regulación pide las dos.
C2PA no es el sustituto del watermark
Tampoco conviene confundir watermarking con firma de metadatos, porque el AI Act habla de ambas y no son intercambiables. Los metadatos firmados son en la práctica C2PA (Content Credentials): un hash del fichero firmado criptográficamente que, si se mantiene la cadena de confianza, no se puede falsificar, aunque sí borrar con una conversión o una captura.
C2PA funciona para formatos contenedor —imagen, audio, PDF, HTML— pero no para la salida habitual de un chat, que es texto plano sin artefacto que firmar. Como escribe Goedecke: «¿qué significaría firmar la salida de ChatGPT? No hay artefacto que pasar de mano». Firmar criptográficamente un texto es fácil; lo difícil —y ahí está el epílogo de su artículo— es almacenar todas las firmas, que las empresas no hacen ni pueden hacer con todas las interacciones. Son capas distintas: C2PA para lo que es fichero, marca estadística para lo que es texto, y las dos se escapan por sitios diferentes.
El caso ICML 2026: la trampa honesta
Sería un error, con todo, tirar el watermarking a la basura, porque ICML 2026, una de las mayores conferencias de machine learning del mundo, ha demostrado que la marca sí sirve cuando se usa con honestidad sobre lo que puede y no puede hacer. Su equipo, liderado por Nihar Shah en Carnegie Mellon, coló en los PDFs de los artículos instrucciones invisibles para un humano pero legibles por cualquier LLM para incluir dos frases aleatorias sacadas de un diccionario de 170.000, con una probabilidad menor que una entre diez mil millones de que un revisor humano metiera ese par por casualidad. El resultado fue que 506 revisores que habían prometido no usar IA fueron cazados haciéndolo —398 de ellos eran además autores sujetos a revisión recíproca— y 497 de sus artículos fueron rechazados de plano, tras verificación humana caso por caso.
Lo interesante no es la cifra sino el marco. La marca no se usó para responder a la pregunta imposible de «¿quién escribió esto?», sino a otra mucho más concreta: «¿esta persona cumplió lo que prometió?». La señal no se leyó como prueba de autoría, sino como prueba de que se rompió un acuerdo explícito cuya metodología entera está publicada en PLOS ONE. Y aun así los propios organizadores fueron los primeros en admitirlo: solo pillaron al revisor descuidado que pega el PDF tal cual al modelo y copia la salida, mientras que quien extrae el texto antes, quien parafrasea o quien usa otro flujo permanece invisible. No es una solución universal; es una red que pesca a los descuidados, no a los que saben lo que hacen.
Qué hacer tú como dev
Para quien construye productos con LLM dentro, la lección práctica que saco:
- No construyas lógica de negocio sobre la marca. Ni bloqueos automáticos, ni acusaciones, ni scoring de «humanidad» basado en detectores. La tasa de falsos positivos en textos cortos y traducciones lo desaconseja, y el coste reputacional de un falso positivo es alto.
- Si necesitas procedencia, usa C2PA donde haya fichero. Imágenes, PDFs, audio generados: metadatos firmados es la capa que de verdad resiste falsificación. Para texto plano de chat, no existe hoy una solución técnica verificable.
- Si vas a implementar un watermark (porque operas un modelo y te toca cumplir el art. 50), SynthID-Text está open-source y se integra como un logits processor en Hugging Face Transformers. Diseña asumiendo que un atacante motivado la saltará: sirve para cumplimiento y auditoría, no para vigilancia.
- Documenta el flujo humano. Guarda originales, registra versiones, deja constancia de quién revisó qué. En una disputa, esa trazabilidad vale más que cualquier detector y es exactamente lo que pide el marco si tu sistema es de alto riesgo.
- Diseña la UX para la ambigüedad. Si tu producto muestra «probablemente generado por IA», di «probablemente». La diferencia entre «intervino un modelo» y «lo escribió una IA» es todo el artículo.
La lección de fondo
Creo que esa es la lección de fondo: mientras persigamos una marca que resuelva la autoría, que distinga traducción de generación y que sobreviva a la paráfrasis siendo a la vez pública e interoperable, perseguimos un espejo. El texto no da para más. Lo que sí da es para montar sistemas de procedencia que no dependan de una sola señal: guardar originales, registrar versiones, documentar quién revisó qué y cuándo. La marca invisible puede ser una capa más en esa cadena, pero nunca será la cadena entera.
Y mientras tanto, quizá la pregunta no sea si un texto lleva o no lleva marca de agua, sino quién decidió, quién revisó y quién pone su firma debajo.
Referencias
- Anthropic — How Claude’s text watermark works
- Sean Goedecke — Text AI watermarks will always be trivial to remove
- Google DeepMind — SynthID-Text (Nature, 2024) · implementación open-source
- ICML 2026 — On Violations of LLM Review Policies · metodología en PLOS ONE
- Reglamento (UE) 2024/1689 — art. 50
- C2PA — Content Credentials
- Mi serie sobre el AI Act: Parte 1 · Parte 2 (art. 50) · Parte 3