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.

“Safest password app I've used”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
5fd59367d128b05c15d97421d6638e02087c84c753a2075d60551196221e4a9d
Signature (Ed25519, base64)
iwMGmGepMjzvrY2do/vvHRrDNdSSXL4fVD+FV5H988bsW4Ohxf377HDJDICy39503UPz5MBfSj/M/YJPH/TRDQ==
Merkle root
9d32c0cbfb02966e7a561566f948b48040888a6535c058e814428126106ff945
Merkle path
["5fd2ee59e4bfd24f3cc5246851f8100aeaa142afd4d435925aa4bcddb163d822","c2ec31b4abef34652f7dee2b735f6ec7c4f07df2d515cecbbebaf294591bd372","fbeb95a27d1b59087498588f016d0051cc45acbd1d7cd08389dd46bcce934075","fb7d5ff0947c7ffd23668d97c0170d118bae807f5c588fdc00af433b3c807bdc","706cc0cc9ef97e0dbd4658afb4cd2756d500db8983183bd5ebe97e3dbbed666d","04fff8a55b42154ba7c0e3daa40b94fa5a793a25790c2774c16e76fb8952532b","e99a4efc9f71f1c051fd81e13251c5fa4e25543e855248ba069ee37bdef53089","5435254f9f38c7dea8e776d1916455d43b2cd19a6fb053c4ca880b70bc43164b","d313037105dd693055abed1ec448274faf4884a6a71b5d414f5e1dec3a2057c0","2b13fe62c0b65c290e809a9e9fdca3fb229888153ad21579cd5876b84cd2d00c","be4feb1fc69f4e555826aa84bc4ba620a85f87da39269044693b9164812dfd8c","de57ce495ce1dcef2c90dbc7937bf61413a49247e13455cab064ac817fe68fd3","3fcd45228716805aa85ade4544d04e795bb1399eb7a6a00746dabb625754cd90","07b2decfe383429cb71278f9069f54d1b4f607f991c518b70357c1681514c3ad","a892fc29bb3c992428927e47e35596c876cca06d89acb4ca102f2a534ba3ab13"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3121837738 · entry 108e9186e8c5677a0c6c…
Expected log hash
a0090149b27e60cea52dd7dc5f0abf6dd7c00feef65be2874742fff2aa9e8bad 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":"v1791340487550","kind":"published-quote","locale":"en","page":"product:bitwarden/individual/en","quote":"Safest password app I've used","rating":5,"review_date":"2026-08-25","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.x8bit.bitwarden","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 (9d32c0cbfb02…), 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.