DeepFake Check
Volver al Blog
DeepCheckAI Team 4 min de lectura

Manifiestos activos C2PA: cómo localizar credenciales locales y remotas

Conserva el activo y su contexto de obtención

Guarda el activo exacto antes de revisarlo. Anota nombre, URL de origen o ruta local, hora, tipo de medio, validador y versión. Si llegó por HTTP, conserva las cabeceras de respuesta junto con los bytes descargados. Otra copia puede incluir cabeceras, metadatos o datos incrustados distintos y no sustituye el resultado de la primera. Este registro es una propuesta operativa del artículo, no un procedimiento exigido por C2PA.

Limita la pregunta a si el validador localiza el C2PA Manifest Store asociado con este activo y confirma la coincidencia. Encontrar un store es un resultado técnico intermedio. No establece quién creó el suceso mostrado, cuándo ocurrió ni si el pie es correcto.

Empieza por la ubicación incrustada estándar

C2PA 2.2 considera active manifest al último C2PA Manifest superbox del Manifest Store. El validador busca primero un store incrustado en la ubicación estándar del formato. Registra si apareció y cuántos stores había.

En la mayoría de los activos, varios Manifest Stores incrustados vuelven inválidos a todos y se tratan como si no se hubiera encontrado ninguno. PDF incremental update tiene una condición específica: puede haber stores en update sections distintas, pero varios stores dentro de una misma section siguen siendo inválidos. Conserva la section y el recuento informados, no solo una etiqueta de “credenciales encontradas”.

Cuando el activo se obtuvo por HTTP, el validador puede inspeccionar la cabecera Link antes de descargarlo entero. La especificación indica que esto sirve para activos grandes o transmitidos por streaming. Guarda la cabecera original porque la referencia remota pertenece al contexto de obtención.

Sigue las referencias remotas en un orden registrado

Si no hay store incrustado, revisa una cabecera Link con relación c2pa-manifest. El destino puede ser un URI HTTP o HTTPS normal. También puede apuntar al store incrustado mediante un fragmento JUMBF; no se permiten referencias a un child manifest concreto y el validador ignora esa parte de la etiqueta.

Después revisa el XMP situado fuera del C2PA Manifest. La clave dcterms:provenance puede contener el URI del active manifest. En una fuente con tabla C2PA, un activeManifestUriLength distinto de cero señala el URI. Si no aparece, prueba un archivo con extensión .c2pa en la misma ruta o URI; el validador puede buscar además en otros lugares adecuados.

Registra tipo de ubicación, referencia exacta, resultado, estado HTTP cuando corresponda y mensaje del validador. Si una ubicación remota estaba documentada pero falta o no está disponible, como en modo offline, C2PA usa manifest.inaccessible. No lo conviertas en “nunca hubo credenciales”. Indica que el store documentado no pudo obtenerse en este contexto.

Confirma que el store corresponde al activo

Un Manifest Store localizado necesita una comprobación de coincidencia. El validador usa la hard-binding assertion del active manifest para comprobar que el store corresponde al activo y si este cambió sin actualizaciones del manifest. Conserva el resultado completo; la ubicación por sí sola no es un éxito final.

Si el hard binding no coincide, la especificación señala que el resultado no distingue entre una modificación del activo y la localización del store equivocado. El manifest se rechaza como non-matching hard binding. El código depende del tipo: assertion.dataHash.mismatch, assertion.boxesHash.mismatch, assertion.collectionHash.mismatch o assertion.bmffHash.mismatch. Registra el código devuelto sin inventar una causa.

Mantén juntos la evidencia de ubicación, el identificador del active manifest, el tipo de hard binding, toda la salida y el identificador del archivo. Así se distingue un store remoto inaccesible de uno localizado que no coincide.

Separa procedencia, detección y hechos

Una ubicación correcta y un hard binding coincidente permiten decir que el validador encontró un Manifest Store y obtuvo el resultado registrado para esa copia. No verifican por sí solos el pie, la voz, la fecha de captura, el lugar o el suceso. Contrasta esas afirmaciones con la publicación original y fuentes independientes.

Si analizas el archivo con DeepFakeCheck, guarda su señal probabilística aparte. La detección automática puede producir falsos positivos sobre medios auténticos y falsos negativos sobre medios sintéticos o manipulados. Un riesgo alto pide más revisión. La señal probabilística y una credencial de procedencia C2PA son mecanismos de evidencia distintos, y ninguno prueba por sí solo el hecho mostrado.

Cierra el registro con identificador del activo, contexto de obtención, ubicaciones probadas, referencias, accesibilidad, active manifest, hard-binding status, preguntas pendientes y decisión. Otro revisor debe poder repetir la búsqueda sin adivinar qué copia o respuesta remota examinaste.

Fuentes

  • C2PA, “C2PA Technical Specification, Locating the Active Manifest”: https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_locating_the_active_manifest

¿Necesitas comprobar un archivo sospechoso?

Abre el detector adecuado y combina el resultado con la fuente y el contexto.

Abrir detector