
Un sello etiquetó su catálogo con C2PA para la Ley de IA de la UE. Vi cómo una sola transcodificación lo eliminaba todo.
La primera vez que pasé una de mis propias pistas de prueba por una transcodificación social ordinaria, vi cómo la procedencia C2PA que un sello habría pagado por añadir desaparecía en una sola pasada. En pantalla no ocurrió nada dramático. El archivo entró con un encabezado de procedencia firmado, el codificador hizo su trabajo ordinario y el archivo salió limpio, más ligero y despojado. La procedencia simplemente había desaparecido, del mismo modo que desaparece en el instante en que cualquier pista real llega a TikTok o Instagram. Me quedé sentado sintiéndome un poco enfermo, porque había esbozado toda la demo bajo el supuesto de que añadir C2PA era la respuesta, y acababa de ver evaporarse esa respuesta.
De eso trata este ensayo. Me propuse construir una puerta de ingesta del Artículo 50 de la Ley de IA de la UE para audio generado por IA, algo que la app llama Tessera, y la construcción desmontó en silencio el supuesto con el que casi todo el mundo en derechos musicales entra. El supuesto es que el Artículo 50 es un problema de marca de agua que se resuelve etiquetando tu catálogo. No lo es. Es un problema de supervivencia, y la mayor parte de lo que la industria se afana en añadir no sobrevive. Si quieres ver cómo decide la puerta por sí misma, vive aquí: veriprajna.com/es/demos/compuerta-de-ingestion-de-audio-del-articulo-50-de-la-ley-de-ia-de-la-ue-procedencia-que-sobrevive-a-la-transcodificacion-social.
El reflejo con el que empecé fue «simplemente añade C2PA»
Empecé esta construcción creyendo lo mismo que creía toda presentación de tech de derechos que había leído: que el cumplimiento del Artículo 50 es un ejercicio de etiquetado.
La regulación es real y el reloj es real. El Artículo 50 de la Ley de IA de la UE entró en vigor el 2 de agosto de 2026, y exige que las salidas de audio generativo se marquen en un formato legible por máquina y permanezcan detectables, en el lenguaje del borrador del Código de Buenas Prácticas de la Comisión de enero de 2026, «tras modificaciones comunes». El Artículo 99 pone los dientes: sanciones de hasta 15 millones de euros o el 3 % de la facturación mundial. La escala que hay debajo tampoco es pequeña. Aproximadamente el 28 % de las subidas diarias de Deezer son ahora plenamente generadas por IA (Beatdapp/Beatport, citado en la investigación WP31 de Veriprajna, 2026). Así que el movimiento natural, el que hice en mi primer esbozo del pipeline, es adjuntar un manifiesto C2PA a cada pista de IA y dar el catálogo por cubierto.
Aquí está el fallo que no había internalizado hasta que lo vi ocurrir. C2PA, tal como la mayoría lo despliega, es hard binding. La procedencia vive en los metadatos del archivo. Y el hard binding lo eliminan esencialmente todas las transcodificaciones de plataformas sociales al subir, lo que la investigación de la solución WP31 de Veriprajna (2026) llama la mayor debilidad operativa del ecosistema C2PA hoy. Así que un sello que etiquetó concienzudamente todo su catálogo queda, operativamente, descubierto en el instante en que una pista sale de la entrega limpia y llega al mundo salvaje.
El sello hizo todo lo que decía la guía. Añadió C2PA. Y quedó descubierto en el momento en que la primera pista llegó a redes sociales, porque la parte que añadió es exactamente la parte que se elimina.
Lo que realmente sobrevive es el soft binding. Una marca de agua imperceptible lleva un diminuto identificador, y cuando los metadatos han desaparecido usas ese identificador para volver a resolver el manifiesto desde un ledger. Es ingeniería de integración poco glamurosa. También es, por lo que puedo ver, todo el juego.
La noche en que mi propia marca de agua volvió como basura
Casi abandoné el soft binding un martes por la noche, cuando mi propio decodificador de marca de agua empezó a devolver ruido.
Tenía el pipeline funcionando de extremo a extremo. Una pista pasaba por el canal de entrega, un decodificador de espectro ensanchado leía la marca de nuevo desde la forma de onda entregada, y la clave recuperada buscaba el manifiesto. Luego volví a ejecutar un lote que había limpiado el día anterior, y las claves recuperadas volvieron como basura. La tasa de error de bits de la marca de agua rondaba 0.5, que es un cara o cruz, que es la forma que tiene un decodificador de decirte que está leyendo estática. Mi primer pensamiento fue que el soft binding en realidad no funcionaba, que la marca no podía sobrevivir a un códec real, y que toda la premisa de la demo estaba equivocada.
Pasé un par de horas convencido de que el enfoque estaba muerto. No era el enfoque. Era un corpus en disco obsoleto. Una caché anterior se había desincronizado de las semillas deterministas a partir de las cuales se generan las pistas, así que el decodificador estaba leyendo marcas que ya no coincidían con el audio. Reconstruí el corpus a partir de las semillas, volví a pasar todo por transcodificaciones reales de ffmpeg, y las claves volvieron limpias. Ese fallo valió más para mí que cualquier ejecución limpia, porque me enseñó a desconfiar de un buen número hasta saber exactamente qué lo produjo. Cada benchmark de esta demo se registró solo después de esa reconstrucción.

