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 app says you have completed your free trial”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a69372fb6121d78d5dce59c2462390fc2f6c8b1d55eb3daeedd050630693a44
Signature (Ed25519, base64)
fIuWXsz6DU3soZ4YF2A+J5TBYvCBjO95VqvrGOdNAm2HoLw/TfE/pcyeDu8oArtYNe/2esGINBBWHtKRVrJ9Aw==
Merkle root
a1293218aac45efa4adfbbfe42c204c0a0d24fd3278271e06c8ce5d1d235b321
Merkle path
["0a6a1c1e11fbeb500e0524c498372bc5f264faa861485ca01cfdc8435134ab31","7f411affa5246c57946227c58f02805396f1bf0b3da1e075b052255d43222eea","015b0de11b7cba2c73d3018e67c29d4f4c28715860567e57e7df17b04080775b","38926e824818d5b8fae1419216504e442ec1fe6df23761ee6a918bfead99a1c6","e6810123c2b053acf23a5a193bbfdf48f85ec6164aea9290be046be3d8bf8239","0528026a588ca42d3d676e86a772f30b3b8d937376d7e546b10c304a8450f8f2","a700e52f124f8558c1977155dde3baae880d35978d12e13ff4586eb4dd80ea8f","c441521b32d066f69097a99463e49ab14cb62915135a6b147cb09ba5b0b53587","56b027ffad273e3d0599287d0764b2be628cada7fbadc1d0163855faca80df63","a2c044a040bf80bdb6274ad852d037c4c78b4eb18375779363515df6a5986ea1","4b4ae6b83c565624f41ac713d1bb0ea4b3ee45c774aa3b72a8a147167e979bf1","c0af6b81f9076d0cdc82ccc0e5134d3ba3e9d1803acafc23dc0ce30341f4e4c9","a308c242d33871cd96052fa5f0f93b6b9f38d0c57cf5b383e09156754d85b70c","c8ed903b07bccf4e9ef2760d806cf4cfed1bdc4cf212006ba2c6687880ded864","18e575f6187bba98afd0e2a71a60397b39232fc4221abc93dd2e7c4e157c8792"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2632602917 · entry 108e9186e8c5677a1f9e…
Expected log hash
18ac9eefa605c95be79eba9f5933d9f28816e7c4567c9a5ff34f72ac1de06791 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":"v1787974698062","kind":"published-quote","locale":"en","page":"product:smallpdf/smallpdf-mobile-app/en","quote":"the app says you have completed your free trial","rating":1,"review_date":"2026-07-12","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 (a1293218aac4…), 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.