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.

“Great, this useful app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0fef7c3cb8052d4b8f453991cb61962398166adeae82456b9b0bdb66ae9ddca1
Signature (Ed25519, base64)
GDgqfBaXVSaYtRrx2laKsxaJadKNK55h1ZxHwFfYejVoKSgQ98A+lZlNsYdxmkhLC4RFyNSpp371xZc+kCoUAQ==
Merkle root
a705e7ecc0d73eb5dcdfda7cc03235bd57a2851764423cac43118a70cc8e7b3a
Merkle path
["0fec750f958b664f986150e1feb88cf61fae6d51f9faec3f81982d54af6664f9","ee55b85f48c2af6a5a83f9d07361bbd08b8b23ed9849c61d5ee1e15e6d1cad81","ec3c1551bac028eca65570e8c74a51a8f8163d092beb35af050bba9ca30e733c","f3e0edabd78e17ff98758c7b52323b9cabb50b34569e0c5e713099388c03bfea","07dd4fa197c26dc035ff9799263bdba8771e597c9048c5fdb79f7a6210aed1b5","45f1a53ec4624c93d8a00a0cb526e7b3d5d4569087417ea8b968e2ae27b1f521","e9a6fcb6aef20f176b04cf4666d8f6713aed185cafe1ed1c11cab76b2efec7d6","8fae22bbce8e8a40b3c12fd6042676159e3bc6212bfcf8e781a41ed9a2937e55","cc637ecbe28f5e4aa9670b1c81f683d62e048632a1216a13c13fdb9c58765ec1","c934c3ad216c88b8af71b70227556b624477853fd3e6fec0cb2100e27910e9b3","261279ac23105edc3b8a42240f8ddd39b5163d11d78427c94d40857d91f1a531","3d0dd87ae572e5992156e110773d66a0f1bf3ed6de2e93de25b994313f23112d","654e62da0e54472b4b5b9c8deb017fe0e371cb74d7538ff4ae544207e1da0bcc","a2d692bf5b7994c15c39856193482ea7c968acfbc3ff4915a355d04b18f7a933","79a9e38b2f2eb947c3bdfe67a6a6b2d9b99dab4a357fdf9e6328275c8035e767"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2631758752 · entry 108e9186e8c5677a44e9…
Expected log hash
b9abdd1fc769097342b82449a3caa919f2ee8419634ee5ba00692ee6314109be 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":"v1787969636370","kind":"published-quote","locale":"en","page":"product:smallpdf/ai-question-generator/en","quote":"Great, this useful app.","rating":5,"review_date":"2026-03-20","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 (a705e7ecc0d7…), 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.