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)
f5f146a0d095824cd8c093dd63b96a4f01581395df063fe8f4eb954b57ed88c4
Signature (Ed25519, base64)
NZ+lyVkBAU/QjfjVmNk8xwg+6r8Tb2cd0Ps+mryTJnKfavCh9AsyA4UpCKgK2sWa8VFq9Qe+ShU6aM6OgvBeDQ==
Merkle root
c921242d78a65e026e3281000ec5ef04ef930758058c4fed3f79f3b5ef992cde
Merkle path
["f5edfd0293a5775737db6d1540d5f218bea1c27fdc9fdd3b56efde4062dbab13","09970c4b7c89317d1516f5d715ef966b2de8b5f016e9998c61a16d62364596aa","6ae0b0ae4065f8acd795d5e0e35fe82ed979f3bb755cc7d4be03aa1f303eef9a","ffc50e2fa98b22952a2ea871f035a6e42240b6d97699901990b2fc04d94e10c6","dac7abd4791bd494707a940e64177f738ba9b955847e0e4f965cf2ec1e4dec82","470dfe6c2edfb3beb2f999d323de4e77d99122c1596c017f2490134c2662a839","0e14665df6cb68ec3bc37539752097c61e873e53072606fa14b31e78caeabce3","c437efd9376831cf240de29640baff9a90ec6540333a12ba4b75bdbd7ff2228e","2f9c99e0a7a7d571b033a2f149c8f5bfd9a796f40b29e8c593e24cd05c602bad","0a95db7b2b366c9cfbbc723f0680c486a47a97a41ab7200e00eaff165ef0be6a","ef16189eaa53e9c56ff3894f0ce7edbe019facbf7a0c292b7df32f29686e93fe","05bf65283cf404965b6791a1b84dc5f4383ccc8ef0646fe0ce77afcd3035f0ae"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543700701 · entry 108e9186e8c5677ac7e1…
Expected log hash
c1abaf0323b08bce2cedebaf1993162920ee741ace8973292e7ffdd13aca356b 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":"v1787287374804","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 (c921242d78a6…), 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.