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.

“Highly recommended”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2f9ad16b5eb23e11330f4188afc34ab56c5efcb93d1b082ba97bb873c2ca535f
Signature (Ed25519, base64)
raGTlASdDXIoRlOy34f8tYExPdNbDEmu1dsrKu7Q6JFrXHgnAkm5LHePoDBpQiXI9WqYR/eVEfJTmK9Rf3PoDw==
Merkle root
ab8d4de5853e13d360962f03dfb915842a42e1c5601cdaac4f2b37ad0ba96b78
Merkle path
["2f9b117b2f3564b11a444ef33222210a6440c55a72fa874fb42ef82d72630d53","3424c861852aca29505a7de6040a200710735ebbf8aa11ad760a39292ca55fe7","fafc47516bfbbc6dc52076a59f08eb07be486292c4bdc45fcc5461374906ef5e","c2938e3cd7028ac450f78c143b8cc47edd44e9dcb9e02bcdd7d799a076a54bf3","59cbdbdee620d91a9e9ba60e9a7b9aa7fecd33d6d41a7496d32b24eb3b65b702","5e6a7e833cb774d95c2196988448f07bc15456234f79bafbc6e090663c9f9501","b0109b8d193eefa5ff22cefe935b7b02f0af1d8f707885039185f92828b5e8ab","23c2c771a08427ff5b67b7894dc9c47b8172e882246345925025abc8934d6d6e","ed934e59964502b6e0a49557b94ac612da57e8660ae76fcecb709d22e6ab45a9","be23c7e7b4093dffc2de2eebbed83c87ea0664dd48067268f94e23c5386463aa","302869e53f2c42d10a99cab629277c592c0a5e44124dce490875e618e91706b5","1f4057a151ee201b828d97e6a824c448929adabf69bbc73546bb374356ffde97","b5d1a48b6642f5e918335ff168c322a90c6461c94c3bda6ded76ea663842f62f","6b7938d0463f2b633e195d7021170023360849e40ff5e64ffe0633d28e084f81","90ac6c76618b09f3702b50a6410c80828bbcb4ead0d9d85dda294a654717f483"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3162293789 · entry 108e9186e8c5677af0ef…
Expected log hash
49c1b9c7cf9c0180248092c94f6cb48d5e59f6c65f471decaa61f120e90874ce 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":"v1791539611981","kind":"published-quote","locale":"en","page":"brand:pdfgear","quote":"Highly recommended","rating":5,"review_date":"2026-09-04","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a9ab5dd20159d44874f1d0d","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 (ab8d4de5853e…), 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.