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.

“This was a lifesaver.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
115caec2c04e1e632b5a8f6b80cc76be95b3af0d6b979a422a55b51b88e0e42c
Signature (Ed25519, base64)
1sEyHjTVkR5OIuPl+7oHITQG4bxhbQQmeg9Td5hK+3ABCJhf33tqy0RG8GG9aqmQ0ZgisVyAeJmNYzkn+mIwAA==
Merkle root
52d6be1abed15ebd0724a0e1a493d5805e1ea49ddcaf8e9e5584928cd3e4d759
Merkle path
["115c6b674e7ef66bb5f5a52b804809108e4c816b102f53ff706675949c04a7ea","81dd082cc8f5563ac85b69fe49e97bc6a697f463872e6b0a58ae44376b2c2ae6","64cac2a23f50668237fefb44550d433fa5c4fda62521c0984824268ff0c978c0","dae1643c2b198f07241052fcd9f89ef0d9db4f6818dddfcab08d53de315336d9","78df11fbdeb9489de167c7caaa6c2bcfb9430167853b4ebf08bf435dd00dcd9d","e917d1e2d25d8fc23c7459fa565b9aa8971faff320642e32f77515b6230814a3","9248cf443685a3241d01a6fe5cfccd32f77473ede610ba84211be97ddf78358d","856f4fcaa3bc803bdbb3ecb492fca95d0ad80240120bf489f2fab3fbc9a6dca4","8e4b67c18174f20077641506888e86459fbba6228d1ea73a81281969b4696889","c40c0830eebfce03804902283f6625e4982e81f19dab3525d68004a60626b345","ce7fde0d39bc3203f33175015162e8d82b3e49dace80b277c9c59d8520904fd4","2dc8e1d0a0e516acb8dc01ca15884c459f0a0e973ac35b96e1808b584dc8c14f","7d5e1a3da5381843d312196fd4a9f69dbe86b152542df1be09d403d47d5e49c4","71d5ef7f970539b9a82546e0bdc1b1069245bf71351875f786a78e5550da4e15","b72fcc24171828b3fdfff6be65bb433d37b8e51a187739d27a216a784d84cf36"]
Anchored
2026-10-08
Public log entry
search.sigstore.dev, log index 3140475820 · entry 108e9186e8c5677a78c2…
Expected log hash
bb68bef30792bf00f645df162a48943f770bc3f026216a44dedb4651c8ac0917 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":"v1791431489246","kind":"published-quote","locale":"en","page":"comparison:smallpdf/en/vs-ilovepdf","quote":"This was a lifesaver.","rating":5,"review_date":"2026-10-05","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6ac3babb30381f66206abd28","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 (52d6be1abed1…), 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.