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.

“CAN'T CHOOSE THE FREE SERVER ANYMORE!!”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0c7b381eed68b04da14a24e53c52d5c776aa56e747d6888894c09b234d14056f
Signature (Ed25519, base64)
DiyC6KgRwXRx0kRIMDRmI84vsNOKJeVVFNQ8pqGx2/+WG+YDDl24RK1IbCMNu7bM/TAfic4RVketNIH975z0Cg==
Merkle root
3dfdf7381c8d7ad52c2e382f4e16b6f321af764e7eaa340297113fa50b9a0792
Merkle path
["0c7bf4704ad55fe0bc9b0f48bf3889b6140b398cb05047b154ea939842574bdf","115443eb084e99685c18f6449b3ef9bf5f3fa54ac77377b057e08c6bc172ff6b","76efa94640d49cc1f3d7e9931b5660f31580993174668e7fff8141ebc1ee17f8","8f7a7991828efee1b2fd7af515c4215a26f3291879f35e81c8916314e72e3f28","a253e86b97383302ed25349dfe4057d0e8e9f15e9e9c1f2cc5092432bb3341f7","fb4d9a9357829deb6edc13dcb8fe1a7d5579e3afd60fc09b590918ea99e61e1e","a08ac573c115c7e31d8e35b58bc96143932c17a65436dcab3a207297fb437a06","f42d07b7612ddfcd8ef4a209e175da934e6dae2345905a1fad3904317de0041d","c682173b68f865effddfe1e8766667f73461155c65bed2efbf7584a9f3260ddd","ab096acdfb7313803064f63a68345ef29ad9e82b5ece2f439fcaf0d096dd68a3","5cec1b530c643205970003b1115cf64f1334e500595cd5d5fe0185eaeafb8260","81f5340bb1c2a0054bdc2b1c036e86ac1d05247316c250aa07dd756a5b01354f","83e63a6d799b1ceb15f089aa785a41ce6f782296862900005501fb5bd92d886e","81acff1af3c2bfcaf656a4ff2b93eca8121fe44c1d5b5a4dbce370acad78d2b5","377cd45c8c0bf5fb2c54ade6d9c4a053bed5d007e1a30f5279132a3d565864ef"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621946731 · entry 108e9186e8c5677a0a42…
Expected log hash
ea07e2ac95e2432412286c8e9f169e876b2f38f9762d26c0a0ce3cc128edcf3c 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":"v1787893493942","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/free-plan-upgrades/en","quote":"CAN'T CHOOSE THE FREE SERVER ANYMORE!!","rating":1,"review_date":"2026-07-16","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 (3dfdf7381c8d…), 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.