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.

“They were very considerate and helpful with my issue.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0cfeb3e9a816178dbb51e2f36da6c62002dbe9c7c502db6dfd32f4a853d67b5a
Signature (Ed25519, base64)
O+uWKe6FvdyZmpts2uVabZ9r1BeS/eX8uyXpVqoKQfZz9g85ofBUXC7JtptZbkbomnlQhu9sUwZJidEHrzA2CA==
Merkle root
0f9f1f98772de9eb66ade362612cd5ca656a4d200a8d47121b2fe38d9ef47140
Merkle path
["0cfa5e0178cbcf6c92fdc43eaa4fde68eea94e72ca4d12f6ce0ca1932112f094","e0b403a786b376d8ce5761254a88bb658a890e3de804fb842417c1f0c8654f0e","f700e96381d8ef5431dfe2f8ca474be242158524e4540b24be2c1d1ac0f0710e","cd71a68337f004f0af1499fb673c65986b39ef8748155cf5bcd63736f9832a8f","29872a5fb7b1f9e751c1c455d45da27b9e370575b44a746ca6e1ec151080e757","5ce5254a4a1734c2d437a8d13e730fc990d3eec41bfe1ce7f2350a431d4b6ae2","3977b0e59295bb3a1891f6940380f5664fc01c57339618a866f37f35a990311e","2017d005a42acc579abc6b4b3cfd5a7b5d47647dbfd273b153f92972986635e2","4078d0c836af639dacfde3281770e5e0bdaa1ecb657d772300e95fdecad78e73","3a8284e71cfbb3746464bad78f72778969916d7cfe3b21e09c3055ad3f541378","9abe5b31d8c2a1f69751ac24faba3be621265f720eaa8da62034f96bc5b3cd55","f1cffb6901dda2e564a480f1dc12dccfb1877504694bf2af489483f5b76dfa4a","2e2e215b111e44ca5db59fd252c4a02c1c9515de15b6a215ae68027b0429249c","cd57bc537bb7f2134c7a8f3afc1cbcb5294dcfd31bd287a44d448ecd8cfeebcc","e65115caa429385de2c5ad8bb60d388a1855282ef8d98462da5e136e2fb61d61"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2622009440 · entry 108e9186e8c5677aff73…
Expected log hash
46b80bf1a64c019a2ecb6a0303a553a66b36eee926131577fb3ad5bc065f2f13 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":"v1787895207832","kind":"published-quote","locale":"en","page":"subtheme:proton/service/support-responsiveness/en","quote":"They were very considerate and helpful with my issue.","rating":5,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.android","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 (0f9f1f98772d…), 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.