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)
79ef70b084b1162cece88d1dfeef48b54651f338a304c1b3ead8ae0fdbb1b48f
Signature (Ed25519, base64)
tFXy4K4NB1+4avihsCQtcXbJ6sZ64/B3JQKUP7eX3s0uFhyV9+uav/DJwv1fa5HeTI9E34vmNzc16p0B3g++Cg==
Merkle root
277f678086a68384187ff29b395b0fdaceb8fee69b57cef3cd060bcd7a85a6f2
Merkle path
["79ecbf7298c000bd3d309e5d2a024d5395d633ea5b007132940939c97de75ab4","f7a7d8f764301251331fb3bcbc043b2d08e1408939c09a4645a714ce08ead4c3","8a871d02685b60acaee552a9864d077937ff7fb954792f38d67c8c3fa1496758","0cc11366561c0566d408f3b8783ec5e90710fc308f4cca8641ab0082f7a4b904","b760c70a7ae931de766eee112fb388437873a9be93e0549fb16322c07eab8f09","dc59eab78802353c5acd2c7c69757605c8206270a8a41777fc3db5d72a1b49f8","71c00d58041b5beef84413fbd150c72fd557a0e8310ec16befbe37475e59c9bf","59f398ac2d49bd27d49f3fe6367780869ad8d7f9f029f4792140ad6dfe01a4e0","96ca80df66e48336d3e805cf0b366b617ac36e762596708ed184a91cd23878f5","0a9468806f1bdb3935ee339d35b50661bd561dbf84f6070b9859b9b977564ae8","00647ca7bdb11bf4483369d60580aaf22632057500d952492cf76dc0e1c52138","d098ede59e492d69a5edc22e4ea0a324ae8e5a1382fbb4f78d7fbe20dd21f96d","3a4557370606b510c9a2cb3a2ca3671efcf47160eb4264ac3eb8a4e9a9f5afbb","3877db10b6c6cae54d2b07bf0b4ebaa05236dbdf377db3895f407f63dda42bdc","280ab60d4c161cb719b6156fa9102f006908a25889a024565b61c42f89983a6c"]
Anchored
2026-09-24
Public log entry
search.sigstore.dev, log index 2929513415 · entry 108e9186e8c5677a8264…
Expected log hash
9e91de35fefec2dcd249a303ecf0c84a118a9b2cf5b39f5a9ff4368de67598cd 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":"v1790137911951","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 (277f678086a6…), 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.