← Zpět na návody

Evidence ZIP rozebraný — soubor po souboru

Otevřete ZIP a najdete kolem 24 souborů ve 4 adresářích. Tady je k čemu každý slouží — a proč není žádný z nich zbytečný.

Evidence ZIP balí zachycenou stránku spolu se samonosným ověřovacím kitem nezávislým na síti — všechny soubory potřebné k tomu, aby šlo i za roky prokázat, že balíček nebyl změněn, a to bez kontaktování GetProofAnchor.

Návod Evidence ZIP SHA-256 Offline ověřitelný Ověření cca 8 min čtení
Rychlý přehled

Evidence ZIP není jen archiv — je to samonosný verifikační kit. Zachycený obsah + kontext zachycení + čtyři nezávislé integritní vrstvy + bilingvní návod pro znalce. Vše ověřitelné offline, bez GPA.

Co je Evidence ZIP?

Evidence ZIP je přenosný, samonosný balíček, který můžete exportovat z libovolného proofu. Identifikátor formátu: getproofanchor-evidence-1. Typický balíček obsahuje kolem 24 souborů / cca 3 MB, organizovaných do čtyř adresářů. Je navržen tak, aby opustil váš účet — k archivaci, připojení ke spisu, podání regulátorovi nebo zaslání třetí straně k posouzení.

Klíčová vlastnost není „jen export“ — klíčové je, že balíček lze později ověřit zcela offline , pouze pomocí standardních open-source nástrojů. Bez internetu, bez služby GetProofAnchor, bez účtu.

Proč na offline ověřitelnosti záleží

Všechny externí závislosti, které by ověření mohlo potřebovat, jsou zmrazené uvnitř ZIPu samotného: kryptografický manifest, záznamy proofu v hash chainu, Bitcoin OpenTimestamps receipt, plný certifikační řetězec kvalifikované TSA a dokonce snapshot EU Trusted List (LOTL), který dokazuje, že TSA byla v okamžiku razítkování oficiálně uznaná. Kdyby GetProofAnchor zítra zmizel, váš Evidence ZIP by se ověřil úplně stejně — kýmkoli, kdekoli, s notebookem a Pythonem.

Co je doopravdy uvnitř (každý soubor, podle účelu)

Otevřete ZIP a uvidíte něco takového. Soubory jsou tady seskupené podle toho, k čemu slouží — zachycený obsah, jak capture proběhl, kryptografické integritní vrstvy a dokumentace pro lidi.

Skupina A
Zachycený obsah

Co stránka v okamžiku zachycení skutečně byla.

  • screenshot.png — celostránkový screenshot vykreslený v okamžiku capture, pořízený přes Playwright (Chromium) ve viewportu šířky 1280 px s plným scrollem do výšky stránky
  • page.html — zachycené DOM/HTML v okamžiku capture — užitečné pro inspekci struktury, odkazů a skriptů, které byly skutečně doručeny
  • content.txt — extrahovaný čistý text — to, co by čtenář na stránce skutečně viděl, bez markupu
Skupina B
Kontext zachycení

Jak capture proběhl — auditní stopa.

  • proof.json — hlavní záznam proofu: Proof ID, source URL, finální URL po přesměrováních, čas zachycení, všechny SHA-256 otisky (obsah, screenshot, raw HTML), režim capture (server/browser), eIDAS status, info o anchoru
  • capture/capture_meta.json — detailní forenzní metadata o samotném capture: capture engine (Playwright + verze prohlížeče), user agent, viewport, plné rozměry stránky po lazy-load scrollu, automaticky vyřízené consent dialogy a metoda použitá k jejich odbavení, počet AI volání, počet scroll kol, status načítání obrázků, visual quality score, výsledek (verdict)
  • capture/capture_meta.sha256 — SHA-256 souboru capture_meta.json uložený zvlášť — referencovaný eIDAS payloadem, takže i metadata capture jsou pokryta kvalifikovaným razítkem
Skupina C
Trust stack — čtyři kryptografické integritní vrstvy

Každá vrstva je nezávislá. Prolomení jedné nerozbije ostatní.

Vrstva 1 — Integrita souborů
  • manifest.json — základ integrity: SHA-256 hash každého dalšího souboru v balíčku + chain head + metadata anchoru a eIDAS. Ověření vždy začíná tady. Jakákoli změna byte v jakémkoli souboru kontrolu shodí.
Vrstva 2 — Append-only hash chain
  • chain/proof_chain.jsonl — události tohoto proofu v globálním SHA-256 hash chainu (jeden JSON objekt na řádek: seq, event_type, prev_hash, data_hash, entry_hash, created_at). Vložení nebo úprava staršího záznamu chain rozbije.
  • chain/chain_head.json — snapshot hlavy chainu, ke které byl tento proof ukotven — sekvenční číslo a entry hash. Použité pro ověření posledního článku chainu.
