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.

“easy to upload a file”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1edcd20667d95caaf78dcbe03fd83707bbd6b043733458e182ed1868a442e787
Signature (Ed25519, base64)
/Sw6MhgA9esLa9+thtwrGEBuWU2gQTjrpwWOWsCCf68uF3VaeumlZt4btl6jixT5orYzYi4tV5NLht5SvzIfCA==
Merkle root
1047936f87a157b28c078afc7a20c2628bbc08f0196f675d74b106da179f0837
Merkle path
["1ee2695bb6b0deba92b91230ef2ce395d68ad38525f0b4574daaf2a1cda8e671","5653680d9830d0de44aec9a550772ff7f0f1edc8f0c1b737361516b773753ee2","16de8aa1ec10f8e7f41d5c3d566b84116911e23c935a2244e9cd3b34639b9c9f","6b10e5a1ec14a248ea543b740eb01b371ae87fb8ee8f1546153c2129c9b6de4a","6653125f8514de2831f921144cc9170e75c282669278ea26e3ec63ba362993b1","6087683d67941617eedcbcded9cf37732f4d0e271392cd30fa4554f414acc60d","694bddb8b77add01a518200a312510c21eb6d8605601cad3b1693253ddf9e3d4","0593ce696028a1e4cf4a7318d4e1baeeec3c7970e64e7473c276a5d21045f49f","dd93e1a3260ac51a637d6ae815a72bd0922ad7c0ff946d425b9461d5c06692dc","759b07165b4be363de8313d931b5709c583d01869068be02453600636c0a4b0f","4fc35af7070a3582c6405492a637ad77c30890e1d19c04b461a3bdc50258df1f","914ef6f739bd41530e41057618e80b0e08808ba78cdd769f11515bb20e10b1b3","f0c9f05f81092a04253915106712474a19d91611bbbc8087119ec734570aca0d"]
Anchored
2026-11-03
Public log entry
search.sigstore.dev, log index 3668087860 · entry 108e9186e8c5677a9a52…
Expected log hash
8136c8219f7f6eb1e1368a1be1e1dded601bc632f0bfe79c4ca1bc6cf8be67a1 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":"v1793705308993","kind":"published-quote","locale":"en","page":"brand:ilovepdf","quote":"easy to upload a file","rating":5,"review_date":"2026-10-11","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6acb2c64c14f8162d54cf119","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 (1047936f87a1…), 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.