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.

“Solid app for learning flashcards and a good browser version.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
bf2c97be0e3816e7c1a66217f63c7e5af5ac4f9a03a19f7bc166831329c37f5e
Signature (Ed25519, base64)
4yhcPx+5xRAloTxxM4L6/3C3v3C60p1MuUj8qoSDkF4a9l2YdcRlIyaVDHC1xW7n2NFcnOzfLm76ySdRg4DBBw==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["bf2bf38b9a7fa8d16b9478938f6bad83a7db597954183844515e52633e2a0bf5","8fe51676a5fdef0630cc1b257404fca596ecf20617ae01c3b860289b981b75ce","dedbaf917deae827bc3c34c923274914a6028e104767a5416029570452821f2f","cf771f6aaa1682dab43041d36dde5fba069bae115e5769fcee6ad3803255ac65","c69d1e3392925d0b042cde4a9a3f03c8220d4164fd02748c52ae5c6732c3b101","61e046422f68f225c7d4839405c6c8dbf588e017d97d729b11c65851f16c7c81","755d6f18c74b10d634c83696fae8eef5493e069f3acd4b4bebf28c360f67b4a3","437edf1b6dbee9b9bd43880f55065796d1bfa665aa725a812c827fcdd166d159","8eec826c0eaf85458fab7a4ddd4da0aeb6fb1ca691f2dcbe1f66bf33de153d80","9e7d655ca6a7277695c2a69e3da04df8569357510dde3cd8a0597f7d884d3ada","c76744f61713b161c2df73a6eec773c0acb500654c459ab09b4f8ebb3ba40f92","1b051bf1ff36589fb2c3614b917f0b7f052e466f644868f148d61dc06ad499eb","06f94171d32c86f72a9e1d984f2a7c3fa7bd9f00a98eabaa3fbd7d57db71aaf2","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/fit/en","quote":"Solid app for learning flashcards and a good browser version.","rating":4,"review_date":"2026-04-10","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.