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.

“Keeps asking for my email address.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1822b9d425d31148089622059ececec5affb90bc7a8ce7d95966fbe1ae4f2f64
Signature (Ed25519, base64)
3pdZACq6PIwXtUh03y9yu1x42EnsYrMYiSaMcxsuTk3eKmIZQQJGn7VNOzqGPEbcT8oPLRb/Mho49AeK/nuLBA==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["182276e2d2ed1aa4c128f3ba2cbad7530113dd2d58a5d03e00b89dadbfeeb522","b642df4e373149e27105bfb3accd192998c33c9be8acda69f3aa0767cf3840d0","227d317a17e590155ce20399aefa81b431926578cd83badeaa4306eba2a5a42d","5e1c029d6096566f88b649633ffc5d30a9cc69037862b10fd9d8b977c20a9ab9","ecae07554710b05666fe900ab599b4b50934747aefa819c67afaea95eeda97b0","805aced47ad5353bde8413c4d673bbbcba493d69aee4b595e8e37bae40c2c150","8170fc0ec892c128af70e6f02d8405fd4cb021ba165a92d2fad907e5bc7bf1f2","0c76bc993e09e1a51cde2710c3b8bb45fb26fee3d199ec1f6d12068e662b012b","6672f102f7bb8e8954864e80638f82294ee6038699d784ce046db8041acd5688","9246a37efe1eecea6450a04e8822ed03173b43ea8e5318a413181d1fdfefba6f","bb0a45060c9930c51dad465c00cac4eb1887964117972af627743ad84b2e65c9","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":"brand:atupri","quote":"Keeps asking for my email address.","rating":1,"review_date":"2026-07-02","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.