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 cualquier 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 de 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 no está alterado.

Qué necesitan los auditores

Para una auditoría del RGPD, proporcione:

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

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

Rotación de 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 anteriores siguen siendo válidos — la clave anterior se conserva para fines de verificación

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