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.

“It's mostly just to convince you to upgrade to Pro.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
086bae40ef14a231339e97aed99fe46a8b5f593986e0f78ba27a6a21334de944
Signature (Ed25519, base64)
z9axv58qVDb5T5dwL1uiZ1UIRc4v2kXSDTBv9KR017a878ke99JMlRF9/8xEDG0+cbvMDQ+pniw/gMCjeU0ICw==
Merkle root
61c0358904092135da9dcafe8883af2adb0c61440bf491948394c6fe07255cf0
Merkle path
["08702ced00e6c106f57315ff1fe433e5a0ee4fdf30e599b143a4cc437be6d76a","3b9daa31a3395b7fc8a2b0d6e402efbe859880ec0c5352bafeae34772550376c","2388ab07193af7a997a9a2e42a63e6c4d7c9f6209411969c3a42dbbc0a51bd76","850eab1a717d50369cbc42a0dcc0dbadef0c23c89ad00246f3bb4b645fb82eaf","64851cfb8b7fab76a92f8a1beaaafad350ed4ed3d4a16d28c6c01b5d8dd79a31","6c678c5cebe1b28933bb70070e1803673b96994c3c686d3360254eb36a5bca8c","af18b446116c72554f509c027cb34beaed11744fe8e4fbe064547e5b5f2efae2","8efe997b84391ed8ce87bd59f1265a425228c12f556ceb26457f4c44ddd2355e","010a9ab6c08439a6b6c8a97a9f2485b6bdd5c1ac47f66fdce44f1fc9d14e1afe","42102fad8200f70c9e6b1ac9c5eec412503be2ff3fb9a01c5afda2922431666c","4363a9c7a72ae1364a6e5dd0ecd88499a582bb687c3502ae3bc2102e31c7680d","87520a43200c2a64131784e9fcaf857a7240782996abb4557bb54db56d1e2ad0","71cae424255aa4638e3d855f2e4d0d3ec8f410d9b00b335969ebfbb7884e48de","5f85197a8394f334f8f9e8be202ba3ec072c11f71435e83d07f11a0a073ecf02","6b5b9926e6b590cb1bd6278f63edc47584ee36101706f8e0b22f8404af273127"]
Anchored
2026-08-24
Public log entry
search.sigstore.dev, log index 2579329594 · entry 108e9186e8c5677a2f40…
Expected log hash
bb1ce4990105a11e35218e4ee0348633e0f4be8179db75acbed652ddd79f7a87 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":"v1787538369368","kind":"published-quote","locale":"en","page":"product:proton/proton-vpn/en","quote":"It's mostly just to convince you to upgrade to Pro.","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 (61c035890409…), 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.