Przejdź do głównej zawartości

Ł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:

  1. ID paragonów dla danego użytkownika
  2. Wynik weryfikacji (odpowiedź API powyżej)
  3. 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.