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 won't even accept my name.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
95c5a5e567ea62014d32ff83c89daf9d59d6437b8b02cf7f63853fee53b532db
Signature (Ed25519, base64)
5uLLHFkEEzKGKg9o2L7+WNWTZxMKYPD+o5VwcZVyo9XreXmb1r/IouwfSETQFSClf9DHy5BxuetZIOwm3R9wDg==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["95c520e53bc8a0d6df041e0154ec3d50e670ebf9fdab04f5e33fe5e4a4161e28","065d10174c2f7691fc64cfa1d8c045519ea1e2162ad7a4fc3ee3d23373b425ce","51e21680c92128057f3f3e568054daf8bb55a9f55cc947312c652f6b23a40651","9762246071ff4d71df6d83e7664ca1debd66ad84327f55d2f5d8fe117fa9c1c6","2a78124a3f5f2cb5e0ce6a51732817bba7b99f2a2a11081d59d0079529d75cb9","4e4a794c35e9f7d1616b1ab2615dad721adec2296ec98c8b2a1e362efd07c4ea","8c696a428bd60d598fdaa4bd183f64a0ff0e77a51d2c2d3f05a630cbadd92ce4","1fd4db5009f0a1ae0760dbfc1698dee434a5a745155e05e07a1413411eddb949","3e43710d5a589e0614b4165c616563cb62232965ba047d55cbd1bdd463a401a1","1a8d9e567730bcac77332919af77c31fb7a261eeff68bdd4a9900a8fbddef61b","808361c2cc11d1d62da97f81cb8537cc3a8a9e7c2b553285d63cecf18a95be4f","81ae0d98613af401743ec4987802323d53d8fda24ce374cdf2d369d04f6e8e3d","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/ordering/en","quote":"The app won't even accept my name.","rating":1,"review_date":"2026-05-29","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.