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.

“wants me to pay to upgrade and shows a load of annoying rubbish adverts”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
152bda26971ba5ccf5f1f618b7f6d83c792aa146f718ea7e85b4b89812bc1cf1
Signature (Ed25519, base64)
JIfTHbsdNKOr2402nOG6dekw0QkXsDKI7z3W/ln3NgeSY49OT95gl8CilcYkIqfpuwDwxSfSIqTXPGpKGO1bBA==
Merkle root
70a672ba4f99febc4973332b6c2cf94172d87101aca638fdfd56ae3131b117da
Merkle path
["152c73414d377a0cf80a2696d579bbf61ba7ee64840b2973b272327afb89e501","2507fd70edb42ee09ac468c739e06f0a5cfd5e79aeb202c8fb510df2f7fafb56","46c2e5e4fc2d307bc47a514ef75d9137730d9dfd0d6489e229de3bce47ed14f5","9addf3c8b826ec7b7885a893f858375f1b8f6dda3d5ecd7c0e3d3b558097ff53","484b5c06a7be7687559d40e20d1f084e818b3f604f080056b58cc8fb594e2ff7","0ac1f9ed82daff19ed7e9a3b00db12c22b6c4380fdfddd103451e6a4447e5c67","cfb61c226128b1985237fe5c3064c6bc00b0182c45659eaa69ffd20548fb94e3","db23d7824d641dc5304247caa41d005ab2ce4e7478205e76c10a256bd0a25057","31b74ea6ada018904bc729398bd39243b5fc95f8dc5ad8582699cd02dd891ded","efe9e4451f6f737ec0bfb506c6860efd7f24b9b40cb42b8d489907aefc2cbc40","d979566f60af4d00404394584d79d20ddb23dca9cfcf012923afbdd8cdcf5dcf","4c04d3fee6657409c8b6ad68998dd9bfb46486136283728def3f1ddbcf40a7d3","87f61d26057d4fb4f6a740a063ce88db7759266bed7950e950bbccf64bfb6be6","1f37dc6912cfdc60064656f6b3b1ac7b51a18eea41a11061f5457370784c1545","c66ddd9e0c503da25c55afd584b26557c7acbabc25078f9f7593d3776356303a"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2670402210 · entry 108e9186e8c5677aa13d…
Expected log hash
4c67c3cc128b94bdb5d524d39c2018621ea5c6ac22722b8aaf21a3d775248c87 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":"v1788228248765","kind":"published-quote","locale":"en","page":"theme:acrobat/price/en","quote":"wants me to pay to upgrade and shows a load of annoying rubbish adverts","rating":5,"review_date":"2026-08-04","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.adobe.reader","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 (70a672ba4f99…), 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.