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.

“Solid, trustworthy password manager that gets the job done without unnecessary fluff.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
90bae7f86e16a4273294b3c660b3e23a86cc378f29f7ffd5e34e8a5b26f0ca55
Signature (Ed25519, base64)
5DhXwcl9waJ2gXWdG1KoygiDqEJqGpEHzPcxjBU988iybsIIu6yfRNcINnfESFhcm9NpapJ5LU4k+wxget+NDA==
Merkle root
10c793aeb45e0f89b9202290e8cd37afdaa93db762a28319e14e5d167b3b381e
Merkle path
["90b8fa353d57b786f938ae1ba53287dba439d0bd4d79763b80e7bc28535059f9","672b0a3b3d8cdbf950cf349ef28e0fc16b84cf658acf8789fa977e3ec28f4609","ca24a945b7717f288788003871eeef2c8be1816b82e1f4c8243f5b37c2dc862a","1488be020020ead19abde6dd81716eefbf450164713b3144fd74748420527b12","8e96c21b52281e19d291bc3d0ff59159a4d0d58eac525419464afcd30fa15d11","7189d20e8db195a12d251db2edfab58c9b504041038858ae243ec51e63074341","f71feb06b52908a490d2026ead05183318ec31322948fbd879fc2c940355b4da","97e1fd1b6afa68400c00060aad4c657838100748a2496e19a7af6c6bc46c1faf","33bc023e2e55a033b7d4e8a792b352bff095f48e3ebb07db86ed9fba6d73f472","caba95b27824bac2f373d392a46a069db4cba60b63dc06260517b70518944b4e","63d243c3a2a0723c9788e4bddada5820853c2539214a03a421737040e3945e12","0b0c8841426d15482ad4948641d061eab93b554a10c70ce48b8725eedd0a5ab6","dccf217d21fb36838ea4dd2efcae3c16107e39782fd6d9f93819c1d7e5647957","0a0b65d14f8830f13578c0a03ccc6845d0f40e308a396eedfef160d14748cc93","86698da34df4e83c54914359e9a6440fbcb5c84f13163aaa7ad9fba21ade0277"]
Anchored
2026-09-17
Public log entry
search.sigstore.dev, log index 2871093963 · entry 108e9186e8c5677aaa83…
Expected log hash
2dc7fe816b6373997045fe2c089e9db0b321b7c653bfed462fbdb27b856b80a8 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":"v1789531532649","kind":"published-quote","locale":"en","page":"theme:bitwarden/service/en","quote":"Solid, trustworthy password manager that gets the job done without unnecessary fluff.","rating":5,"review_date":"2026-08-28","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 (10c793aeb45e…), 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.