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.

“customer support less than useless”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0b890cf208a9ff2457e63bca8ed5da393b4e5c223bbb6d9df1ab42d21a9210d0
Signature (Ed25519, base64)
W1nq6K3ffNfSv9yAi/yqt1+i7due3qL0p8gvEd/L3y1ct16XBAkQ8McgOAVHqAgH1AThKhVNz2a8ENKs6hX3Dw==
Merkle root
579ce28fe2708bca920b52a6c28f3fe167f796c34475f556d2646d500467658d
Merkle path
["0b8b8e7523cc0af128f53199ad84c36d78238e46186df8792f3e097491b4c02b","5c8f304b943732008f4f350fcf2bf511b4a7ce96811ca50f73eb2a866ffe1eda","e264b9084100be2a951fdb018b69bbef835efeb3e8cb6c7001a252bf8eb25c57","6e654f9835bfcf4693c2953376ab3ecc40347b024d81bdd9784116fc57462a67","71c3125becaaa383695500789f68f5b3dfa0ba07600d96d492a18a3ce85ed91b","6b56b3f985d612474661f5725569d2aa13a223399ae7c2f4757ff14d80b11d6b","7ab2b2e9b3e7b8b670509235793d32c2f89b3ff626b0f118406914357403331b","3999f3e4fba4c04e3d5da788ea4c4c8f4493787e20f107d789b855e1227d6003","cbf124a822442f050686e34657d86e008260366b615e015a27f3ad3e8b1f5f10","c54d61f4d4ca569e15d9fa0af9c8c777876c289b8526aff3c67e4e3a2360879d","8d77f4183d88864a7066da3222e1cdccc3a328a7bc9f255ec52d78feb66ea37e","b63af60aa0695369c55c72d2d202d2a5fb8536581ea7aee331ad3c48eba05954","875317d07bdadae00897a73a7f1bc92eef1edc4a674a08e89cd1f30fbe8a615b","db157fed828260fa197f9066f6b89dc0d54f95a65db24f732f440b0995162421","842d900b1cf416b40ed647fb564c02f9f1047f8312564495f259853a966fa9e2"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2682592437 · entry 108e9186e8c5677a8bdc…
Expected log hash
0cba4b3248d53abaf7e1c602875f7199dc2f8f0ecf513e6f05c7e522db47bff2 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":"v1788317104782","kind":"published-quote","locale":"en","page":"subtheme:proton/service/support-responsiveness/en","quote":"customer support less than useless","rating":1,"review_date":"2026-08-10","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonmail.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 (579ce28fe270…), 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.