Vrstva 3 — Bitcoin OpenTimestamps anchor
  • anchor/anchor_payload.json — minimální datová struktura, která byla uložena do Bitcoinu: hash hlavy chainu + observed UTC time + verze formátu. Před razítkováním kanonicky hashována.
  • anchor/anchor_receipt.ots — binární OpenTimestamps receipt obsahující Merkle cestu zpět k Bitcoin transakci. Po potvrzení časové razítko drží celá Bitcoinová síť — ne GetProofAnchor.
Vrstva 4 — eIDAS kvalifikované časové razítko

Jedenáct souborů dohromady tvoří kompletní, samonosný eIDAS verifikační kit.

  • timestamp/eidas.tsr — binární RFC 3161 TimeStampResp od kvalifikovaného poskytovatele důvěryhodných služeb — CMS-signed, ve stejném standardním PKI formátu, jaký používají soudy a regulátoři v EU
  • timestamp/eidas_payload.json — přesná data, která byla orazítkována, v kanonickém JSONu (řazené klíče, bez mezer): content_sha256, raw_html_sha256, screenshot_sha256, capture_meta_sha256, source_url, final_url, captured_at, proof_id. Identifikátor formátu: getproofanchor-eidas-stamp-3.
  • timestamp/eidas_payload.sha256 — SHA-256 výše uvedeného payloadu. Tento přesný hash je imprint embedded v RFC 3161 razítku, který kryptograficky propojuje razítko se zachycenými daty.
  • timestamp/eidas_meta.json — high-level eIDAS status: jméno poskytovatele (aktuálně SK ID Solutions, Estonsko), URL TSA, přesný čas razítka, status
  • timestamp/<proof_id>.tsa_signer_cert.pem — X.509 certifikát konkrétní timestamping unit, která razítko podepsala — leaf cert v PEM formátu
  • timestamp/<proof_id>.tsa_certs.pem — celý PEM certifikační řetězec: signer + intermediate CA + root CA. Umožňuje validovat řetězec offline bez stahování čehokoli.
  • timestamp/<proof_id>.tsa_certs.json — stejný řetězec v JSON formě (subjects, issuers, sériová čísla, doby platnosti, SHA-256 fingerprinty) — snadno čitelné bez parsování PEM
  • timestamp/<proof_id>.qualified_context.json — ukazatel propojující TSA se snapshotem EU Trusted List, který byl použit k potvrzení jejího kvalifikovaného statusu v okamžiku razítkování
  • timestamp/eu_trusted_list_snapshot.bin — zmrazený XML snapshot EU List of Trusted Lists (LOTL), stažený z ec.europa.eu v okamžiku razítkování (~470 KB). Toto je co dokazuje, že TSA byla v ten přesný okamžik oficiálně uznaná jako kvalifikovaná podle eIDAS — bez nutnosti důvěřovat jakékoli třetí straně, kdykoli.
  • timestamp/eu_trusted_list_snapshot.meta.json — metadata snapshotu LOTL: source URL, čas stažení, SHA-256, velikost v bytech
  • timestamp/<proof_id>.eidas_verification_report.json — interní eIDAS verifikační report vytvořený v okamžiku razítkování: status (granted), policy OID, hash algoritmus, imprint digest, signature_verified flag, shrnutí TSA certifikačního řetězce
Skupina D
Dokumentace

Pro lidi, ne pro stroje.

  • README.md — bilingvní (anglicko-český) verifikační návod pro forenzní znalce. Provede vás všemi 4 verifikačními kroky pomocí copy-paste příkazů s python3, openssl a ots klientem.
  • report.pdf — human-readable Evidence Report (~1 MB). Formátované shrnutí s Proof ID, zachycenými URL, časy, všemi SHA-256 otisky, info o blockchain anchoru, eIDAS statusem — vhodné do spisu nebo k tisku.

Čtyři nezávislé integritní vrstvy

Důvěra není jeden mechanismus. Jsou to čtyři nezávislé vrstvy, každá s vlastními soubory v ZIPu. Prolomení jedné z nich nerozbije ostatní — útočník by musel pro zfalšování jediného proofu prolomit všechny čtyři současně, včetně rozbití Bitcoinu a zfalšování podpisu EU-kvalifikované TSA.

Vrstva 1
Integrita souborů (SHA-256 manifest)

Hash každého souboru v balíčku. Pokud se změní jakýkoli byte v jakémkoli souboru — i třeba JSON whitespace — ověření selže.

Soubory: manifest.json

Vrstva 2
Append-only hash chain

Události tohoto proofu jsou v globálním SHA-256 chainu. Každý záznam obsahuje hash předchozího. Vložení nebo úprava staršího záznamu chain matematicky rozbije.

