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.

“Requires subscription to edit”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
086dbc86df1334ca06210975efe568a894d59e7c7a44cc31b31c227a5cf1e3a0
Signature (Ed25519, base64)
wqCFIxpFZPaRtKppUVh2XVflCmSTCMF/4yxQwzGPWKGfe90BHmg72evEPvAlji56ubYXybMMVvnvRvmZ7rBfBQ==
Merkle root
c5c707bf97ff73e1247b0ccd0925f0db0a83cf52cb887b20768212ff5bbc5fe7
Merkle path
["086c4500378c8c9ce42642069c0fe46fb16f1de0bac8604c1e355b906cc8a16a","ef896582ffbb2abe45d3d48764649ac48c9606595063b36a32b9f14bfe3b9fa5","c3a455439aef95bd809a0130d7ce26607a85c37f893d8e0ce83964faee186f29","61dd3aced5a718e5dc25cfd1614da12576225c99748653c596454772f3044f2b","15a2b1454f718adc38f845cdb95fb39a80a6a44d468a77a20139dc3a6d1f2dab","5ea724ab69e13c67fc73d70211297d4c700a4c850f9f032efb118427d8697542","e84e7fa9fc3ac0a184824d57aac0544d1b70287bda5d7e47edade351181698d0","b10b42b54d7415cc9ee2259677194d5c4c68611f16a5b39a2d88e931c38da5ad","488727b7694ffdd883475851d1d33de2fa7fa2a0214e842cd261d9aec6245ace","91ec7080400f7ce5378c665be1c615c9f30146da9d1b3e778660b364fd99cc28","43583e576f9e6d8a768a7ec638133c1432cbf672965259670612086a18b46823","fa28f9b79bbac98448fd0cf268f2d08316548682d0e5eaaa3b41ecd61a4ed731","bfa6d3174dc6ac2ac973ef7dbeb8001d2697f9586894947f07415b5ac90efc1a","61d99ae8fc79aa7f239f794770b00be2b8c5cc1d2483d723f849c6b764907eeb","3e1fcd4bf6d45c101c10e6b07d5c593b58f9445be77bdcbde26aa7026b1ff6e8"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2683301360 · entry 108e9186e8c5677ac685…
Expected log hash
2e7e5158dde5972120030caa35508ea4274f63d72a51b34adc6efebfc2f2527a 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":"v1788322918375","kind":"published-quote","locale":"en","page":"brand:smallpdf","quote":"Requires subscription to edit","rating":1,"review_date":"2026-08-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 (c5c707bf97ff…), 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.