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 small widget no longer works”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
7e89ee71bb6aec49c6c89645756697de6187f64f5257e24713ed37dc27246da8
Signature (Ed25519, base64)
n6opGO6ByDKk2o66kw/fasotkV+Tx2XzfaUuYRNdcT854RqsrQHps3SXRN45pwDDNAp8jY525WKrw10pbvDtAw==
Merkle root
afb9ffbb4b4e88017e1c868247f919ebcfe69f09127d391e7daa08019eb2b63b
Merkle path
["7e910c56606c6cbc2533ff1314d7408218ed97376ae808590d4edf2d2694bf80","ff544c44280aed4c979d3445436fabc220a26683060392adf8be7630362deec8","cd478eaf542e229abb5be41d692a217ef43b7c4e649c0c8ce456b2b570bcaff9","ada36ed5d99a39bb1cf4203509cff8d6eaefb33fa3d4f41ec79ffb98fff14e44","372930df4237823ecdc522dfdb33051d5823aafc9c123139b8fff7497120c6f2","c15df5db5854a8692a85baa64d537e2fed31065f4919789c9caf38dfaff9d326","1dcb2c0de1dee69776318f347b0c4d6f11c4c7d882aa32f52a07640298c5f4ff","4e4b3a28de09280d8dd2be647b1035b4846b6706d7975caa17db9d0943345c7d","d186adf650ba1af8bbf840c3bb1648fe3bdbe337736a607988e87f4e5a2e0e86","7d6f58d76ad88822d6218a925d2fd549660674b57e9ca59b70c179394445bd2b","0bbd1800794d9689ed8ba5cb1c1c72324d6bc06a38edf0ddd768870022d014f1","ab86bf85c43ceccd06fbc7d157d8f814174f1a7244638338c5afbe05630f687d","ed385a47750dab9ec64ed7263ee30fb072849b32983406b7ab0d0c13d1cf4dcd","5c5f731502958b375bc1d9a553448dbbddc644c5b57d6bfb1c2392c3f578da0d","72bbc4ee0a973113b1d556f76d02fea2c4704794a0d313a96e49ff7b6174dec2"]
Anchored
2026-10-10
Public log entry
search.sigstore.dev, log index 3178115911 · entry 108e9186e8c5677a2bba…
Expected log hash
a144ffc32dfaa9fe45b4895b7f4c17280667152868dd8de227ca2811c60c870f 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":"v1791604579182","kind":"published-quote","locale":"en","page":"brand:spotify","quote":"The small widget no longer works","rating":3,"review_date":"2026-09-20","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.spotify.music","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 (afb9ffbb4b4e…), 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.