Saltar al contenido principal

Cadena de auditoría

Cada recibo de consentimiento está vinculado al anterior mediante una cadena HMAC. Esto hace que sea criptográficamente detectable si algún recibo en la secuencia ha sido alterado o eliminado.

Cómo funciona la cadena

Cada recibo contiene:

  • Su propio hmac — calculado sobre el contenido del recibo
  • Un previous_receipt_id — referencia al recibo anterior para este visitante

El HMAC se calcula como:

hmac = HMAC-SHA256(
key: tenant_signing_key,
message: receipt_id + timestamp + choices_json + policy_version + previous_receipt_id
)

Para verificar que un recibo no ha sido manipulado, recalcule el HMAC con las mismas entradas y compare.

Verificar la cadena

ConsentForge proporciona un endpoint de verificación:

POST /api/v1/receipts/verify
Authorization: Bearer YOUR_API_TOKEN

{
"receipt_id": "rec_01HXYZ123456"
}

Respuesta:

{
"valid": true,
"chain_intact": true,
"receipts_verified": 3
}

chain_intact: true significa que cada recibo en la cadena hasta la primera decisión está sin alterar.

Qué necesitan los auditores

Para una auditoría del RGPD, proporcione:

  1. El ID (o IDs) del recibo para el usuario en cuestión
  2. El resultado de la verificación (respuesta de la API anterior)
  3. El documento de versión de política que estaba activo en ese momento

Todo esto está disponible en Panel → Evidencia → Exportar.

Rotación de la clave de firma

La clave de firma puede rotarse en Cuenta → Seguridad → Claves de firma. Después de la rotación:

  • Los nuevos recibos se firman con la nueva clave
  • Los recibos antiguos siguen siendo válidos — la clave antigua se conserva para fines de verificación

Las claves rotadas nunca se eliminan. La cadena de auditoría permanece verificable indefinidamente.