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.

“This app is one of the best I've tried.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
f27912f04b5d9b7a6f7c258ebf819d628f3a8b23c8b196fea773ded607717e80
Signature (Ed25519, base64)
SLwes+L7enH4AYuRpaDFvLL13KLVuwdfrxKUGQLNJODbV3fw6F8acBLJd+NAnwxd5d6Y+ojJXkXUlneBUeqCCA==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["f2762f9195a6a424f800aa43da1b769134d1844ca835d98a7bb0dfb1d8e52c31","ee0a8b81457411dd48fcf592d0b1a3b2a316fab3df58585070b8660b8070eb03","9a1fae90694a5a37baa20268a0e303fd08728bdd218e2c48649ca25fa0325f5e","18a410a4784e2ba2fe2a7ef456235c007342cf83afce69a3a4410c4d182394ac","f23c1f3ba95ecb134690bcf37867ea9e105e7d2ed17a33d7fec0d0d217239f1b","a14fdf1b68899b5f5454668f82c1042f71ec56f11507ed11650c301244eaab68","2e6f22ddecf965b1422962b026e6ad1818e5b64ac09b281adb16ddd915340f47","8a6e98d941cb0db675afbf46eafa4182b1cf8ab1b3013ddaaeffbe5cc43ea051","5d5a4687d78bb553c94f7e45228a1539739dc15e71a28444768fadaa3e674d15","715b178d1c714016557207318fc78c34ef829dc799125ac93653f7df74e3640d","b331093f92df4d03f0bcccdb4c283a2d98779d6c363a06d0cd9c35338c6b7f1d","b382aebc31acbad71afb3ae06e4e6f9b354e9da57050f36d03bb1ef97dab503a","f95e3a68f572f5650a4093453e2bf28168547fa91a01ce08e539b3d7016a3f80","53a8a23597d45564e495678bf6125e41ef42f347693c924494330dab53ea1e2d","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":"brand:vaia","quote":"This app is one of the best I've tried.","rating":4,"review_date":"2026-09-16","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.