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 only found out after opening the app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
c78ff116f6aeeffd59cbbe33e875129652312f2087296468c425f3b2874f6c68
Signature (Ed25519, base64)
/qbs0huB4E+fmMIT5XRP9tz8zUvU6u3UD6y1laHEUmRzWLOMI8AD/SHSdeIk2h4sFXW9y8Ix53vrG8HHmimhBQ==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["c79293337ec72b17056fcbc8334e6bc2a571d9f6bd0588f66e5c4643656effad","cf1392189e2c619420aca488aabb66c4d8491e624bb34e2725d90999cb283c66","cdcf82619646610c391ac241466b37c5a61a404724e9c90ff14914e8278218e2","7904f0793fda105f7e032958db45998765d986bda2fb9f1016a92ea934653a40","43b315a5a5268ee8bad7c69c70180f4de366f2a2d5e545cf5ca56be364cf81e3","d3c3da4a4c0e467adbe75d41e10adebafd5b070fe441c43136fcdfe21015afb2","2fd86a2fbdd224ee54b8d682433c0ef14c411f96c52bea4f5d511487e698248e","8b07db7153f2f9c8352c615eb04efbc1d45d04a8220fa50c813ce67ab3f1aacb","a40d0354adce762c746b7f076e860d258c44a27e2e0d389f48185db736c40bdd","2b93dc9afaa7aca4c6acd55f9bf499d5123bb1a9564daf9e92793a1be819fbea","5ea62ab057d579ca15648207478bc4df778c9ea94e2cbab7b35eb1dae1e3d5ef","38376ec9f35bcd39f5035c8425fc104742746cec8f0f18f678e6ec2b7c8970cb","f798c0971d32a6ae8da39cbfdd643aa26fcc32dd200aa7f9151048a02f8ece59","537f00dd60bfbd8c049786f7eae4da8a735af5b60dacd3bc1b6054b8ac3175e3","58a3dfc9ad8696e92f5fc9960e9c6bc4cc04e270091b574a948593298b33d1f5"]
Anchored
2026-09-20
Public log entry
search.sigstore.dev, log index 2893887498 · entry 108e9186e8c5677af79f…
Expected log hash
90099e0300c6e23b62e79318296ebab91bff130379d248ada57f044f77e72ccd 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":"v1789796056710","kind":"published-quote","locale":"en","page":"theme:uairango/communication/en","quote":"I only found out after opening the app","rating":3,"review_date":"2026-06-27","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.uairango","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 (2f068f3de56b…), 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.