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.

“generate new passwords directly in the app at any time”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
87ac5da5352a153b0187db091e28868d580235688d83b176460c17cb5b60e139
Signature (Ed25519, base64)
fgFX5bx1lfnUktNEOwxSQyw51DtLXW1l28UI7N2TJyJl1EuT2jZ8Eu4tjupWipmSNDXG1QYlql5iIdWZxoBLBA==
Merkle root
c5671f9a997da9b293a79ebe58b20e4534ae608121169f15a5adc358d42ed147
Merkle path
["87acb23add723877e9ac2f81c24ac33e0e6fe0bca703716b026a9d54af195ece","512d693ada065a51442a01017a487716f48b2e012b35393a8f5fda7e37bc6e17","c797942bf3fbf8700ea45888552395d971c7d1f3b6bbeeafafd7c5d7a7ca8f01","405d0799987895f2ab19cb98207b53d79e0cb3d039ecd01f74c035c442127835","0b6da17e6ba0c09bca478e06d009c6cb6cebd3d3645585e5884e2b39cbc13cb3","bd26da34e40b7132c6312d0daab976879b8ef621c879c7d9e967fe8d68a60b69","e245fa8963789a1823cb37a27cd9c4e3f1cc7630722a8ee2f52c955e630a4e3b","9a532f62e54f0df7caea4ea392d3d71488164b174a282dd0ebee15129a223db5","e07ec8292eeb45bf012415ec043f0ba28d19a993d6f44c802ebba46b5a589e39","48ef97b7024b8d41a53e89d8ff1aaf82b40c92af2d947410aa5a7601e35fc49c","eabbbe209187d45e59a30e17d1323b5f642f6d5868a3fdbc5f3b2c59d725c73c","2ac52bfd7019efc5590b5cfeb80fdf634434e8839267865b515b47069d2c6ef0","d2482c8c27b9666d395774cc0539a6ae5a22798c7dcc665c13e5aa68bbcb3778","8621becbd314bf961e51e6037fd253dfa12e66cb7b2d1c68d51addc52321e8a9","b178a1b83338c84f1a44bf8fe330ca4b62fad9df75daa4f4e38c0d04e336f831"]
Anchored
2026-10-05
Public log entry
search.sigstore.dev, log index 3081733041 · entry 108e9186e8c5677a0bbb…
Expected log hash
88ab7ac46d4614551fa6e665889f054d7592b15d91016a45621b5c46a7ae8e2f 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":"v1791174108170","kind":"published-quote","locale":"en","page":"theme:bitwarden/service/en","quote":"generate new passwords directly in the app at any time","rating":5,"review_date":"2026-08-29","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 (c5671f9a997d…), 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.