Łańcuch audytowy
Każdy paragon zgody jest powiązany z poprzednim za pomocą łańcucha HMAC. Sprawia to, że wykrycie kryptograficzne jest możliwe, gdy jakikolwiek paragon w sekwencji został zmieniony lub usunięty.
Jak działa łańcuch
Każdy paragon zawiera:
- Własny
hmac— obliczony na podstawie zawartości paragonu previous_receipt_id— odniesienie do poprzedniego paragonu dla tego odwiedzającego
HMAC jest obliczany jako:
hmac = HMAC-SHA256(
key: tenant_signing_key,
message: receipt_id + timestamp + choices_json + policy_version + previous_receipt_id
)
Aby zweryfikować, że paragon nie został zmanipulowany, przelicz HMAC z tymi samymi danymi wejściowymi i porównaj.
Weryfikacja łańcucha
ConsentForge dostarcza endpoint weryfikacyjny:
POST /api/v1/receipts/verify
Authorization: Bearer YOUR_API_TOKEN
{
"receipt_id": "rec_01HXYZ123456"
}
Odpowiedź:
{
"valid": true,
"chain_intact": true,
"receipts_verified": 3
}
chain_intact: true oznacza, że każdy paragon w łańcuchu aż do pierwszej decyzji jest niezmieniony.
Czego potrzebują audytorzy
Na potrzeby audytu GDPR dostarcz:
- Identyfikatory paragonów dla danego użytkownika
- Wynik weryfikacji (powyższa odpowiedź API)
- Dokument wersji polityki obowiązującej w danym czasie
Wszystko to jest dostępne w Pulpit → Dowody → Eksport.
Rotacja klucza podpisywania
Klucz podpisywania można zmienić w Konto → Bezpieczeństwo → Klucze podpisywania. Po rotacji:
- Nowe paragony są podpisywane nowym kluczem
- Stare paragony pozostają ważne — stary klucz jest zachowany do celów weryfikacji
Zrotowane klucze nigdy nie są usuwane. Łańcuch audytowy pozostaje weryfikowalny w nieskończoność.