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.

“No button to quickly connect to any available server”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1f530df9acd24a06cbcc10a375b9b94e48a8f17abb47a6d53ae92b619bd74834
Signature (Ed25519, base64)
KwNzTy3/BMlX0lYmcE6MOgv0kBIxGVUvwAGo9xqE7E42P7LERWrTPJnmPxDgCwc+RjKkzusY2A3EMlBVe/IaDw==
Merkle root
2824dde473714ae3dd30e88823a625346b1b80d9a55db059d813071b78952b5e
Merkle path
["1f4f8471be775713977a5eebe29cdf73afc5edf7534898052f314bfad371f7e5","b6f69592439c24fb2139f18d3a754d15e6b6a1ed1591ae343b97942871dd7c03","2564e0e15e130a90efa5da31650d184e105a7d0052ca0858cdc558ec10a32481","00847e812fd2e287f92aa581c957d6b6fefcddf6bbfdb5435ca9ea3269dc6d16","f191eb4adc8cac127f55bcd96196a0d7958facb0bba9ceddabc564eee3245cd1","b246265b98d42aa32065da50a8939248639ccc9784321823f9774f4009281bd0","97f699811e4b6dd3c38e3e125ee419d857f8776d6d4fcec413bceb96df45e9b0","2aaa58678cc025213d59a58b281ed4a578b03876d4fa3872a2385e082eafb86a","2a6bf1c4be72d0659b14f4e801d6d4df2c0ad05be615a924e07258567127c3ee","306155494d6c4857fb6c918dafcf05d8933cb3332f91854d3ebfca6b9bb3663a","716952c4b3f4d5eaac217f109209b5193e771e846b39200d2f4f443482f463a3","d6bbb08f9fb75532ce4c76d4d84bb93a214afb09f8a4465fc6b0ac552770a707","592828a30de1f38ebd3532fd0b7bb1288bdbe2c152bea05374fc6e7c174f1dc0","c0fc8298b38da3131f46ba94c60b50a7d3f5bfa16abd1c4c451dec4dd9f28f96"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258490685 · entry 108e9186e8c5677a9f14…
Expected log hash
adabd3d63ce5c0d8fcac6f6311f5b010ca6003db409229d5e92687bb33c3624f 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":"v1792032587528","kind":"published-quote","locale":"en","page":"brand:expressvpn","quote":"No button to quickly connect to any available server","rating":2,"review_date":"2026-08-26","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.expressvpn.vpn","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 (2824dde47371…), 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.