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.

“Very unstable app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1d4c96f5f6c5659afd40cf03ac584b33efea14d41f107f4f103530a55d282bc9
Signature (Ed25519, base64)
uaILERm2ibaIkuEUNdNwaN1Tf1bVKEZBMe1JUFOnbhbC4UtTzBB4Y8HGvCjg/cIZT9OMd2C+k9zRJtyC4/N/Bg==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["1d4c927069788479259ca76f36b1c242a0cc7624fd8a98c4f06c5fc3930a6efd","5b983c2a9bf444ed2f23235822bcc3cad54f54b663b29bafbf43f9f9356e79fe","533d35ce76c13908711e74dfddbe76a02d172ecf957233762c4f25161adcfe40","b725149cc53280860ddc5d8a4d882e0765cd79f49e290c9cb8166bb15b184368","11160dcf4ffdcd719725412fe0f5e699a4baf3459af0840ebdd3b9a2ea7f19e9","b4c49a64155e1de371539344566754f9b30ef74fbd93dc233bad14db56d8100e","40c197d21b33a7d0d543bddbf29388e53b0e55255c49fdd30fd16f48185997c6","2456439787210860a9888cf5a0398f6ae6b91ad6d75fddc00f093139745213a7","7029cb9d3c2724e6691967c953efceb379e7e43ee7a72b2875ffc8f8a89147c8","6dc86dbeca1fe8da0dd55159a3ac5867e5a8816ddf051d085a23d21d255eabc0","002b17e7adc5d32473d1b91f11ba4d31db1d20c36352d6fa73454bed87b29eba","b8cfb68a145033d7a3285a85a67ec25a6d084bffd75ff809bcc332bbb80a7a76","3b092fa48a78448b4db01d94e347dbde2c39988a6fba76ec91ab78b6f236682c","03c5fc675733b417d9af5e071de3aba38ae7f09fa5781cbd0133ff9d4e234e36","98191c82333f4385e47f318835e01d44ca8835262c6d0df40edfd5f6a4dc5c19"]
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/quality/en","quote":"Very unstable app.","rating":1,"review_date":"2026-05-01","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.