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.

“Why on earth would you make a feature to autogenerate passwords that is unable to save them?”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
5f1489dafa7180cf390306f8d34a125a53ee2bb2bd32ee235e8392b6aae40430
Signature (Ed25519, base64)
eEd9CRqBTNvwBuId3C5cOol2kJQKmXXBMEMBFX3Ip0s1lSoD3F+Tb6fZsf/W0ae1AXRZeauRwb/lwpxNU1ymCg==
Merkle root
9d32c0cbfb02966e7a561566f948b48040888a6535c058e814428126106ff945
Merkle path
["5f135b88344ea52684bf3915bb3adbaabfb30bc50f6957808463022d31ccfb32","ff1c028e50c283422995bb4fd044bd6f2b46f7b864dc6d7ad81e3a599aeff13d","0a4abf5c74ce7c21967e604ea0520956c516bf444f259c28c70948075997c295","b64a1ca4d98caec76d1bebde9e77049dd9ac9875308e64b14dd1369a5acd172f","8b01386116aa645c6ef569f602549bb234cec2385d0532e08734d0cc732b6f5d","f29f413fb8b876d995ca7513dfeeed31c85977cf0d33ad564062c8b4fecc8590","9c07d1ab7cdb82abd8c21dd5e96a8c4515a9e20f1803cdec3f76ef6eff056ea4","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":"Why on earth would you make a feature to autogenerate passwords that is unable to save them?","rating":1,"review_date":"2026-04-28","source":"Apple App Store","source_url":"https://apps.apple.com/us/app/id1137397744?see-all=reviews","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.