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 couldn't use it anymore after that.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
078127fc820baaec62469158b3335265f1025171149d1b81cca341441d7ef68d
Signature (Ed25519, base64)
vEUM/A1uZexMJYXYQqtraycaLq8TxLQ89TCNFvToMJkopk3y7fLOs9fXPLp4Ynd8FDSArh84HMkU8wUNRy2VDg==
Merkle root
feb82b7f8aea18b46b248fac49fdc21a6b138fec64dc2fa12c4b3c7a81799706
Merkle path
["07834ed06b158da446418fdef3cec1ae17d505f72cbaabe8bd8c90014bf169cd","6a017ab8433ae0dee6a5e44e02f1dfc9da9a0e80ac24403c1ea738a7393c5a5b","d3832ef3e78d282f526adcbd9126557dfd750367d42f49114e836fdb34e5433f","cb59dafcc4618abe063c32ad41390758397cf76bf414bab6ff3dd9c0c94f78c1","568466fba78394ddfebe6e1b04565c4e9315c33174eebd9a33187bd466f8ed87","c9b934be55209db4bad23c840be0c08b7c12d5973b5ab279a370d1d89079d4c7","d1a82b4a9fade0db6694e14f72635f5d80aea860ea02906fd20b0080b6a64264","558395f61607b71d5b82d4f0accaece40bd96bad2b25a3f160593a2e87cfba92","d005c2ef3fe7c5c6e1007272e5858ad96df27c6c075b87d2467ddfbeb2721334","ee6b73f158ad936ddde4d8017e60e36998a78da29cf2a574ac4a217adeefa49b","432257e12fc74e02f17d8512b1a22aac409e0b8775c2753763d3b76b5128c548","2fba2cad16ca3eb7de50d8cda1a40cedca663ecefd4468e6606c83a612b96186","ce9fe8fedce3454cf180d6a66efdbe5fbdc70a0fa838f69d2b9096cbcc6c4c38","e77d494af9e2547c53e58f62769cd14d89c9d23aad38b861f53f29b79396acd3","3520002e20f205a5e2c7683df52b5c77fe454ada68a85506f659d94f96d1078c"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3122521988 · entry 108e9186e8c5677afa72…
Expected log hash
9fa0d177312c5b0b22ba9dc313f3316134d71d179dc19912df4abe4610de68bf 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":"v1791343163559","kind":"published-quote","locale":"en","page":"theme:proton/service/en","quote":"I couldn't use it anymore after that.","rating":1,"review_date":"2026-08-13","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 (feb82b7f8aea…), 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.