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.

“My answers are marked wrong too often.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
78caa76e47d9b812e0cd6d3cc8d4428498381f57d2408d06e83fdb4933a2ae4e
Signature (Ed25519, base64)
oOXQbt2OC0gV8uSdZnBmjZDkq1jzVMCoBimaiZ50gFdqPn2x9LFGfUNW5sQKN3h+PfYJTqc9DgGv8l0NyO/uDQ==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["78c670f54f6e2fa0c06a34708be8702c62936a18a9deb38a3895069953970eb0","66a58e1e977b6f7eeea731b294989a9c2bafba2a46e6a869e02fd67d3d598b62","32b8a251b6be52465d6c19203a7084938ac70fc5eea620c36b7c1950e66d7b53","89b6dd781956232f5c1044a1634e63563e7ff33875cd0d4060d7f2ec206e605a","a87a15309fbc9903223fa181f9745b418631421c1076b8af74b17d775ad6faf2","ceb0c7fa50410e695cc2190d1207dfd8e0722f78860be66c4f04e4abfeaae6cb","7b259973f1c231279ac0ca3c887b02768463e71c8939c80298438f1ccd95c601","b44b13ae92703441cfc205ad5b7c33a8da783545846545f7b4fa54edb7cf0791","2f27fb12fcec9d587e1c2909e71bc6d0e3de67517bf0c9b8da91df4be02d6633","339e9c7e5cfe79d94f03e02a3ed2b23c0fa30bb8507ac0bf87c58ee3cc943b98","9db404732a39eb43edeacc7dc2dbb2572a6988edc1ff946ef933a8584aa70600","f1529d9d8d0b27350c2152458e297d9406b31a0ee9c50579b35f35e84480df87","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/quality/en","quote":"My answers are marked wrong too often.","rating":3,"review_date":"2026-09-15","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.