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 options and tabs are clear and concise.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0bb46ffceef887e0276686a88cea28c39051a55382f6bd039e45c9e24b1608ba
Signature (Ed25519, base64)
F9IlobVZl/KHnMUH7UrcOiRUN2YLuCAqVyivcMRx/YKBCKi8twWMNBPlnKpry4inU2quqJaNrYL2JC1GX3Z9Ag==
Merkle root
2e430f8af8ce99087eb52c520bcfec9c7745da371e80a44c53f178593db80e43
Merkle path
["0baa06a6f4918d455e61548beaeaaf57308dcac82993e4ce7d5f82eaaf0655b2","28404d859b52bf5fc07665b9f47d303bc28dc68296dba5de0fb55c3aba465a53","f306275fca744f7050614e8d2a56abcc4ebd8ecc37aedf38104c9e637da4e184","83be46c6260aa74114c7f6f32c596e8291b7eeb4eedc60827214828afe126598","379f758d25f071d4f500f03aaea461b36f7dd124750e29ba71e48305c451467d","9c50a912dec474271406b1405f24b9f2d9337163171c9b7cf51cc19e0568c4cf","2608b15e90eb1905def16c20304bc7b51e3626396e6fbecf725138a01e90a946","1233ae651db31db1e05af0399574d5c9ba0b59259152525178ab49638fa59b6a","fff074ee38705c2662f50d7a6f3dcd47f8c18251f305f51e85c5b10d05f640cc","d664c0e8b09fce4e2f530765149f4da48f7a475cab7f506c4a76191e6546459f","b698e290e91981c94a2c15042f34bf4f42596cffc271aa1813d91c997864e64e","dd8858bdd6932cf95839a0bbbbffddbdb81842bd77358a725c8c0e903d04a580","79a26519bfd63e811aa50c9f6ec20de38c33194c5e5671e72fe87ab77793ae98"]
Anchored
2026-10-18
Public log entry
search.sigstore.dev, log index 3304616757 · entry 108e9186e8c5677a83be…
Expected log hash
a0fba1125c7f8ea996ba73faddf9851b62585f74ff5f7e4242cedd1df157f403 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":"v1792290386675","kind":"published-quote","locale":"en","page":"brand:nordvpn","quote":"The options and tabs are clear and concise.","rating":5,"review_date":"2026-08-31","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a95d85ebab58e4a79819458","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 (2e430f8af8ce…), 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.