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.
“The app is very good”
Checks (re-run on this request)
- ✓ Signature — Ed25519 signature over the record hash, verified against the public key at /.well-known/citatio-signing.json
- ✓ Merkle inclusion — Leaf recomputed through the sibling path to the anchored root
- ✓ Public transparency log — Sigstore Rekor log index 2656977863
Proof data
- Record hash (SHA-256)
0983e554b58f9f89dac8fe0f09c330c1340c3ec89ebf2f7b7d6920824f3f7cb7- Signature (Ed25519, base64)
l1YWCy4PYWQfIzqz9R5rXUAqEGhC9Zi8KWDgV+qSXPgNJ/6sljwrJo+z02PCNl2B59MbE9aJX8UYiAYZlQVkDg==- Merkle root
0cb6814e51c7eb056a01f84349e58060bb6087dd0cf96aef0f27729d4d4fb276- Merkle path
["0982fb7c125b9b60a83315d77395d960e510f19396338f933bd9daed1df9a33a","3dff04aa1a7dcbde0a9da4d6b4c055381843f119a28ec70d5506f26429e15c5a","a161c77de7d5b5387e0e272a054044cee31e7dea09d01892181819796119079e","97163a71b982211441d79acebb71594c8c66f5b0d9411ab27a4dc7666fac587b","5e7c06fc405e3069a2ce1db25c2cc7f1353b9c56b5e3c8770d3ff0b6e1811cdb","7c65ad96c2d2279768c89a590e325208f2def7f83d3b3dff5b52bf1b15f4739d","990db783bb7ee6525b5f3ae20623df1dfd868ae3f0483f279fa0537d774494ef","04ba9d291ec8af3ae52bb3229beff99969e62dd1c8c868ebffd4ea16adad0291","bfb85983633aaa99c6c9f7a8843b3f51e07943078355de90ecf2033dd9780d1c","0b47eb4e47e3c159b9612bbda3750bc806f9e831988fe3d33146386df66a3918","26d22d41c53f71f135913884383349ce9225cab8d1964ad69ceb8f6a7f41975e","0e7b34ee57018ab949f6230ec302cfa9f723792d5fdbb493da70978b6389c9e3","be1dd0e45f7494393f0e1b32c70d3c985a66f040e38a68aca73948a6803cfeda","2518affc97ecf822332e259f6b71ff1d6b20920b0b5c6f8e1080f3c11eb6b936","af2962fc61736883c7077a83c82f90f0eaef6320643194fac99217c4f69a9d04"]- Anchored
- 2026-08-31
- Public log entry
-
search.sigstore.dev, log index 2656977863 · entry
108e9186e8c5677ad8e2… - Expected log hash
-
50611b695debae6fb0a9929f4c3d2c8dd8c51d8e8342a15fa077624a80d81709The log entry'sspec.data.hash.valuemust equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm. - Canonical record
{"dataset_version":"v1788142253421","kind":"published-quote","locale":"en","page":"product:proton/proton-vpn/en","quote":"The app is very good","rating":5,"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
- Open the Rekor entry (pre-filled with this proof's log index).
-
In the entry, compare
spec.data.hash.valuewith the "Expected log hash" above: it is the SHA-256 of the Merkle root string (0cb6814e51c7…), which ties this proof's root to the log entry. -
Decode
spec.signature.publicKey.contentfrom base64: it must equal Citatio's published key at /.well-known/citatio-signing.json. -
The entry's
integratedTimeis the independent timestamp: the root, and with it this quote, existed no later than that moment. - 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.