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.

“Seems great to me”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0abd06545adb179ef97fb972964ecbfa5a815c17ea5e4679ac790a197a512e21
Signature (Ed25519, base64)
iEb2E2s0uIT+ynYEg5SrUVbWPTDnuKA1p/vfQOoPHr8Pf470MslWPzxDuRSY5+OK9ypGKx6gd/pp0VDoAgYgAw==
Merkle root
6ddadcc7cc1bb0679f63a30d8a28a2a72e039950945f2d7276487dd5b703ff7b
Merkle path
["0ac78addfd6573c5171bdf49528a84122c7afce9a769480bb92eea6e59352844","34787f780d11ec20b20558c5974a867fbd56b4b9801ce86187bcbc4322bc1d98","b2324bba8883316b61fd79359a8698d739c47af142bc30b66c867f00b6d4fc05","104b501d95ea835822ef72a490bcc89a1eab3594e721a07b24f61dba25865588","6bcc6e3cfed5fb986460370452a4aaffcb3e5254a21395169650443d0ed75b4a","e59a50c18dd3c22048552d6ab56faa83e5b1217b8aabb3e7a2f49fa76af86e62","97a304635b1b24dc3e1f18908761741deade87c7bdcb8bfd64bc34db085ae6ba","91591a3e32808ffe33daeffb76da2256c2d045ca160741642a2f7a2f85ad8419","cb32761a05e3209a0ea7aaef6113dd0908a57ff89a03be3c96b897da8720e8a9","cd049fa40c0c74cb9ceebecfc116c71f047b82e0b6564d19383a259335b6d0b0","1f049f673ee3c832895fecbbde630911c15787a2b2d6dfe2aa782ccdb0080fee","1fa414f501227038a658e22fb76576a965b3cd6916bf36f73b8eb14b8ec31aa1","adc0c6eb29d14048590505808b7289699c5b9115e3705ceb6c036661ccbeaf5e","9e168dca44eb94549433cdf178f0f0b1ef27534c6f92f24d9664ece03a3c710e","052ac7d24dfc9659210f2718e5c7e6b2477f3dc364546bd6ed2bd5df9d14d7b0"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514541190 · entry 108e9186e8c5677acb65…
Expected log hash
adca5adcd6d3235cf084bc9b408d3e4d7742d07347957346ff2629f37429bf20 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":"v1787130614827","kind":"published-quote","locale":"de","page":"theme:proton/ordering/de","quote":"Seems great to me","rating":5,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.android","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 (6ddadcc7cc1b…), 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.