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 didn't reply to my refund email.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1104f5b78e503f8a19ebbc64dd74a3513dcd2d65c1b222021560634534596d51
Signature (Ed25519, base64)
RdTCdPMbGEiQKXV2l2mwzpXkCdJcoO+Vf3Yu2mqoSlTBe/iMzxYdw35so4bRzRqQ8uteELGRPqL3Pmb9dRdwDw==
Merkle root
a4c18639252762e8592e52699d716003f75d0f7e56e7fa6339035d798c5faa4c
Merkle path
["1105fe656b0f3d2ba00311e6477faa29cf99da5d0342ac79940eee5b2901e383","1f7b8b61b3c0a9a293f79c498da465f99453ca07366b1fa725a6e9d23b2cb45a","bb70ca41b863e84af6769d8f308b49435ed20fa7819b13a6b6cdc26c7d68f4b5","d8b5467817883409ef151c1c4db43f94796a397928cbdbcbb775d81bb3105029","02975040f344a34ca817b9e8f1d97ff977e6513cc3f434f9d79e5fff9a154bdf","38f60b15a3bb9ebf7cf01e4c0c7200016391c8f580f5df82ac4dbfe4b73b487d","792b23580e453f7b5231fabbc6bf9b4594c68ec1926649d7710aee7d05f6fa1e","fa3737560cd412673e8ad8c2a0828667bc72b550b50617c1a083a54b3049e401","3f6a8168479ff81299d85a2940c339b46cc9399afa359a80bb8c216147ff2a46","0118a4024335f1ea15d51ee63c450b2dea3194fe342a56968f29acaf82609213","1855662df304ea5a562ea61cd460f7328f1bf318b05260b2c2c57f61e07dcf25","ea39482b5a7e0d45d9fb3ae639170732241133dd31b00e5a83bcb03533f8d238","a54fc815eb1b1840822e4a876caf80ed05f30705f1d63949cf36ecaf8a968901","991436b9578e675394ec672133d1c374d83d4a1e2c908b8f139d4d517c2af4b3","38817b8565345ec373a63f174b7c8fd25668576b72ed4022ed922334dd0dbde5"]
Anchored
2026-08-25
Public log entry
search.sigstore.dev, log index 2582656976 · entry 108e9186e8c5677a65b0…
Expected log hash
918fc3881cd55f75123813e7996add0afe4b7e68bfa1a75328681c18d541d464 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":"v1787629605596","kind":"published-quote","locale":"en","page":"theme:proton/communication/en","quote":"They didn't reply to my refund email.","rating":1,"review_date":"2026-08-10","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 (a4c186392527…), 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.