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.

“and its smoothness”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0f49a366c0c8c6f5c242682f51c96af3197d99fe30fd278488e3bb6a1c22d79e
Signature (Ed25519, base64)
kdpmRKy2Ppjb76TRkKZWV0IsAJdN8jUqBigefYjM6aVLit9lZVz/P208Io7blHJVvVr6QErye63D6YI6V1UEDA==
Merkle root
fb09dbc79cd836b1d85124e5c45f889f4a8cee2bd2a4f93da34de8effbaeff27
Merkle path
["0f4c02a01fee9b92608fdd564909c3d2b32b831fd437704e848579c8b669cb6d","6bfb441eed51025c045acd3b71230155949924b681b7ab855cd4e1eabc33dee4","670ceebe9eacf95cee5573d9d2f09b635ecd37deaffa4b6a80579fd847f4d392","c832e1240b97b0821a464ca64f5bb059297042a6ea61348b89c67ca079d56370","17e591731e5ed9775e7613dc45417c595f01f1c92d53c295d5ecb2ebb38bc83d","3bd5a1fdb84edbc7df79c2411e1f47f9ac49d5b94d8c599706519be116be1d94","bf6bcf23c129a675029b4b88c3e359a5e35be57e08163498df439526289001ee","93ded396d16189eaf64079f28ef780176056c4076236a92a352940283039feab","7e75de3a07fb6ebb7f6944ecfde5d78f3c47c4d26cb4faa326d4d35f21db7dc9","b59b3c6bc63319ef386d0658b23242f1c25b7bdbcc5d61af3057423bb26e09e5","92969b0d126cfdb1ca355f068a61d2e1f58258258fea9a698452ecbdb91ed99c","b7026620eff1301525ef293efce182d3113aa9218dd88b19517675c383f2d8b4","7637c7d2d718940e0c1978ddad3180208467c8a8d14b3aa539f41f8406f85974","598e586ae65f83870b6b56d7041a4a16432f04a124836b885f1eda80da5ea2d9","015fb6cba9f4a0c5e2fef4dbf7406ea747b003f2d75f764dc48e74713a28c269"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2671985937 · entry 108e9186e8c5677aee5d…
Expected log hash
21d04dbed3f9dfa348b1c2e5bdd0c177d7f26175563f32c871f3a55c22274c31 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":"v1788240889164","kind":"published-quote","locale":"en","page":"product:smallpdf/ai-question-generator/en","quote":"and its smoothness","rating":5,"review_date":"2025-07-28","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.smallpdf.app.android","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 (fb09dbc79cd8…), 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.