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.

“Super easy to use without all the hassle of signing up”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1b01c4ef35346481ed61ee4dd0a87292a4e5525fe368bf0b93f29c7defa63b5a
Signature (Ed25519, base64)
g5WhZyompQDbjFKp2RCmV6KKndpZ82eylHGT64HCs7Z3JOSKZUVwmrMuTQuVv+Cz7kZ9F5C3jVJckRiR1tUEDQ==
Merkle root
baa63339ed127dee6c2b1504d3718b71e94c83f7a90a1da737d699c1b2205913
Merkle path
["1b02548d8f644dcb7961f4bf18b22769e87419b5f3fee992936c2d919849f1f4","7e9b6b4eb2d766a7fb09c323596c16a6139b0296721588b2d9616929024e29a0","bde7e40f60d6cdd68e1abe761be7c6a6a08301e8544bb98f9eb1adf80c023c17","310e54a74ae2bea74686e0186ac25678aa7e001fa58bc9351cbac532101f5f8a","f6b4d07a3b18e88adb75584a065628f9bacc0f4b7ad655f58055e0091f335f12","20fefd08d60e15673fb717827128dc0ffd2f53c32f73d0ff8a02e7ad4bec7d29","a10c8cf7f8233bc85cba43e720ab3e0132941066b91547f5ab71291734147c5a","68899aef7ffa870730be36b875d7704146082a67f9c0ef08c5b5ffd51b703858","12a16ccad5b10d4b52a16cd7e29470fcf40e2cd71803771645cc3547e925d657","5155d717edc069d1f56e63961301279bdfdf191d36b7cdb9f680c8bba8f12f17","a3311f52ee265c954f72217b21942002f400b14a8125c446178305cee3e9d3ed","bf762721be01b665a467adafc2bfa206f72c681ab8fe5bde6762bd120ea2a5bb","eee880a255047d554444ad39a6fcc213a7567298f0f3441531c01029e7a71d12","ac24abf3a1c506aec2b5c0611268046e40bd3e23140aabc047f5c16f008d5dd6","11e6176a525c956e4f3a814b04624b93eb8f47dd129fbee2765869efbc5d4d54"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2685255068 · entry 108e9186e8c5677a482a…
Expected log hash
03e66e446ea90df8a21d7d402854ad37d81ce71c2336e953836f61c9bb1e4bf5 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":"v1788348937690","kind":"published-quote","locale":"en","page":"comparison:smallpdf/en/vs-ilovepdf","quote":"Super easy to use without all the hassle of signing up","rating":5,"review_date":"2026-08-30","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a93c74ea31a6d032aa48eda","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 (baa63339ed12…), 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.