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 deleted and re-downloaded it but nothing changed”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
088ac319a79a498c6ae7c6df83f7efca836fc510f1009ed11e89340eb5ec857a
Signature (Ed25519, base64)
HJgaJpeymS4JQOq0y2NmnRqnvdDSdEZTMSfnFji76/SdUHAVJ3hfmRixGH7mFHaVuqKVDhqFaSH9njHP7y8PBA==
Merkle root
7b64262ccb6992b4b1db9e70024ed7bf00a279068dc28cec38a2b0e5ad6c1f05
Merkle path
["0886d889314aea5bdba2fa40fc3c97f6a353fb4b1e83cd216888698a20229cf5","94f590ef6981b44758466b2e2ad6f6fe3c1be2d3b8e3e29810cd15bab9d013da","b819f416fba9979f25fbc58200f90bb9bd760250f07473af1875e05859c9539d","910e5be31c6cd492e45186af8135044b2b1e62992b749e7e1ae8334a0746880f","7b0faec2d5bcc9f01a3efee93fba58538ae9f45454d6be30cc226d7a19892ae9","02a7f6d773a0dbc64d9b11d2c508c0a812964c910ea4501bbe1b2643af1f6634","9eddf889e8d31a8e63eab5f6f2c9acbb6685eae52976791d9eb4acb11f89be0b","f37382797a1244043be9ecc2b45c967f8999acd4d3725afe561a271a608121f2","500d1709263d02d7cc4ae2b96709e7cdd04bb6d978ce977d730f8254193790ff","408bf588f1939f8acf9f2a3a242701bc31aad01eca42f94c1e10d8a6f345cd18","dff451acf90db9c1cbc91e619a6adf9dcb67a75c6c893dcb7428abb7dba72e52","aa818fc3ed365700a313226e531d8d443301c73e224b86ab4bc8740c08d56de9","df04ec2f9a279e16bd1cc7da71d9e700ebfbf4bc60d39678c8af20f9e3783085","320bc2a1db4514fccd8cf8663fb8c3ce3d8b8f889769795ae761d0eb0ef5b761","6b57fd4f8c09475077477ccea0d971c3d4573af62c3a98d844ca044662800d45"]
Anchored
2026-08-24
Public log entry
search.sigstore.dev, log index 2579318932 · entry 108e9186e8c5677af677…
Expected log hash
32fe6d62a45bd1680e87bec92e1d4c4241f512243c06642638c7afa2cdade2a2 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":"v1787537478837","kind":"published-quote","locale":"en","page":"theme:proton/ordering/en","quote":"I deleted and re-downloaded it but nothing changed","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 (7b64262ccb69…), 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.