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)
388af97d01ab382834b9edd1c0595ca94ca1782e2beb572b0e2a19f105f04c2d
Signature (Ed25519, base64)
4G0UQyH8iXvk0eihKbDm03Xyd6eoiNbAbmvOoEVmTSwHpeNonTCoRlOV14UJOcFvojKTp4CNvbY5Opk0nMRZAQ==
Merkle root
653f52f612dd7654074ec2f50a8258d24363de118d24fd3fbb293c3f9466146a
Merkle path
["388a782395c1f889c909896c053403c2f3741d7e1b0c1d80183a846bdf3308d5","a5187f0e86d91cce1a20d078d56de1bdf792e4a1f195234b6d385cad62fd00b9","3621f6c59cbb2ce18766eef41ba2e47fb757ea475002b1b5ec2e86a39848237f","c8ff79e9d0f0c754b19848d6d74dab669770382014e6332eeb0ffa68854ccb2c","2181295b914535be1ae2cd20ba98f7b012f5474b14e6c7c40a405d604b59bfa8","79da527ed4f03284fb9459129f7f65c7e695dd0e8532237f87611538b4fe9270","9ce2b2b344b7ae4e924a50d0395b9f1b376237c8c53600e9e229ddcf0d610d0c","fa217328d7c4a2236d2e4873613c6de4b880d5f0e75cb8628a57d34548d331ce","9f8cbfdf6fdbb506b3c15b2d4b60fa5be2e6aa727852228453394e29726c0add","bf4233dbdfa83463f9cd7eadce3c9a74920a22b10694a55ed7d190555978d44a","c4665b2ba6939aaadf1df1bb98e0ae77a37d127ffc2484f8575954979aaf4ac8","3cc88c06883661aacbd49bed00b1106528bc5d13679d2a86cbb60fa5a57f3d4f","4ed7d2070beac90d695de42010b7ae15a552ffd8d377083e899170e9bcf19e64","88e03340b0b23badae5a3021870a121b2e386f6ec4446eb6072186f7c59cabf0","5fdd4fb85b0ec398c42530ef65e986b74edce2f5c14068ba5fbe6a72c94b89c8"]
Anchored
2026-08-25
Public log entry
search.sigstore.dev, log index 2582700609 · entry 108e9186e8c5677a119a…
Expected log hash
db705c1ce83f047166ef3ebf3406f1398f685221ea16db9703eceb49a1163aa7 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":"v1787633403760","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 (653f52f612dd…), 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.