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.

“Difficult to use in general when looking to upgrade to a better plan.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0dc4684210154082aea0ccec92558f7e3102de1cc24f72cdd33a3ed39676f56e
Signature (Ed25519, base64)
f0eqFOztgFbcvX7NjFmqWV10aUNcCsxfRTFBC225XbqEiuL8mPt5/bfITUmOJyA3GGA/rdPcFot3nrjrOCYHDw==
Merkle root
693b3142de1a19894d0451eaac41455e1d3aa37919b3ae5e2edff2f233caa80c
Merkle path
["0dbe6291424f581775c77e2f223d6f908664c5e0231566591ee54bfa68004eaf","4f0a9d442aaffc075e2bd21635ec061ba5b890272e2613f0ba96ffc186c6c570","d95e276fd581b770f0ed6410f535bf2b7ddee0bfeb20200737dd0ee49ab393dc","12d876e65d4614b312d8871f35c3e18859e08af9bf6e36eb18482081dcb5580b","148b298dd06aa07d08c23551b5dcf867e67c1620c1bc2beff2f0c89b66d947f8","804d71cd94774cb471ce9fde3e9b5f4926933e221fcf931c94ce12871fa8edd5","561ba68a7ba46dea5a019c12e52bb523179ed6ff55d00b6a3c7ba98d1544575d","19072d64fce7c7759a5d489a9237f873ac462c076904b90056a6cbc326cf764b","e68bda3f30eacd7bcbb951578195112d4ef5a70abcafbabd70f142c2c01bd78f","7fd10a3b94f4dd45b14d1d7cd59e636d1e0ece5093d2248c92a12d131da7a954","0c4631667bb5856cd8a29b65662046a77e34f6c7ef94c74546fe8eb30c390170","2bb5e88471e976da7fc6b14da8977d2732c138a8cd16bb7a6a524af5ca4d85b9","820e91ce7b2fab163d9b115a0fad694ae18ddfcdb351eafb21c56652b7db54f3","da05b4f5e60707f1d2bd0d32dd4c2b8ea5e4409e0de9f3b91b43f6e1fbc24293"]
Anchored
2026-08-14
Public log entry
search.sigstore.dev, log index 2460081835 · entry 108e9186e8c5677ac4f5…
Expected log hash
f3b8925aaf484fe1112884ceeca2778886407b26d173d2f69563f9491621f073 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":"v1786676915924","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/free-plan-upgrades/en","quote":"Difficult to use in general when looking to upgrade to a better plan.","rating":2,"review_date":"2026-07-24","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 (693b3142de1a…), 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.