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.

“Spent three days recreating my flashcards elsewhere”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
87275d141da6e9271fa1ad8f06f973135aafd37d132276adde2e73125023b4dc
Signature (Ed25519, base64)
yh+km8+YFKcp1aHOq+IHtiKsSCztK9aPn4k3YKQSW6BatDvKaDsQ50F+Z/Vv1mwA5pjzWQR9XvyaQ9Wx07V4Bg==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["87273524a64f74d723cc0cd603a0f056d354eca4e144b2f7f0abe1cb8b4e0a00","1bb2325f610b2b1fc6cd0566a4b7ee1e1953113445c26d68ae38be73bb97b06f","c8a8dc60074f7c11a819da2f05672273d99e7b0e02d60aaa3c75f41f99d55603","5d3ed405b17db0da370a700c702bd67dab41a1f47bc8e549212a86bd390199ba","0408903d014886cf1331b7a2517f5f0cb97aeec4f29773dc6dfe06d35f8e7406","8e7db0c637fb589aded36fb99ca381b65a7a969460cf752e944aebb22f3ca486","ebf34b0f2f4e92c8a44c3a8535f44db7c0bbc03b669f2e0e49fbfd8e4243dfe5","c7495dedd30deba167ebb27e504c38cbf6540e59089e1c2c99935d19d3e89a54","a560203c887e015559be6fc431a4e3234744120207a7b3dff122a9ce6121198e","0cf5bec4f5b90c40db010d72dfd5ad44323a66756aab3841164db423d8995b55","3ffdc1ad653f39c0429787d5c91bba35366ff0cac1e131f271cc3308cb191be9","9c56efa7498f22733bd81d9e1a9aa96f7fa30f782f3e2c5dc658ff683f136fda","3fdd31064998e61048d534909957bf68a4f9bbe35571f6d185756d8acc2a5420","aa4bbeb87247c2797626ab02a549451da6dfce4dcb854a36fdcc601e3e788772","bce5d442c07de6307e5ea8947098e74ce88c2246eda5e5fc1015a6d7519228a8"]
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":"Spent three days recreating my flashcards elsewhere","rating":1,"review_date":"2026-04-26","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.