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.

“the app feels overloaded with ads”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1d5f2a1281a03e3398d42bd642af5d12c644152c193625450436966c615c84be
Signature (Ed25519, base64)
67pa5t56ImOBMWe6HGctOauUA2HNfQuchymU+1fIxeLNlYNoIajwnxqxMYSK7ObFt/3Vlf6liqhInNkyy8a7Dw==
Merkle root
1e61eced4e661484bfe5b6f5b2703dd6b75b86bad22e189b3c366c9d28063790
Merkle path
["1d6396da30750dad901f96ee7f2a64d1bbcb1aa01a5d14c7d070ad93745635cd","cc263e336faeea8f3fbabb70d5b3f58b29d148b1e0abc54c2829669a11c30255","a95ccf9b1e038c0d60b6ba8eb88fcb9654e75d62b008e1557f228e0e8e7a9841","c95be83cc7981ba455b88a5968535633c7e9e4da31be4e80822f328f3bacdd2f","28f10459c62c35ea06bf155d41bf9dbe3c684a0cad4a408072710ac807bb6631","f3d29e5d563f2486cb5edbf14dfab368cb1460dd5f543b0718dbbccc3f8d776e","0c6dc6ef57a17c9e574c2849cada4df4a99ddbda2bccefa8c52af99d0a98d2fa","8e6b278cd1a64d18ef2a6a1cee5d7aba9700dcd3bffca7d0b32254be2c5be222","4c1b1b2ac3e4daf86de292b188b08e55a15ec1ed8c4b169381b381c5f231838c","c578d7bb94e8eac7c0d545cac5ffee51192c19b541878a01ec1615ba4633cd18","e6349b3c7cc29b652f849fdc03dc150074d8d0068ecebdc84590341f8e646590","9a70a2514971316655867b1f61a2aec04e72a31daa04a2281af3e8ce8591717f","54ee0bc4a4c2b45767c35fcfd5bb7920c8fd190b1fed30964e0a25b96be9cb33","bf1bcad2903dfb9abf4b8f024fe3c81bcae7bbc24b20f79dfeb4175ee7010ee6","c6abe42054f9c95975c60fb1ff77d61160b6c8ce936c4b4f55df686a320e02d9"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2684045120 · entry 108e9186e8c5677a1eab…
Expected log hash
991cca42189213cf0723c834ba6ddec4f1bf618d506ffae30f68dbb14dfac402 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":"v1788333005708","kind":"published-quote","locale":"en","page":"theme:accuweather/delivery/en","quote":"the app feels overloaded with ads","rating":3,"review_date":"2026-02-21","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6998595efe4c273c5c199e91","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 (1e61eced4e66…), 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.