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)
3b0763880d7d694091999ce639a1adcfc39641f5cd07e31def91853d75fdf47c
Signature (Ed25519, base64)
7HN96rzQ59J0s30X4j6prs/AregqcPiEZ2K9aWyrYg1ok4KvYssrE6rclmJlptCQsJsPF47Q2WXViSjbUwYbDA==
Merkle root
3286418fc06d25de584969d1d1d5f4b079918bf6b5a5178364cae8b78bb351b2
Merkle path
["3b036daac355e9c9c47f9ca0bffcc8d289cedf91249cd95dfa8fbfce691f8707","c641461cfb199ade7959545a787586c60849b3be90eaa2578a38f26e08e65e2e","f36c52802bff569639d539f2e890bb98bb6b607e42586925543e68dcafbe5614","b36a21192d5da3d9014334f8980deb62b1898d87315ca23406f2f9981eb8f442","e01530e711206fde4ff51d6fa001685139aae7a64ae5c433318a85ddfa72bae7","e569530d28c013a1dc81280334897bd3bbb71e67a1c09727a55ec000ea493037","82547e7a73974e3f99a4d6220d188d0585b89d4dbe7a1a7f775ed7a0d8ad08cc","fec972f05680a50419e4c18264f261afdb3942f8aa4c9399e3458c4d63e396b9","4c7653bf5c0592c0381898c4ecf61a1593f9922ccabf497ae58fc08dc6debf6a","f277c357fa613e48e1a39d1fdbd31f13c57b0edcc00b52cc4af745e2912e25d0","fbf0beecd3644a0b1ed85afe1d822ac72eb6c6fefbbb832dbc0449418be397e1","18f743e4293ac0f418bd2370e18523fb86a3c1df20723b156051657b751cdb54","d9800b1b87d047478eeb89f8a1dda19593d3b273c40fa6d591a1b944763f5e83","b4d8773b8032d1dec9dc6fa4ba1d52baf4d9efac6a7cb542ab0617b855dc5284"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258071454 · entry 108e9186e8c5677ae2ee…
Expected log hash
f9026b3bdc4a2e986a01140b2370b0ce9ec3e7c9353055dd7c9909c6a9941809 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":"v1792030101458","kind":"published-quote","locale":"en","page":"brand:bitwarden","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 (3286418fc06d…), 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.