Cuando funcionó, ese contraste fue lo más claro que había puesto nunca en una pantalla. Toma Neon Tide, un lanzamiento sintético de IA interna entregado por el canal social (cada pista de este corpus es tono generado de forma procedural, sin música ni artistas reales, y los nombres son fixtures). Su hard binding lo elimina la transcodificación. Su marca de agua de soft binding se recupera con confianza 0.989, y el manifiesto C2PA se vuelve a resolver desde el ledger. El hard binding murió. El soft binding llevó la procedencia hasta el final. Lado a lado, en la misma pista, en la misma pasada. Ese único panel es el argumento.
¿Así que solo construí una mejor marca de agua?
Recibo alguna versión de esta pregunta en casi cada conversación, y la respuesta es no, lo que suele sorprender a la gente.
No construí una marca de agua pensada para superar a la de nadie, y tengo cuidado de decirlo, porque la tentación de insinuar lo contrario es fuerte. Los detectores líderes del mercado, SynthID-Audio de Google, AudioSeal de Meta, Digimarc, figuran en esta demo como adaptadores stub detrás de una interfaz documentada de intercambio por SDK. El detector de SynthID es cerrado de Google y AudioSeal necesita una GPU, así que en la demo informan de presencia con una confianza fija y nada más. La marca de espectro ensanchado que sí escribí existe para exactamente un trabajo: llevar una clave de activo de 32 bits y un CRC para que el manifiesto pueda volver a resolverse. No participa en ningún concurso de robustez, y no afirmo que supere a la de un proveedor.
Lo que construí es la capa alrededor del algoritmo. Google y Meta pueden poseer la marca de agua. La parte que nadie entrega como un solo producto es la integración: el detector multiestándar, la arquitectura de soft binding, el middleware DDEX y el dossier listo para el regulador. Esa capa es donde el problema de supervivencia se resuelve de verdad, y es la parte que ningún proveedor único se apresura a entregarte.

Quiero ser exacto sobre lo que significa esa matriz de supervivencia, porque el alcance honesto es todo el punto de construir en una empresa llamada Veriprajna, que significa sabiduría verdadera. En un corpus sintético fijo de 12 lanzamientos, mi marca, reencodificada a través de mp3-128, aac-128 y opus-96, se redecodifica con tasa de error de bits 0.0, mientras que el hard binding no sobrevive a ninguno de esos canales sociales. Es una medición real con ffmpeg real. No es una afirmación universal de «sobrevive a todo», y la propia demo contiene una pista donde la marca no sobrevive en absoluto, que es la parte de la que estoy más orgulloso.
No construí una mejor marca de agua. Construí la capa que decide si la procedencia que aún tienes basta para certificar, y se niega cuando no basta.
La pista que tanto deseaba dejar pasar
Recuerdo mirar Radio Imaging Sweep 7 y querer dejarla pasar, y ese es el momento en que toda esta demo se ganó su nombre.
Es un corte de radiodifusión que llegó a través de lo que modelo como la brecha analógica, una recaptura de altavoz a micrófono desde un monitor de FM. Su marca no sobrevivió a ese camino. El decodificador la leyó de vuelta con confianza 0.699, el CRC falló, y no quedó ningún identificador recuperable con el que resolver un manifiesto. Aquí estaba la tentación, sentada justo ahí en la pantalla. La matriz de supervivencia, ejecutada sobre el máster limpio a través de los códecs sociales, muestra que la marca sí sobreviviría a una transcodificación normal. Así que podía ver una versión de la lógica que decía que la marca está básicamente bien, esto es solo un canal malo, déjala pasar. El Artículo 99 es lo que mató ese instinto. Un falso «compliant» bajo un régimen de sanciones de 15 millones de euros o el 3 % es el tipo caro de equivocación.

Así que la puerta hace lo más difícil. Cuando una marca genuinamente no sobrevive al canal por el que realmente llegó una pista, devuelve NEEDS PROOF y deriva la pista a un humano, con el fallo de brecha analógica y un propietario nombrado adjuntos. No certifica. Escribí eso como un invariante con tests unitarios, un test literalmente nombrado por la muerte de la marca de agua en la brecha analógica, porque quería que la abstención fuera una propiedad del sistema y no un estado de ánimo. La abstención no es que la puerta falle. La abstención es que la puerta se niegue a farolear, y negarse a farolear es lo que un Head of Trust and Safety está comprando de verdad.
Un falso «compliant» no es un error pequeño bajo las sanciones del Artículo 99. Es el tipo caro de equivocación, que es exactamente por lo que la puerta está construida para abstenerse antes de farolear.
¿No basta una marca de agua recuperada?
Asumí, al principio, que recuperar la marca de agua era básicamente la meta final, y Glasshouse es la pista que me corrigió.
Glasshouse recuperó su marca limpiamente, con confianza 0.992, tasa de error de bits 0.0 en los tres códecs. La procedencia, en el sentido estrecho, era perfecta. Y la puerta la bloqueó de todos modos. La razón es el resto de la cadena. DDEX ERN 4.3 no tiene campos de divulgación de IA, y la mayoría de los agregadores (CD Baby, DistroKid, Believe) no transmiten la divulgación granular, según la investigación WP31 de Veriprajna (2026). Glasshouse llegó a través de DistroKid con tres de sus cuatro campos de divulgación ausentes: instrumentación, mezcla y mastering. Bajo el Artículo 50(4), enviarla tal cual sería una violación activa de divulgación, así que el veredicto es BLOCKED, con esa cláusula exacta citada en pantalla.

