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.

“However, since I no longer need the app, I intend to cancel my subscription.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
af1eb0586e99a49ffd19bfc6ce342211839bfbd81a5f34f06568317be03de203
Signature (Ed25519, base64)
fLbQcT6qRBNdm38tQ6AXM6DQKedsWavCkZMDGt1aGvRMqhllWcA+HHo9JZkGmnJOhBevThBu5mluTvijNFcuAA==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["af1e34432c068e240c4d7a484b358e7a79b573659fa1dd7de05f080e71e5f9bb","450855411391a22771dbf10e97b7f11010e145dfbbaed30b3d3f0f1094570da2","6fef00e51e8ee97f6281c500cc9b8e5d025dce8b55e357bce213702ea8064954","c4a116662605dda54fb8b600222c5d85858104dfacc2f7743504f2d3475061d3","dba44ac64709b880131c6f10818a1447d086a71d5b0302b8f67f4402fc008eef","1464a0e6820c3e883972620cb0ac1dbb502a559f7b096912b60f87cac93f3d23","e6df9f5a6ff590736eab267a327e8c301f14bfe7b7647142ac2a660bac13ee57","b63f80a5f1089812ef8255299ab024c8c662ffe8b42f3c6604b8f89efa205afa","d5482a491688560cbc765f44f569bab2c1788ca3e724fb24d3633ef07a0f34e1","1bafec4716fef44aaa0a9b422d633a061ee70c5aa832f48516756ee24a761c16","c5b7e137a8013a4a21c1d5b67afcd303b0734422cc0c2253880dfe8a42a53397","6c2612f525e9372e44b0deeb0737e4e68d621df2f62b7144b07119251a9b517c","b5d03b72964f911025dbd61c2eea673598b47768b7619e9a279966a44a138147","e3714293de39ce3c6e3cb9d5ea7711343b19d2be532c75504682d8ef52e8f91e","2a462314156907e42d6f0d96eed96123f1d79516aef73ed189d9f5466556b638"]
Anchored
2026-09-21
Public log entry
search.sigstore.dev, log index 2904877428 · entry 108e9186e8c5677ab408…
Expected log hash
d020708737f55ccdf49203f373fcbcefe8158cc388605556fbfda3c365de7360 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":"v1789881486272","kind":"published-quote","locale":"en","page":"theme:vaia/returns/en","quote":"However, since I no longer need the app, I intend to cancel my subscription.","rating":5,"review_date":"2025-09-03","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.studysmarter","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 (e299bf38720a…), 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.