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.

“Account status did not change after making the payment”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0d8bc11d2b881c719bc933577242b49de3d7813828a30f9a3ad70b7ee93a34c9
Signature (Ed25519, base64)
5mKcaimlB2RPyLkVydEnctOLJ/A6DOVJZ9mQzy41a4KxZySIufvzoxBLajl0Flr1NGAcBE6080RSsGqRaZFXAQ==
Merkle root
7b426d9a8e4778c60509753003c7b551184ce3f76e1db9b678c604656c147d81
Merkle path
["0d8702d921eaa51d007fe708f6b04600d386eb7478c7301b726bed849ee92b4d","c8307e0320af4bc6c9e226da341e9742cda44a1ed37de6c01d686f0f38f5549b","cd7c68c4d1a46fe24d688f415c4b15b5613a408356173c6cd221b8b436effb4b","20382844548f01f1f41f2562b6034f37c360ceb0ab9e361c6459516c61b56c9c","c01c45ff7cbf00a397417e710760885168779f3d715ef58d447ec3efa2517d38","11b16de47de72fcc57063cfa619f5756730f511bfd8270166ff6c1eaec2ecac7","9adfd54d175f6b3558d6a61a6fc8d1f7a282f1e8889f316497a71a8cf8e38b36","f4d6f90de5205e8c390b548a559589f9a43631ec7f444199d36bd46c5f09d5c7","70b44352afbfe1e91ce6e104ca1d1144d0c5a1fd986fb86426b03e70237e55b8","9201fe5ad142537046bf15931a3a9a0dedaadfa6041812c035d5df7a99dc78c7","6017d77c12c9fb7066bfa482470458852e46e19bf72c24781b9bce1b1de98c70","e31d08beab788c5204f71c66f1aae19ccd2f41215c44b660d35802a0ef79d3d2","5d99da9744e8307e1a97e2467f68825a2078c23dcc4b995c9e783f8caa323115","9116af6fd18052ff80cfd3abad6fc438171b3496be1f90c0fc1ff476ae16bd31","6fe79142608c1fc8bf2fc6f4e46810b02dde5a2430135fbb3f3615b6e79ae38a"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621780523 · entry 108e9186e8c5677a0666…
Expected log hash
8cedab57a40119bdaca7f2b5c6cf9bb1e2c3e69dc6a6b7339d16a6592c70750e 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":"v1787891923870","kind":"published-quote","locale":"en","page":"theme:proton/billing/en","quote":"Account status did not change after making the payment","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 (7b426d9a8e47…), 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.