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 download was also removed so now I can't read it on the train”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
64eedda0cedb45e8e81000083f40c6df654ca2bbdc8ca738e7ab4ecb9fe74889
Signature (Ed25519, base64)
Bw5PAmLoFdjL0I1suc1r4/jppMYyhmdWqKII/9LUlLbb0FiNE5cSnQDVlh+XtZ3NCUirSV8oxP/62q3AN0cSBQ==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["64efa782137e50f2a3ddf70decdccb17462a6b531e039378e2f5e95871b69ff5","cb4777e6b00dc71740cd57d42f600bbc7e3ffad74c2d8a83caee80671573f5d1","e7c5ee0a44c0a354ff0cc6b4fb1d0ee2a04e572e1f75eed59866bb40bdf6233b","dfab9c2a1091432b3b23e24065ff6ea7c0a4939ee115766bd53d2b0706af52b9","3253c9fd1c96768bb3cd1795fbb8d739c270210b9016e04cba3703de486a5a1b","c4ad604ae4fad393eb61c252cc7fe3e206d6ed6214cc3a64bd48c2c068028b6f","3842c1000be58132e1a63aa38f0000c81093523582db217c74c28b2624dd2cce","fbde8403d457bede11c9a8d5542ccbda5c9d23172d97f79938d3bfc7e58e4c41","edde8415de0833ce2dc2e7382e3194ce3201175a5bf5980ac0aa2e36246f5b65","a81cb5decc8eef4f42ac3f3d121fc4a40deae1456d254495a8f45828426fb68e","83f83b22202418896d617cd92b2e4482067ac2ada20be851a6d737545d39a3a1","f3db9127b9da10fbb7693de00cf989028a504ba13d96eb2661dc5a2037470668","eca7cd52f5c219223fa262f727815d7426f47ee6fd8d3c4a33225271415ce785","7a8821e5f39bd89945ecf080ecd049c93644614124901c8b74f26df2e34d9289","e95e880a53b013b49906f2e6b9dcc652726333d77986f48029bb634dc427e2de"]
Anchored
2026-09-23
Public log entry
search.sigstore.dev, log index 2913636507 · entry 108e9186e8c5677aea51…
Expected log hash
417fac9b806377ff48d30ded01faf8424eb98406df713fe2564ee9077747e6a6 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":"v1790070376053","kind":"published-quote","locale":"en","page":"theme:everand/delivery/en","quote":"My download was also removed so now I can't read it on the train","rating":3,"review_date":"2026-07-20","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0","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 (f26292e960b3…), 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.