Łańcuch audytu
Każdy paragon zgody jest powiązany z poprzednim przez łańcuch HMAC. Dzięki temu kryptograficznie wykrywalne jest, czy 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ć, czy paragon nie został zmanipulowany, przelicz HMAC z tymi samymi danymi wejściowymi i porównaj.
Weryfikacja łańcucha
ConsentForge udostępnia endpoint weryfikacji:
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 wstecz do pierwszej decyzji jest niezmieniony.
Czego potrzebują audytorzy
Do audytu RODO dostarcz:
- ID paragonów dla danego użytkownika
- Wynik weryfikacji (odpowiedź API powyżej)
- Dokument wersji polityki, który był aktywny w danym czasie
Wszystko to jest dostępne w Panel → Dowody → Eksportuj.
Rotacja klucza podpisującego
Klucz podpisujący można zrotować w Konto → Bezpieczeństwo → Klucze podpisujące. Po rotacji:
- Nowe paragony są podpisywane nowym kluczem
- Stare paragony pozostają ważne — stary klucz jest zachowywany do celów weryfikacji
Zrotowane klucze nigdy nie są usuwane. Łańcuch audytu pozostaje weryfikowalny na czas nieokreślony.