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.

“speed is not Best”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0982ac9cc8b9b79c1219b956b80701fffd290ed64fb971fada69cf271d8ff988
Signature (Ed25519, base64)
/8CN4xvNbhAy3Jhpagk25K8wY+rxworgWrBC3nW7PAWiQbzQD3X8mQYx6SFsl6108OWqe1dRh77pQ8A5FAswAg==
Merkle root
7af90f1f77475369ba79c6de04e2b96410d172ee274478b168f1a4f09d59cf0a
Merkle path
["09802cc2ad2107eadf6713fbfef3e512f4f7379e4f15337dee413f88b2092ad3","d7cef33213862a8c569756b4417b962b71e6b6fe6ba45a30592a1eb2b1392e69","9a1cfbb5bb4ba6bb1988f2e6f5b3abc681908bb8617f427b10d55ec56fc41c00","59d1289da661ffa354e903cdb310fe6c5124eaa8f98de509566e74ad6240f659","3253ea9ae7f200945186aa281adc5f3b646090c8bbbe6579e1f9245009ce322b","fab7388aa2547a2aa457c32ffa3edcd3015d9b7217f365775c38aeebaa645175","00b1fabf5a8e9883094c7f7fd60329cb8f9d0efcdf3fadf590119474b298eabf","cce311fde4a6a94db689716cfc578ff8497bfebfbdd51aca300e53c63ba6da35","4170eaefd8b66d0378efc5819876d4324083db8df2a9994adb735d660e4c6503","aa6a9b1a58923f5652bc012e03b4455f4cbbddad284e5ef3869b471ccf767f0e","f178a6ba8af3faafcf5086acb628984e2d9d15170382196baa7f3d729a9b5954","cd317d1649e0bf58d681935e8e6f1141a5adb633ef6f6b322f1066f04e04b19f","7bc35fc0b1ac5e00a1fac8e18f18c60265fead1085e85ee607cd9a0bc565efb6","8d579e642eab71e9d60e8b7671af998b44e10d0e640b4db5ad57a1bf7f65fdb8","afa871c197d2bb2eb51f71afd159f7ec4121066866dcecb4444e5695267b9e03"]
Anchored
2026-08-31
Public log entry
search.sigstore.dev, log index 2657999633 · entry 108e9186e8c5677a0b7e…
Expected log hash
0cff664c54333cfb7f43cecbc2192b6f4608e129f59e5098ef757ce353383fa6 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":"v1788148761434","kind":"published-quote","locale":"en","page":"product:proton/proton-vpn/en","quote":"speed is not Best","rating":1,"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 (7af90f1f7747…), 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.