DeepFake Check
Volver al Blog
DeepCheckAI Team 4 min de lectura

Reglas de assertions C2PA: revisar manifests estándar y de actualización

Conserva el archivo e identifica el tipo de manifest

Guarda el activo exacto antes de abrirlo en un validador compatible con C2PA. Anota URL o ruta local, hora de obtención, identificador del archivo, nombre y versión del validador, label del manifest y salida completa. Esta hoja es una propuesta operativa para repetir la revisión, no un formato exigido por C2PA.

Limita la pregunta: si el manifest contiene las assertions obligatorias para su tipo y omite las que ese tipo prohíbe. C2PA 2.2 aplica reglas estructurales distintas al standard manifest y al update manifest. Copia el tipo informado por el validador; no lo deduzcas del nombre del archivo ni del contenido visible. Si la herramienta no lo muestra, anota “no informado” y conserva la salida para otra ejecución documentada.

Separa esta comprobación de la validación interna de cada assertion. Una assertion permitida puede requerir otras pruebas. Un fallo estructural tampoco identifica quién creó o modificó el activo, por qué cambió ni si el suceso representado ocurrió.

Cuenta las assertions de un standard manifest

Un standard manifest debe contener exactamente un hard binding al contenido. Las opciones admitidas en esta sección son c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, el obsoleto c2pa.hash.bmff.v2 o c2pa.hash.bmff.v3. Registra label y cantidad antes de interpretar el hash. La ausencia genera claim.hardBindings.missing; más de uno genera assertion.multipleHardBindings.

Cuenta después las assertions c2pa.ingredient cuyo relationship sea parentOf. Puede haber cero o una. Más de una se rechaza con manifest.multipleParents. No cuentes todos los ingredients como padres: copia cada relationship en una fila y suma solo parentOf.

La revisión también exige que una acción c2pa.created o c2pa.opened aparezca exactamente en una actions assertion. Registra qué assertion contiene la acción válida. Si el validador solo ofrece una insignia global, conserva esa salida, pero no inventes un resultado por assertion.

La tabla puede incluir label del manifest, tipo informado, label de assertion, relationship o action, cantidad observada, cantidad requerida, código y pregunta pendiente. Complétala desde la salida íntegra, no solo desde una captura del resultado final.

Aplica reglas diferentes al update manifest

Un update manifest debe tener exactamente una ingredient assertion con relationship igual a parentOf. Si falta, hay varias o el valor es distinto, el resultado es manifest.update.wrongParents. Conserva el valor y la cantidad observados para dejar claro qué condición apareció.

No puede contener c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, el obsoleto c2pa.hash.bmff.v2, c2pa.hash.bmff.v3 ni thumbnail assertions. Tampoco puede incluir c2pa.hash.multi-asset. La presencia de cualquiera produce manifest.update.invalid. Como el código cubre varias reglas, registra también el label infractor.

Si existen assertions c2pa.actions o c2pa.actions.v2, cada valor action debe figurar entre los admitidos por la sección Update Manifests. Conserva el valor mostrado y el código devuelto. No sustituyas un valor desconocido por una acción familiar ni supongas una comprobación que la herramienta no mostró.

Estas reglas comprueban la relación entre el tipo de manifest y su conjunto de assertions. No sustituyen la validación de firma, credencial, hash de assertion, binding del activo o ingredients. Mantén esos resultados en filas separadas.

Informa el resultado técnico sin convertirlo en veredicto

Cierra el registro con archivo exacto, tipo de manifest, inventario, cantidades, relationships, actions, códigos, versión del validador, salida completa y siguiente paso. Otra persona debe poder repetir el inventario sin adivinar qué copia se revisó.

Si también analizas el activo con DeepFakeCheck, guarda esa señal probabilística fuera de la tabla C2PA. La detección automática puede producir falsos positivos en medios auténticos y falsos negativos en medios sintéticos o alterados. DeepFakeCheck no determina el tipo de manifest ni emite estos códigos estructurales.

Un conjunto conforme solo respalda que el manifest comprobado cumplió estas reglas de tipo durante esa ejecución. Un fallo señala una estructura concreta que debe investigarse. Contrasta pies, identidades, fechas, lugares y hechos con el editor original y pruebas independientes.

Fuentes

  • C2PA, "C2PA Technical Specification, Validate the correct assertions for the type of manifest": https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_validate_the_correct_assertions_for_the_type_of_manifest

¿Necesitas comprobar un archivo sospechoso?

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

Abrir detector