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.

“It keeps asking me to update the app, which is extremely annoying.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
7d3fec07b259e3584e14144575f4b7c027f393d71db882b3ac53296c5f3a7930
Signature (Ed25519, base64)
YXbQ2qv2uyCtVPFVM77j+SEPdWbERgjqtCrsMoW6+XJ8ibGi6Oukd1qK7GwQSKuXd++czDE82MbN0yiaptKtBQ==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["7d4455289784ebd84b19ea3f519f837efa89f341a2a858b16dc3d028531d2118","d2f3146cef6c5b0c4fe0cd1363f608f8b22754fde3bd44aa38f01d708779b1f5","fc7a74899b7d152cc8e42f2ab53095ca0c9b3374b99e0088801df2ab5aad6383","e4013e8fa945edc18622bdfe7d143e10d648f9ef96ad5463148d570ca1f98f83","141c22423c885e6beb6a6906793d5e3da30ea6b748c49dac5a3296f50ada1d9a","52a2f69cce58f21e5ba93b4b8329481168c6feaa0b56d03d6e3ccd0e09fa4855","4f2873eb75073e9a37c55994f2a9ee94370281edde2386bbece29a03e82324a1","c8b77a1f05f1c04e7b575cda4eb7e400f8db0b978bc6ed21b9e7cad97bcd70db","3da1de410f562e7aad5f01f29a397defbd945067d5a3fa2d8c6cbed195a52118","51f60d3338ec7eaf9a565138fc13cf390a9adbc8edf7cb2324d3c77fc4227e6f","c3b3f5c19529bbeb5ebc1fab9e124029362e3e3d4f2fc2e58af4d4e08143082d","3c6ddbcfa48be5df39d5d13fece3ba9fab7f6eec0e8fcf21a13cdbcc6729a93c","c5d2216bf0003f30213891a39e09a3edafbc50505093b2ae98f61a9c067b5a3c","f2c4543851e26fd9d1e3721e592d66b00f142e537786e975d115c14b9cb61c0e","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:atupri/ordering/en","quote":"It keeps asking me to update the app, which is extremely annoying.","rating":1,"review_date":"2026-06-26","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.atupri.myatupri","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.