Przejdź do głównej zawartości

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

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