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.

“For a free service, I preferred ILOVEPDF”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a7a86bd5e7a7e633cd3bc9cb835522a6ad0083a42470738d6b4e8bf3517598e
Signature (Ed25519, base64)
2lByzDP6gTkq4nKgmeYYsPfh1w1HI6T+RD75Gwywsg6uWjrbzINqqe/Nwl7DvKE7kCLui7KPdxYClYAcK3r1AA==
Merkle root
80ef8d8174e5c9e41c4b3e86fd7f016ae3808fd6df1be7f458d6b538ad4a1573
Merkle path
["0a75f53d84098f285f36acf788283f66f263b26807ab9ce1f1035d4343086505","8add31200cfa2cac6d73fe3b49879b391b58d19d0a30dbc43f0d261cb62afb31","ad0eecab69d3cfabd00d30e61e337f89c13d295bebe57d97131e80c3783136c1","6cb640a174d901a14ba1526043e6d704e6590d1c860391ee029ca481e70b2e5b","0ca25bb54c3cc88ab179b35dadcaff533f2d72d8e6f7611ec605446d7169604b","fa2c084109789436f8a23bce470d96a8d8085fe857f2e60587bb41fefd338f0a","5bef212087b8cb2964f2b661f11976271d66534e13533c5b2110dcdb36fa94d9","ccdedb828b64ffb7bacea5b7937f772bfa5835b416b61c5a27a77704d9d5b9b1","6d85ef53ed548c1dd79828ab8a748c35ef3d87eb96a37c7406228e920eb42dcc","e8dfe00b5f9a67b5699899b7a34e36bd16fce704ead624e07e6008df82c6f7bb","6352b510d22393da71e3d337860c623468166a7fbf243d6cde038475910f3643","8a65665ffc3a4722f5c5c41fdca725a257e2ab338063473af47de31540acb863","f750e38a739e49891f23aa1e661d12425441a712e16c6b53fb7b0fbc333659c4","6e65afb9564f3cc8ff91301d96b8fc4fbac4c77bfb9c9dbe43ce13006661d50d","8d9e2142445a56a1b8facbbfea379c6a3fe5da494546393de95f71ea2d5e97f9"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621591821 · entry 108e9186e8c5677aaebc…
Expected log hash
1103461f2f136c93d3dd608a948686a2f30160cf05200779542dada269979b94 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":"v1787890464756","kind":"published-quote","locale":"en","page":"brand:smallpdf","quote":"For a free service, I preferred ILOVEPDF","rating":4,"review_date":"2024-11-16","source":"Capterra","source_url":"https://www.capterra.com/p/172606/Smallpdf/reviews/","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 (80ef8d8174e5…), 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.