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.

“the service feels like a bait and switch”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
33c5e8711f0c1dbd45d721c9435d8e77223133436b098cd2c23f1e3002c8d36b
Signature (Ed25519, base64)
J37nzuE9FEdzGc4z6/JGqs4xrnPOTlAiXxrFDNEQ7nH1mfe+sf49aLnPrJzy0Ht0WOHiimY0NVDCSyFI8rxADQ==
Merkle root
bf06d03d174707f535c1833af2fe5d51e1d258f061223559344b34f56a1fe592
Merkle path
["33c2bd4e64aeeaf178cbe8ca50ec0c194c7d240445717587300ac2e75adab879","854b640032cf29a80537e53438bf26c7c53613afe1d88ecd56c0d981c3fa7166","6cdb7d6598a8b922c6db93d14ba1cd87064947d6a6d100346bc12f6d037a0e7d","df8721f8eaa50fbc1f2134bc4576df207624f6f6bb5f377c5066c246f0c7ae50","0d5e69fa803adf6f97e95b7e2e2c57aa339a210ab38779ad4f3d5b358a46a42f","960e5f30900a9d7c299a8705f51156d074450e4595cf088cb45d0104c7a29df6","fd5fe76f2e893945119de51f3ae1f71d29fec6f7f95fe49d7a509753d2df7904","508c3e63d60442597730395e733c3b92fa30d94cb2c2341146ee898c7010e3ef","834d12f2392716926ff31a62cc6f4919cb0da2ca88f480a928c24077891dac99","fab649e520115dc2ecfc7789e497709e501e26ff8598a08c6ec82c6ac8aad5c7","0e064eb7332fae44fe592990d4744a459e6cd6d3dc5e9bf1cb051a4b2007800f","21a32e4294d0e1c5df371c337d5febf4010e1655590497340eaf4041dc4cf4fd","c64e75cf9b06354a44898f41346a5e7bd4370271fb48eefe742dad25c99dc826","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:pdfelement","quote":"the service feels like a bait and switch","rating":1,"review_date":"2026-08-25","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.wondershare.pdfelement","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.