Por eso la puerta comprueba la cadena completa y no solo la marca: una marca legible por máquina, más recuperación por soft binding tras el canal de entrega, más divulgación DDEX completa, más un propietario nombrado de retirada. Si falta cualquier eslabón, no obtienes luz verde. En el lote completo de 12 lanzamientos el reparto salió 7 certificados COMPLIANT, 2 derivados a remediación humana y 3 bloqueados, y cada uno de los 12 lleva un veredicto con una cláusula citada. Esa cobertura es la parte que me importa, porque un Head of Rights Tech no financia una caja negra: financia algo que puede interrogar («¿por qué se bloqueó Glasshouse? Artículo 50(4), tres campos DDEX ausentes»).
Y las decisiones que tienen peso legal son deterministas a propósito. La recuperación de la marca de agua, la medición de supervivencia, la búsqueda de soft binding y el aprobado/rechazado del Artículo 50 son código plano, fuera de los modelos de lenguaje. Hay agentes en el sistema, uno que extrae campos de divulgación del texto libre y otro que ataca de forma adversaria cada certificación, pero aconsejan. No deciden, y todo corre sin claves con un fallback determinista, así que los números de la puerta son idénticos con o sin un LLM. Los agentes aconsejan, el código decide.
Debo ser igual de claro sobre lo que esto no es, porque la marca no sobrevive a una sobreafirmación. Los manifiestos son sustitutos JSON de C2PA en un ledger SQLite, no C2PA 2.0 firmado criptográficamente. Los conectores de DSP y agregadores son mocks. Los lanzamientos son tono sintético, no grabaciones reales, y la herramienta sostiene una respuesta al Artículo 50, no entrega a nadie una certificación legal. Lo que es real es el mecanismo: la recuperación, la medición de supervivencia, la puerta de cadena completa y el dossier que exporta.
Una marca de agua recuperada me dijo que la procedencia estaba intacta. Al regulador aún le importa si la divulgación está completa y quién es dueño de la retirada. Esas son preguntas distintas, y la puerta tiene que hacerlas todas.
La pregunta que me hago antes de dejar que cualquier cosa certifique
Descubrí que construir esto cambió en mí algo más pequeño que la gran tesis, y lo más pequeño ha durado más.
Dejé de preguntar si una pista de IA tiene procedencia, porque normalmente puedo responder eso y resulta no ser suficiente. Neon Tide tenía procedencia y Glasshouse también, y una se certificó mientras la otra fue bloqueada. La pregunta que me hago ahora, antes de que algo salga de la puerta como COMPLIANT, es si puedo demostrar que la procedencia sobrevivió al canal específico por el que realmente llegó esta pista, y si cada otro eslabón de la cadena se sostiene, y si preferiría abstenerme a adivinar cuando no es así.
Esa no es una pregunta que responda una mejor marca de agua. A medida que los modelos de Google y Meta mejoran, y lo harán, el valor no se mueve al algoritmo, porque ellos ya poseen el algoritmo. Se queda en la capa de integración que hace que la procedencia sobreviva al mundo real, y en la disciplina de decir NEEDS PROOF cuando incluso el soft binding falla. La parte durable de esta construcción no es una puntuación de robustez que caduca la próxima vez que SynthID mejore. Es la medición de supervivencia, la puerta de cadena completa y el invariante de honestidad, ninguno de los cuales se vuelve más fácil o más difícil a medida que mejora la marca de agua. Si quieres ver dónde aterracé, la puerta está aquí una vez más: veriprajna.com/es/demos/compuerta-de-ingestion-de-audio-del-articulo-50-de-la-ley-de-ia-de-la-ue-procedencia-que-sobrevive-a-la-transcodificacion-social.
Y si prefieres verlo a leerme describirlo, aquí está toda la puerta funcionando de extremo a extremo.
Así que la pregunta que te dejaría es la que el plazo del 2 de agosto está preguntando en silencio a cada sello ahora mismo. Añadiste la marca. ¿Puedes demostrar que sobrevivió al viaje? Porque al otro lado de una sola transcodificación social, la etiqueta en la que contabas ya ha desaparecido, y lo único que certifica es lo que construiste para recuperar lo que queda.