Soubory: chain/*

Vrstva 3
Bitcoin OpenTimestamps anchor

Hlava chainu je ukotvena do Bitcoin blockchainu přes OpenTimestamps. Po potvrzení drží časové razítko celá Bitcoinová síť. Antedatování se stává nereálným.

Soubory: anchor/*

Vrstva 4
eIDAS kvalifikované časové razítko

RFC 3161 razítko od EU-kvalifikované TSA, s plným certifikačním řetězcem a zmrazeným snapshotem EU Trusted List uvnitř. Právně uznáváno v EU/EHP dle nařízení (EU) 910/2014.

Soubory: timestamp/*

Všechny 4 ověření PROŠLY → balíček je kryptograficky neporušený, ne jen důvěryhodný. Každou vrstvu lze ověřit i samostatně a tím prokázat konkrétní vlastnost: integritu souborů, konzistenci chainu, čas existence (dvakrát — Bitcoinem a EU-akreditovanou TSA).

Jak ověřit (4-krokový postup)

Bilingvní README.md uvnitř ZIPu vás provede ověřením s copy-paste příkazy. Postup odpovídá jedna ku jedné čtyřem integritním vrstvám výše:

  1. Krok 1 — Integrita souborů — Skript v python3 přečte manifest.json, přepočítá SHA-256 každého souboru a porovná. PROŠEL = nic v balíčku nebylo přidáno, odebráno ani změněno.
  2. Krok 2 — eIDAS kvalifikované časové razítko — openssl ts -verify proti eidas.tsr + eidas_payload.json + přibalenému tsa_certs.pem. (Pro prostředí bez openssl je v README zahrnutá čistě Pythonová alternativa.) PROŠEL = zachycená data v daný okamžik existovala a podpis pochází od kvalifikované TSA zaznamenané ve snapshotu EU Trusted List.
  3. Krok 3 — Bitcoin anchor — ots verify anchor/anchor_receipt.ots -d <payload_sha> — nebo nahrát receipt na opentimestamps.org, případně zkontrolovat Bitcoin transakci přímo na veřejném block exploreru. PROŠEL = hlava chainu byla zapsána do konkrétního Bitcoin bloku.
  4. Krok 4 — Hash chain — Skript v python3 projde chain/proof_chain.jsonl, přepočítá každý entry hash z (prev_hash | event_type | proof_id | data_hash) a potvrdí návaznost na chain_head.json. PROŠEL = interní log událostí je neporušený.

Všechny 4 PROŠLY → balíček je kryptograficky neporušený. Krok 3 (Bitcoin) vyžaduje síť (nebo lze alternativně jen ověřit transaction ID na veřejném exploreru); kroky 1, 2 a 4 fungují zcela offline.

Nástroje, které budete potřebovat
  • python3 — funguje na Linuxu, macOS i Windows. Použité v krocích 1, 2 (alternativní cesta) a 4.
  • openssl — standardně součást Linux/macOS; na Windows přes Git Bash nebo WSL. Použité pro kanonické eIDAS ověření (krok 2).
  • ots (z pip install opentimestamps-client) — pro ověření Bitcoin OpenTimestamps (krok 3). Volitelné — můžete také ověřit nahráním receiptu na opentimestamps.org nebo kontrolou Bitcoin transakce na block exploreru.

Doporučení pro sdílení

  • Sdílejte ZIP přesně tak, jak byl vyexportován. Nepřebalujte ho, nepřejmenovávejte soubory ani „neuklízejte“. Ověření závisí na tom, že každá cesta a každý byte jsou identické s tím, co bylo vygenerováno.
  • Pokud lze, ukládejte na read-only nebo write-once média. Pomáhá doložit chain of custody, kdyby byl důkaz později zpochybněn.
  • Mějte Proof ID a čas zachycení viditelné v poznámkách nebo titulním listu. Jsou také uvnitř proof.json a report.pdf, ale rychlá reference dělá spis přehlednější.
  • Posuzovatele odkažte na README.md uvnitř ZIPu. Obsahuje copy-paste verifikační příkazy v angličtině i češtině a vysvětluje, co každý PROŠEL přesně znamená.
  • Neextrahujte jednotlivé soubory pro přeposlání. Ověření vyžaduje celý balíček — manifest, chain, anchor, eIDAS kit. Vždy posílejte kompletní ZIP.
Vyzkoušejte si to

Exportujte si Evidence ZIP z proofu a pak ho ověřte. Hned uvidíte, jak striktní integritní kontroly jsou — a jak se balíček ověří i plně offline.

Nejde o právní poradenství. Přípustnost důkazu závisí na jurisdikci a konkrétních okolnostech.

Další návod

Pokračujte na: Browser widget — instalace, připojení API klíče, zachycení za přihlášením (Enterprise & Business).