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.

“It was a great app but unfortunately I have to uninstall it”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0b3acea494c1187b436b58b16b618ecc28ccec284ef14deb659ac18afe2a2b5b
Signature (Ed25519, base64)
2EFhe5CVb/pdTxsiLI3I7vgxmasNYPEiqWt26vBrjCMRpiYArNfw1hndO95L3oV3ylgVASpGirBXM1Kw7pInCg==
Merkle root
9d8e2118061e8945f2bd66d48af4d41bec49fc5ac2ae7970f14474403c85bdc4
Merkle path
["0b39c74946d1dd67c10a67a996a937a33f3988abc816cfc0ac6b876bd56ad687","e2899ea88664ba998af9e3e9e2b0599de645f30a266040c38af80ffe00f51dfa","2f901847524995f532941e8b050c4863675726c7973841f22f6fb712a25b0d94","0d509b6cc349d6a8dc0092992d36d416aa2a6f52e74fe468ee4bb0e1f4bcdb5c","4ac8d6dc2a451a7f7a25530e2247c4f9edb809f0a01570e31e4c4201f725d570","47b9fa15c422b251bcc81cefca36edf6a546274019abc6db8ef6fc7c91ab4cc3","cb84573cb5b8554860cf4eef5f3dfff4a4aaf4e4942f000991c9f02a294ebbbc","a9c4f895125a123bbfbd99ec70446a271c35b053eecca1be2b3116a08c202378","673535a98a1a68b453257c1c62d918a60e8007b3ffbfb77af43f19a5e5ff2f46","b2f40b6be5966dd21d8dbd4d0e22829c3990990c4aaa5a43c37dcf4827d1e6a5","5b4cf64f531b54996783d9aebebce1617fab442d23c58fce155302b3e24b1bc0","4a829cc4819bccb2252c7060d242a979547a534ad16930fb8d55ce7bec8c4620","e94cada08df1868a2e48549247fae87f2147cc360c1565604cfc61c670e9f86d","06ef0af9e89fc67c0d3893fca6fc616c0d6440ace9f21e5de833bce51809dcc7","9ab50226de18913fd10dfc030adeb43f34868f074a98e3eba882908660737bc6"]
Anchored
2026-08-25
Public log entry
search.sigstore.dev, log index 2582616117 · entry 108e9186e8c5677a09b5…
Expected log hash
d7708a8d5cc2ca7faff1f105ce6603ac0b5d5c740c6cd85cf034e25532cbb25a 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":"v1787626691405","kind":"published-quote","locale":"en","page":"product:smallpdf/smallpdf-mobile-app/en","quote":"It was a great app but unfortunately I have to uninstall it","rating":1,"review_date":"2026-07-15","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 (9d8e2118061e…), 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.