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.

“Whenever I want to merge jpg or PDF files, I think of this app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
114b699cd4aba63fb76d06822c310a6cbf3f4b69e10176a82661cdff7749c081
Signature (Ed25519, base64)
ggKXB8nco9s/4cqtSX5dijbp79VP6R9dbaiIpjiFBUKjYTKmIRNNJWdJ16Q428vr6VkrF65bl9ewEBvRrPUmCA==
Merkle root
e6ac019704b226508e994cc0855a4d192d5ca56f36bf79e20dc9e3368a99cf1c
Merkle path
["11474f99f200e3bcaecab0463232b6662f75d7028f1cc6b0831378bf8b5ae7b3","1bbd5a79718e13508c38be0c2ef735cfa88a959e69809af93312b7de17c22315","007c8f7d88f84aa2b2349bf0f0dc3f63e2e2399990c0d4b89085d4d33fd80875","539cab584dc541cb2d35449e5e48ff2d72a918409ae737e6f7220964d3ddd57a","646ef0572df7abe3e80fcce656bb2032d6e70b44ae3d5f2e23acdb6dbd5a5c2f","7ace441e8522189ad47eb9a522c95b6df378bce00358578f8dd5c598959d88d9","55cee06f20dbc5f0bf3b212ad01b9518ca95da802436caab0e686ed5bca85b81","65ecc4468f658b3f3b7bf87191016c00453bd6a485a48523a92ca5abe7141dd9","7650cdf5f3620ccaa026fc7f95ea2ff970071cdcfbd15d7700087f41bb65b104","eeec3ed94656bb138245c6b79eb04cd451ecbdc6ba71f031768d3dc727dcdd74","0b5728ab90256078d612e6c073a6a29aa05b8222aa5d6067e790c655c5ffcf95","76aa14c6b140f882f5a6ca82e1bd3d30ada81e6f9ebf68b6cb689ed74e97d2de","af32e6ce7a9c3f92995c628e9a34041f7ca98856143c57e4fbb6f9b1d2e86f88","300daef4aa548e8c10fcf4706d8cd6c134a74d44a2fedd09c528770268883f87","55037d90ebc6f8ee5750b678c0269386792b0a1b293edb3e029a7c8e378291ff"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2631716425 · entry 108e9186e8c5677a0f4e…
Expected log hash
45ebfa784ea01d364c463997b417af34e35327c4187ff9e9782aece8c325deea 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":"v1787968874252","kind":"published-quote","locale":"en","page":"product:smallpdf/merge-pdf/en","quote":"Whenever I want to merge jpg or PDF files, I think of this app","rating":5,"review_date":"2025-12-26","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 (e6ac019704b2…), 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.