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 can't even use the 'adjust insurance' feature; I just get stuck in the waiting loop”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
4f411e2141d57701305b825dfcb9581c6848b6bfe895dc19a53990edc0d99374
Signature (Ed25519, base64)
KgJKVF2pFcKIaHqoxI7PhJFIpocS4zU+NljUj9D1BNARaij25ID1nGildfIgx+GUBF7yWCvvoHwoH3TIZHV9DA==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["4f3dd69e4dcd31daaf4af7f195c9a196f52e995c0f926048f42c1e74f59f1a53","5503817e397b4fa83252313e56660961ebaf38787c5eedf44fe648f729d186ef","ebf022d8875672ecb1a7e391cfde1e7ce14c7088ffd3ad82cd793c6a6ecab61a","b2a20595e8d8ce019b4a0153e3da100ec405de0daaa2d097284374d10a588c63","04e52632d1ec05622ce31796c30a3b28e11fa85ce80c2c8cf354fb906f761ec8","999efc9388c8db3600e155e82f7b833c4d2b11891d786da36e1912ce0af48941","956679b0e6736cb79980f1ec3525c8e3dd6e5c4cb05a327576c21a3cf682cb94","877f368957e2772dbbee1f6f72e4a1bb234f274bdcad03c12448fbaf2aa0de39","924b81f9a0c81e3ff5e7922d69f4e2218fd16b47027294a37dffc18354c08fb3","22b03dc3fa80f5086ab247fd815bae6e6c5634e48b4979d8fd15d44f992dcc60","cc8eb8c110ad6bfe15d65752a33499baacb1799054e70cec984d4c86cc084a38","ddad24b033c054e618d3abbc2cd0303f49551ff001beb238cabbc4b73bc7d951","d1960e2348cd4a71c41d10f1fdeb248b829ec3849e0b1a948157b58e7b767ef1","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":"I can't even use the 'adjust insurance' feature; I just get stuck in the waiting loop","rating":1,"review_date":"2025-10-11","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.