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.

“Is free and helpful as hell”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0fda45d853db7386acc4553a31f47c6fbbd0625e6d75f4a6cbea792a6fd47059
Signature (Ed25519, base64)
nMXu8E9HbrTs+VAe68mNVsSaK0ayVA52Fd57rFsUzYsrN/1/YMzNU3QsdqDGT9JFnmkKO+Zf8XilzlCtxOB7Cg==
Merkle root
c481d62412848235567fda063ff4784e8e49df41ad8b5c570de24ba396415d22
Merkle path
["0fda96853edb3bcb48cb435e5122837a7f171ea000cc0747e4b4822ce3ca7d24","e1bbdc3961bf6c6acbf7efb2488a9b7f97334e2d6f6d85caa14f73bdbadfc97b","7287390741576196f185bc47f4272eddb247f1163685c855c7434b32597ba589","c1212c91c6a293844358916e3ac629202c2682bad43d4a0504de272c5dd31d8b","ad0b8a6741d54c1f78571ee803506a0ac4bb454cb9082044686ef0cec3dd6bf3","8dee4adadfd2bdffba76dd26a4e89afeead87b74862d491e3157911e2682aba8","9dfe67c9cf2566e5726228d2dd609ee27e1b5df45bd58c43b390decdf9ec1e8c","7a5ad854d71289c554612eeb6266bbc1f49d2ac625557d31190b62a37867a0c6","97f84e6b022b04f59f6c5fd7d1e804945023787446d76959670dfd6faf00899f","3bd3d4ceb1aeb6027d4c692ad85c8d61e4844287a6155a8752020e595d920726","9ca821772c9bdad98e12eb64e11574220c9ced0407a8412a20a61baa3cc69ced","1e420c13b7798af08501fbe6365ddc5b44e5ea7ed3d656d15db245d747c77a23","818f0135095488afaa32256706f222f09138af7de4410ea79d618f621eaf5cb2","ed99a4b837bfc052822e7d0dbdd9c56431a87e8600550f5deaf9f7068616c82e","0cbfc145d581a4c4b7198ff8f397c34cb4ba6263e9e9892372f878302426dbe6"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3124493015 · entry 108e9186e8c5677aee70…
Expected log hash
0056b042c00529af1248b70a0a2fbed761990dd7841ea722369c29a2685ea6e1 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":"v1791350987184","kind":"published-quote","locale":"en","page":"comparison:smallpdf/en/vs-ilovepdf","quote":"Is free and helpful as hell","rating":5,"review_date":"2026-10-05","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6ac2f46a951256e05fd261fb","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 (c481d6241284…), 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.