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 entire configuration and migration was a breeze”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
531aa1fa5067af897efde0c219cbb211214617160986047004fa195aa5ab21de
Signature (Ed25519, base64)
cehlyxdzwCccodUJ+UX/ZBoRlhrc6d1HOzzYC2KDS4K64E3xM0EqgvDFZuRSXEGyYpNT1Euw5gmcftV9krwtAA==
Merkle root
afb9ffbb4b4e88017e1c868247f919ebcfe69f09127d391e7daa08019eb2b63b
Merkle path
["531af87f55fc72218331c3b42d09d2d4ea03690bd42794090fb3772c27c00daa","0c6a5e0e290f91eec7c546aae8ac38d0189138917a30c6b56716976ac4d676e6","d1db38849516da57a01ab6199602a2d2ae001055992ab63a18ca162aa0d8034f","e77ca5f460fc1acd827defb89d8fc8e12c88e181cdb1a081c1dedc4e4baa7ffc","037e00e39f4eb11b7862c7d7d0435625fa30a9bae700a6396166bcfc525130ee","4c842bb9f2d143fb5b44b6d84eceddd27aed16deeb033fc06f8e8bd4e4711ec8","4d8a17594a8a49ea4b6c0bb6c19834b4f941261abece4853bd521d947148289f","0e71e653a252627c07f5f167b48425ede7745049a79ecaf90638c13d79d5fecc","cf1c925e4f0e55c066c12615af9f264ad7bb868f0f27f4e81db73a915198f1ff","b678297ac270093814be0b9d15bdc258e4248eb5b951fa7d77b898f7b654bd23","dda243dd061ab6dba48f54033ab5da95d0f031ca4b145e0a3ae4adf84b4747e2","ed12f30047dd4c3669ec0c51ddd1fe0336b8b598549b0f1447b25501a6c42fa5","cfc6855eeb5cd3bfbc64cd1a8365b676fdd5adf536ee2637beb35214ad734bd3","15ecb20ce6559654c94b8b858c027c014996a92eb19771813db0b794d6214fb6","72bbc4ee0a973113b1d556f76d02fea2c4704794a0d313a96e49ff7b6174dec2"]
Anchored
2026-10-10
Public log entry
search.sigstore.dev, log index 3178115911 · entry 108e9186e8c5677a2bba…
Expected log hash
a144ffc32dfaa9fe45b4895b7f4c17280667152868dd8de227ca2811c60c870f 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":"v1791604579182","kind":"published-quote","locale":"en","page":"brand:fastmail","quote":"the entire configuration and migration was a breeze","rating":5,"review_date":"2026-01-31","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/697df64e4b8252ffa8a952ca","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 (afb9ffbb4b4e…), 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.