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.

“You cannot change servers unless you pay for a plan”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0ee905aeb5ee17b2edc744dc40a74048eb696a646d1eb2fe4ff4eb0af5b23979
Signature (Ed25519, base64)
tmiPGsc0MnbO2RCcohyAjvXsgyjOwOXn95Tky58zUvEhYMix6n2tl7eBQnp8E4V1fQTGP+7FmVLKzW3mKoH2Dg==
Merkle root
96fbff9333062c6f240ebc674c358d11c91e32417964c7b74e7a085ad09b3148
Merkle path
["0eeba2c9747e053c0c7f33f5a7d681cc38256e0dee5b90b619cda603d99186d6","93f4fb552d1d536cf34dae27ce1ad538659a49624d53c1d9ad6002143d813398","b010c73bc7a459bc4e409868dfa3ce5d109a80748059eff3c2b95b3d70ec07d2","26df3ad008f256d280a1674c87c4d5dab1d39c75d9bfd6f93a5d5b3e4836cf23","a10083e58516a8b33bf7722a4bdc30f10cdc3a13c059fbfbf4376cdad1b3dc37","2ec539a8e3496eca167f719d4c069f6c0ebfabc704550e695ad447a6093c9420","b4a50539263e2c084820d0f3ec3bb77b3af44f5861e2e48f028d790b0353b324","68eca5c9fdb8f422dd92764a8013155b1ce6bfa644ccbac86a8266efbbaa72f4","02efcc17211ba693d49b21b38fb56ae0627cc9b4402764c13acf8436ebc38525","fed43698a22f926c25af35321acc9fff5db3cd87c9d6ff160237b719cc901ebb","7d02d43fb1928e3ccc029c215d21e63b8e4bff729f800aa5a9ed26d015bc3631","94f788ee88a3a5d0527e939fc2fb4326b3a860536a5801cfffd8d3c9817768c3","79a4550b200fde9b3a943415990b5226f73c8c365540528c8ac5ff0f8d838204","392c4ff19a61c37ccb09c095c4cdb0c4164ec867c437a8e3033cfe3fe2edd46f","60ceee9d6856471604c29353be774f78386c382c47f03b784bbb0ee7fd843f1c"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2685152720 · entry 108e9186e8c5677adce2…
Expected log hash
b48044e152c7f9f6bdada08baa42518b66cab68608ac945b90bbbe4a8f1ed0a5 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":"v1788347082424","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/free-plan-upgrades/en","quote":"You cannot change servers unless you pay for a plan","rating":1,"review_date":"2026-07-23","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 (96fbff933306…), 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.