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:
- El ID (o IDs) del recibo para el usuario en cuestión
- El resultado de la verificación (respuesta de la API anterior)
- 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.