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.

“There are way too many ads, I can't listen to music in peace”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0e8dbf22145ec1f9c4420fbb049de83f31d367aef9917055d46f4a7d525dc7fe
Signature (Ed25519, base64)
YPkia7gx5w5wbZeNETL3czYEgi4AvEE0rUAwQ//h6I9w6S1gchnE/HHN1kZ1Urblp55bOuyCwN5gYftMi9HIDg==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["0e8fa6e1c950cd33a4981e7d670e99fc6ba386c16a81fc75e05fdba80bb48b66","046bef261ea3c04f93d96ff27c6e0745fd4ed8c6be92459d3fe25f93e7aef650","cb2db539f3ebfd2790eb8fc551a33021d31dd22ae23a46215bb89c722ad98c1e","20f42dafafe20cb091546c60e656d4dcabcca1e40aea177fc59e5155404b8798","d2cf37231234032dabb75d99e97aaecfdb5834f0f6e592bb1cf5f394c4bd3a39","4fc972798dc1fa6511b80866aafe2356e29f92362fe257566ee5333a299ecfbb","adf91ec2eaddc6a91271d7d064bdaae704114a0b6142d3389d6368316c51ffd6","3c98a9479fe238ba5837ad68aa355f6cce89efba4208b1a5ee7fed323c782513","f5970cb4eb97b2be1d258afc1550d015e97afdab3d9ca71feb664aa696c6e02b","3327e9cf00c5492807bcf4dadc8d9b5c75885df7cb551d0b03247e3d02fdc852","b27b104304fff8f60732e536ec19910e83421e4d3962110f65a88271a9707037","61b50ad04922f327345abbcbc9d231acfaa1042078046650c0d690ade7d11fb4","14d95cb3ffe81dc7ba7bda02f51c7ab9c1977951e0a9ce587124764e85380fa3","0cf751b4d000491c43eea40a33568458d763987b542601ca0644e491c0b04ce6","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":"subtheme:spotify/quality/ad-frequency/en","quote":"There are way too many ads, I can't listen to music in peace","rating":1,"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 (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.