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.

“Small free session is not enough for even a single document”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a9b15d5dde2436d9d619c52a0e17a516691982e3d10019ab67c88b552571025
Signature (Ed25519, base64)
UXISmnOU5BL4FjgeF9gKPxnbODYWOcxqZRNoRiX2Y1jVR0n3sz0bnR1IEAg8KekYnLBVP72iBmrXlnYENAZ6Bw==
Merkle root
bf06d03d174707f535c1833af2fe5d51e1d258f061223559344b34f56a1fe592
Merkle path
["0a9aac37cc8702c580434f093d7684378f5c16ecf64df4db8f7e86eedaa2e4a9","e0b71e0ab2986647038813c9e7738e2bab749caa00b802839835e9a288d50866","b40e77bd8e0e2e261e648166963416019b0368ba143819e6ed7c912623264f83","c473fd7976d698a4eb5843e1fd82a67fa46097167df41c66618e98a0ab0cf704","8d653c137569faa262e2e7ba382cee1dda801da44b277c2094967b205eaaa7b1","c1db75664774b29bfa3e8cb875783c5057a0a81eb5301c2d2cc087ee542c6436","86e1d2d5b39268b885f72ee5d074432b6bd98b48746702504c58bd2417136809","b0f8515e6d565bb5407e160dc47115274650bf250755f098085bb38154993984","62a116931dccc35b7e360244150a78a235786abbc03012e6c1fa921d21f3ee1f","c109064f8480adce9270ff22e98f3872d2762300384d4fac617c8eb351c1a884","69f8226305b00aaf0c4944b493cb9c56274ef008c03a0640b667b520413fa8f7","879b1c993b0c0814b2a75d570e70b17b8c28d50568785d86a369c01aef9cc8a9","3492fa2427a95ac81a05d55f826772e439a4f5dbe5c25418023e367993106e04","e61e8c9172ebccf404204c12ed180f9c4b13c940a974e219cf0d945d751fc601","7e649292aa5430485d2f826d445d528f8e95727e1e2103ce6cc862417c028321"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2684346356 · entry 108e9186e8c5677a5932…
Expected log hash
21bf9008ed6eb4689ee11c1c7859f0e94084281b2b2e2088b1d7635165466b55 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":"v1788337894213","kind":"published-quote","locale":"en","page":"brand:smallpdf","quote":"Small free session is not enough for even a single document","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 (bf06d03d1747…), 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.