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.

“I started a free trial, cancelled right after but I have been charged since then”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09c07e3edce60ec6de0112026e7f1b5fd4ac896d6e7f0918fb5a18bf8e753977
Signature (Ed25519, base64)
tLUDUpE1ULAUV6IPgi85ccikZePxd7y8YtIKCer/tla/dx/MPucE+fXnFvt6+axxFiy5f2GavcyyPZyM6Mg3Cg==
Merkle root
52b348c94f3fdce59db013e2d8b151833bfb9c02163bc60ea07ad4321b96c806
Merkle path
["09c15648cd886d0fabd387a4aa51090a62bcf27de082159e6dd62240dfd4ad9c","8e895d6475016ec4a60cf6aedc9bd2210f22f0bf3a2c907354bbe2aaf5b917e9","9652764c0380c5e672753bc3e8eda1e7f48e45acca321754d7f0f2216559d35f","ebded17afb76c3f772968675e5df2e32664bdf851834618257afcd0ae3489c66","26aba10b61c69d80870d71cc5fcdff199907b80ddbfea3cb4d15bacd4e188250","2fdf57f26de9276507df2ffde1a3723badbce4bc4e7de3792c4d6de33f8b5b92","089db0c3a3dc96fd1bed378019596f4d62923bafd435e7044eab923f0211ec97","816ae9c06238266405edb6dc1127cd045a1463f87d177bc37ed61bb8c85fe4b8","4710d8b34af47ec570f5d451bb6b5c2f6d51c07f95ecdaf78b50d0638e3687e8","38fcfb29ba1948ddb235b3200bd1166028ebcc4f40b025ea3b32951cca4bad65","641f60a0543f145821888a3ec9e078151f53feb311b5f041d14db9fc150c06a2","669ab90fb715919711df59e8281fed40b96b704020c2f40755c68d0b3c101ec2","737cac4ca199ff9d501e9278c7c4cae2cea135754fbc58a1df4019ac06ac48eb","775de910b40798d9f37b75d39be79e50770b797482dba1aef04bba70619fff3f","50b301601f25f58ca39a522d1fc14c87ef92ff2847a542557119e06fa2bbb889"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621349433 · entry 108e9186e8c5677a91b8…
Expected log hash
c0c478568c16caefc62b4dd151387aace853e1d48501c09aaebf0c1fbe3c7cab 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":"v1787884935070","kind":"published-quote","locale":"de","page":"theme:smallpdf/billing/de","quote":"I started a free trial, cancelled right after but I have been charged since then","rating":3,"review_date":"2026-08-03","source":"Apple App Store","source_url":"https://apps.apple.com/us/app/id1485259500?see-all=reviews","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 (52b348c94f3f…), 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.