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.
“ExpressVPN has never let me down”
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 3273342496
Proof data
- Record hash (SHA-256)
20d36debea053fef6f533402be589b0d2abf75f998faff94d83cfdc34f491beb- Signature (Ed25519, base64)
+vLsYrVCke1vgSfT+PNRJRmxe7FnmzQnZKkTt5zZWsHsXB2KPtaUcfuQm5PnY3shPtpE/Sl4jQLsCftJcw8tDA==- Merkle root
a6a2b4c9d7d1eafa4a3ba3595aa08f11c105165de84940ffc059f837c445104f- Merkle path
["20d6d4e67abc508c457c7363ac25b70e1a55e7a1b474bdee60fe4ebef6db3952","cfb918b7f480d6998b2bddc6744bffde87f1d16ab505b5b77e03abe015393fa2","9d33612683c8c4c5c5944e0e6c0721530e31d2864a595370009d9b596dc0b7f4","a5965193347ff6ba12ce87524183853ea76b9615a364ba047a4230a1b8753a5c","32f1f5881ceef27b5063c42c1237c1f103842eb90be95fc05f4e4e470ba1fc87","8fd4af86ff52ee0c93a75d1d67ff0e4ea7b58e6bf75b62ef48b9fb9add35a720","ec62a525749ea97f4db0a0efa0bda8cc70f69152ae587a1b14221897d76433b0","d592127883c50f65c002aa6a0519281da9420b329510d1698f4d21e5ba58f9d7","934307a199a283b7481bcf665814b73c704a19b7bbd8798dbab3ee769ebd4c85","a6ece7c62bd8d9810b746a22e4ffc172b2bd7b4d4e53043178ac8a1fba5983df","fca4148b7d63d2155bd4f2c250f595d4390b55f1371317ad1717a801e3baccf1","8ceb1cbfd39c6c4db73ef7ebf9abc517c7ad214544f8291eb9ba9ebb0a70e4ff","95302ff16156d5e277933eeb7a8aae0bcc9cd9ecc1e7491c1aab462ce098abfe","d9b9cce27629bc902030340ceda068fb90d53ddab20309d3b3d8bb3949c170f2"]- Anchored
- 2026-10-16
- Public log entry
-
search.sigstore.dev, log index 3273342496 · entry
108e9186e8c5677a66d7… - Expected log hash
-
8a8ea4260f3039926c3342603d4fca7ca9e5c627d841ac1c7142e303a049d0c7The 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":"v1792122420855","kind":"published-quote","locale":"en","page":"brand:expressvpn","quote":"ExpressVPN has never let me down","rating":5,"review_date":"2026-08-31","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a95f67a037e2551ad9398fe","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 (a6a2b4c9d7d1…), 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.