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.

“I had all my passwords in the app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
8b75704ecd6b0c858006b78d22b8f825c404da3227c28411ff6d577decf72649
Signature (Ed25519, base64)
wmn/w0NQ3n4mPNE73/QCJ7Ex/NuRxu1c9vbXZiAs0GJB0s8RPYbkzUl9m41i0mLPo9ju1e3oWLfqebm3GJelBg==
Merkle root
c5671f9a997da9b293a79ebe58b20e4534ae608121169f15a5adc358d42ed147
Merkle path
["8b7590647fb8181ed7c4d79b4120fc3f77944281c5a5e3fae5fc1aad5febf5bb","3fd8e9a1a2d1ca08958961dae66c8852306753289092579ebdb4695761b5c903","3b0f7d05109e885dd925c6882c383df2db8c0a3dffcdcec0b8e48136d5f7e707","969a81e287c70043286ef090822e6879cca949d7ebb8cea4eeb5d3efc470503b","cc1ec2875c1fe5e2814d565b8dc115037a75cd834b599623f4c89a050d31da16","f0187780db8b9164a625129a37e4e9ad02d8315b48b05a7bff2e9c3fa8b3fe4b","c17458a2a0f165f501020f98d509b67176adf18e722645d264da1848e16dad59","90b851e91bbeeda7740a5b7d97f6ab1a07b652b7b3db057b8ccfeeaefccf3b8b","30aaa3fc4f4b1f7e89a9443268353df9d334437f4639bfe3c4ff5568d60d011b","ce1f235db4ae1d4787603acc04ccdd14b6f2a6fb598e680d7f7a7e0e8ac1b752","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":"product:bitwarden/family/en","quote":"I had all my passwords in the app.","rating":1,"review_date":"2025-04-03","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.