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.

“Gute Anwendung”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a7d8ae65c25d16dd68722b0d3a2134339d86ed1aa07e55208672b703559faeb
Signature (Ed25519, base64)
rG+TkuKt8ZjgZM4htbNX5iz7p0GrigZ3jGZ0G3OFD2Oe9ayFhkkKN0RS7sP16JdSOgZBOY/8eeF9rGOFEE80AQ==
Merkle root
3e1c67438f658ba7fd015e6979c1bfd82d90efb0848cecbd4d902d6b2ed171d3
Merkle path
["0a7e2945242c9985077d0d4b36ff51bf581920984bc3a90c939e7e4869633fa2","c68032467928a8c8bf2f5fd8a2b0c1d9c21f402e3538fa8f5841d1b4f7372684","bc2aac6262ca76fccdb3d60c918eb93e67e9c782092acd3638ebbc6e9d878d1c","80138d2ae9e30e09dd6881a470b20618866ae34531f10e775b661ed5631ef7cc","07200280aa9c2ba287ee61a13866dd361b596b829126209fdb5f02f5e5ff3720","3e666788a7fda6444ff22e831b07b710a9b951b58d4e5b8ebce2f580ecc8cce2","b191b9633d8a42b63ae708ddb3b77e6a1219d60809f41fce263cbeb108635519","beba74e8cb9e3d29a4393f15ddd390dc0282c79b4b46acff30d758f21c9fa8db","3eb7b3ed5b9bddc33fda4c28fdbce11c2df14d266fd76f1f30a1a5bbaa3625cb","21bfd967beebef549712bdd5934300fc0ac86addf90f1223764607fd47af5806","aacadc64e7d7887ff88699bc333daff48d46b4e6179a20d2f7632f1b62733181","a84f19b73d0745b184029b69cf9f25565f40d942048a82955efda21766296b26","fb183b6f6365289d9e03a04ab6a5ee3d62de93cb7a6ce2bfeccdcb2ed00acf48","0790a9ec23117ba3e0ba9a310290906a4f1d2b0055d4607b106ab21651087c1d","db72b82118c1e08b77018004fa72584377d6eccdc4c75ec19bef6a78273f75c9"]
Anchored
2026-08-20
Public log entry
search.sigstore.dev, log index 2524810465 · entry 108e9186e8c5677af074…
Expected log hash
129b219cb6155ac24569a579c61e8fc9cc2d89305732944b8849d5e719dfd073 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":"v1787193927339","kind":"published-quote","locale":"de","page":"product:proton/proton-vpn/de","quote":"Gute Anwendung","rating":5,"review_date":"2026-08-13","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 (3e1c67438f65…), 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.