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.

“I'm missing the sort function”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
d9abcc5dff17011ff0978969d56bb3b9174ec8f63449a46945ffebbd104542d3
Signature (Ed25519, base64)
u+foih17h/em55zXlCnWB110n8Yt4YhqXcvxksVQlDkeyzHiHwmLjJOctR1fEgyMjDmaw05K7BInkC4sXn6ZDw==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["d9b1c7d3c19006bfd1de315a3766dd24f80b5572a0eba1ddc65cebedbcec9d0f","becd769f19b89ad40b0aa2985d5d70036611e94e9bea35418cff86e7e92f0860","03b7afb8c801c927376699f46e061e0827e969fe92e5eba3a8ca700252c06c45","93beb8e3744f3def33858aa97e0eeab4dd55bfcabf2027b842fc7cebff962cfc","1eb6a6b0bba2baaf1c8c988a4dbdac732a3f01bd1522d942bd4a97cbc30effff","b2f923d1e0dd6831c6018bb87f33bd5eecb5b264e2edcd0b9a45b4a8f6934f97","36649c5360bd009931a25fdad21612ab8799208b254bf026af861c490d103016","a56ac8403cc18bd2a65334305e4dd43442eed3f8963bb17f25abe34a631f9a9f","c0984c95e03c295f07a02b8d410c59735df9f70bf75844e351fe135eb7d8793a","a70e1d2f9ccffd8b729b52d378b6ed2103af85893ef32dec9842453e7f2c1aff","5a957482a39ac8356dc26bb21111830411eab29bbbb9a8dd03479b67627dbe15","88c1267a6d70047cee180b9815247bc1da5a16a96b57f3fe20a9c2533caa110d","44c8cb0eec3d4c66924c6271a9a32942cc950a307a9339cedf9246ffe3125d65","b763ea1ef84637e764decc45acddfba68cbd65e2d958f57cfeabc8af53520b04","a616224c7837fee9e37cf9dfa53b6dc52945555438d928215ead84ba8ccc7b57"]
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:spotify/fit/en","quote":"I'm missing the sort function","rating":1,"review_date":"2026-09-18","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 (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.