Quote verification

This proves the quote below is recorded by Citatio exactly as displayed and has not been altered since it was committed and anchored. It documents Citatio's crawl observation; it does not imply endorsement by the source platform. The quote links to the original review.

“plus Sicherheit und Privatsphäre”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
06c6afdf09e4071e0d1ab4abaf585083658b1d2977ff65c31e810128d545a6c2
Signature (Ed25519, base64)
chT9bKwLmgJzjfKpe3YAlixxdaFiQd1KPEjcj6CPEPlDn1yrejT2HILkKydftCDDg/sAJTq28BHtv+SYZQ/EAw==
Merkle root
e61c2598d4d03770603e24740bcc427581e87bcbeea2e56dc34fd81a9f496465
Merkle path
["06c52e2a4417fa4ae4ff568e05667c9f0e13ced07f0ffa701e5e08fcbc4ae6f5","21ea97cdd192966263cbdd58899b4f29d39de770b2114e0302e91aa2487a438b","b8901248babf4790ce8b3664906f9f02f9b3a47bcde41d46701b6516f505a964","bdb8837aa5c3e0c9bf622469200033f6d52bd70245ef7a25845ee191194a29e3","e9a2a3eb1fe7770bd69e3a503aebdb80cc8027f02fa9bcc02f01decf85cb9fec","cf67ea7a59d78b40e16461f6c126e5a2cab00f1e3fe015cbf3daf732598753f1","1668d49863e471cd5e70183005f965ed9d597e19f309593593ed6b5c2f80d4e1","aa8319a017bbcd41b35475aebdce0c4727479c8f5927a814176db5fbc1d649e2","bb68ef37559452e758e8c9b4f528d15d8da3837ab7c2d6dfb68b116793fa319f","33f8a703f8e588acb1c7b15a2fd72d9a90b1b45a371d6d02164c7547c1391600","860859838a37226ec54c0a29cbed7602833eb8452293f0fded88c28313836971","82c59a1f070110c8bc72c9d5838bf722a464300d8665e875d27340c85eefead5","40969aa912cd897f062ef7b007bf23221003273332528476c6c56656ab8df18f","c34fa5ec75d6e3462dddbe081b828d412a3a575b53cbb348f7047f6afbe95056","11a62e67a9d98d919358ca5b8855f911ccdc865f14b203213de31adc67657443"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2515345787 · entry 108e9186e8c5677a749c…
Expected log hash
d9a90b5e7311041bf4315991ca7f2fbceee461daa2ae70a8b8b95323461a31cd The log entry's spec.data.hash.value must equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm.
Canonical record
{"dataset_version":"v1787140356347","kind":"published-quote","locale":"de","page":"product:proton/proton-calendar/de","quote":"plus Sicherheit und Privatsphäre","rating":5,"review_date":"2026-08-11","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=me.proton.android.calendar","v":1}

Verify in the public log

  1. Open the Rekor entry (pre-filled with this proof's log index).
  2. In the entry, compare spec.data.hash.value with the "Expected log hash" above: it is the SHA-256 of the Merkle root string (e61c2598d4d0…), which ties this proof's root to the log entry.
  3. Decode spec.signature.publicKey.content from base64: it must equal Citatio's published key at /.well-known/citatio-signing.json.
  4. The entry's integratedTime is the independent timestamp: the root, and with it this quote, existed no later than that moment.
  5. Locally, without any Citatio infrastructure: SHA-256 the canonical record (must equal the record hash), verify the Ed25519 signature against the public key, and fold the hash through the Merkle path (sorted-pair SHA-256) to reach the anchored root.