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.

“I paid for a year yesterday”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
a9b99f836bfed7f8565fc880d474a83d036d9007570259f5e4cbc6b5a1585573
Signature (Ed25519, base64)
CfhWsi9u61k1RA9DsrXzBfbdME7AOF0aB8lVd9BN5Qvpm5VjOeEKQ2OLymtrYomF4HhKqIMbTaytRHs+7uS/Dw==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["a9ba609b6d474d943e30cc6238dff592c6229080706a3eeedcf058a289a2de67","b01c9a06f4b1d144a628b9fff7c895bcd4c0987f589c0a25a696a79d0393daac","bdbc1ade80115c16c5f5b7d2871b88d096b6b81e1891a85b362b2d3ba3c8375e","fe3502ac78b6be38672f689a9fb42c4030c560f139a3da73d80fdca8c709057c","e2f152fee7e5884b8720279a62a5d507b5f611a6393553388d4a9378024a749f","2e7bb24176e62f645feab98d118c0c400c067ef43e18b46d2b4b69c8e99d78cc","591cf5d8d26af3f5493c75e05fdc23c529452e9a220741ba809455161e49a3cf","d26311c0c7305dba3ffacbe8f727c43b0c30a1093cd574bd9573dc587e7070af","b3a64d20ce774fbc3a1c3a5e519f5d56365fbf2b5f1779712c27cdecf215238d","aabb4fe113a24d3a44f301fbeba0bde0eda8f36726902252f97518bfdf0cc228","a6ecc7945e06bac9cf0f38375c8d85385377d79041dc0f17aa06822dd5084a69","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/billing/en","quote":"I paid for a year yesterday","rating":1,"review_date":"2026-05-22","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.