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.

“The app is great, but the “30 day free trial” offer is misleading.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2185bf7b81f0a6e8b59d3ae787d24c126a5a8af328f4576a2cb3f5279c916b94
Signature (Ed25519, base64)
Y8+33OH5BMcL/PDpa7jZplhJv2xKdhH5GdTi7wJw3xzAaipUoKZuacRfGEFNgGoP35kBsecJ6oXKk+oDaQoTBA==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["2183e112314a6ea023a4b4716e1943847b61a7bd51d0879c5c8b25dccf490e04","b8664caff62e300a7930de3e7e476707cc3474f3f3338698bdb094720d24819c","9f890f907548e43db8da45174f2394ce663278fbd5e953137218631ceecf0571","64b44ca5a3283a5c35e2c7000278aa760946ddb794d0700204d456aef4d72893","3fa13ec93feddd1ecf6ba1ea9c48a76bf91fdae13cf87fc0e430b4d882d422a5","ca3109bee3360811e10f33a018680faead54c7607a638396a69722c0d77313f7","2be053a9eb7eed087874b990a8c0a88cbc2dec8b70778f2a6c50516e3135b5a7","823a56fbe8ffe901e2a094ab9d0bd78d0290f5e9413f3cdf2a1635795910b6c0","08eab7e70f85e8d72d6937b267c0ab6692eb24c45602d91114fba509523304cb","603e90c154d15d9d65f6bb2e53cfb97c8f3232399795179e7b909e4b96d61314","6ffeaf8c3e10ba4ee4abdb58e6ef1e3f2f184cf2b9b0fba118ce1d00454b6f4a","7fc459298391904a3838099fd1a0b7e635c26503d7f861328c446e440a4bd8b4","5b47260d99d2c4ad6e0d963995c990c8506dbf10eb0b146a116c3fc6ba348071","a9559f2ca8536f2c18bf059f3f0099d62235a93ac35dc17b09967d392b72be7f","01242865574478f13dcf9d888236d7a907264abdb87f360db7db06de0945075a"]
Anchored
2026-09-11
Public log entry
search.sigstore.dev, log index 2789279696 · entry 108e9186e8c5677a3885…
Expected log hash
05c7009ecf7ce5cf315c252c2a1dd135e64989a02cacdaaa3c5a87412a2e921c 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":"v1789017464005","kind":"published-quote","locale":"en","page":"brand:storytel","quote":"The app is great, but the “30 day free trial” offer is misleading.","rating":2,"review_date":"2026-07-25","source":"Apple App Store","source_url":"https://apps.apple.com/fr/app/id348177651?see-all=reviews","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 (97eb1062a862…), 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.