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 was charged TWICE for my premium subscription”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
f14bf74dcc24faedfb40ba7af8e946915fd01812ca3b359f3bf8753b83472454
Signature (Ed25519, base64)
a+qNpkK8moug+6VLACUYu0CXvjFMp+18GYWHvGC0jG1rvfrX+uHDrAB8a+kzN1bSckUcfvR+3vwH/mUx1xHCAg==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["f14be053f06c1ba1f587acb43f1939ad5e9e4559261433155aa9084b693d8055","bf187e244bc9c10f51db55b4d6001c9c4c89eb26b4db63d270bab4f04a3d3532","078a2f35d23aaa15e9de782624f1666bac1a3f44f31969867f88b9429e4b79cc","5a747a9539db457233229a8ca7d324c2af2f6b2ce0ac710ba3b01c755c281048","d8a5ed111c303e2669ab0f6c7e11232333b4976e3276d677132120011458ba90","d7b200fedeb9f0000cf55f9af3d0c2eb2fa2c63cb40f5f173ad02165a4ebed40","ccd5247feb50a9612b717e12b2e113d60c232cda44f8fe147f86d46d025a5783","b717f21138b394a2eb0d12045bb26ba16dab77a8337bb57739d3efa290e85d49","07d4a6d939d671b6ccbf5db9279c0c8d271c140da9f9fd9387906b851ad97a9c","2a682e13c41e9958776430a0b48ab49d58985989c2642339dc056e989ac70933","ff9d2cba28b56b9ac059934e199a22ac0d0cb6a6e7d0f34c69230eec5ad40e2b","931b50c455f0c4cd7b03a9aa55020946bc08a45af021cb433ed8643740cb7cec","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/billing/en","quote":"I was charged TWICE for my premium subscription","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.