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.

“app always crashes when trying to generate a password during a chrome browser session using the generator”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2ce0044c1a58d3357f18bfd441ca7ab8cdc5d107a60cba14a4c43d8e63ee159c
Signature (Ed25519, base64)
URZY/1gE2dunOPiL3TEig2HJeHkzr1DZ+tcYEw9c24CtwntqR9vdaQMFX2g0u9Fiynl8Qwmf0iYpc81oiTcrBQ==
Merkle root
1e69109d842117168677c2c7aab9689ac78923960f86fb642566271a6ebec358
Merkle path
["2cec042495f2ba2688b72314c5874d915b1ae892091ab90c2ef36d3070d69746","363b9da08d79cba8abc7c8841adce38ba751964a6b6012e36902fdf6f2fd64fc","11fc1cbc18cb5e8b4d3c3d808f2a98c5c6526bb72d3d264145f32451893f41a8","d3ae7eae5c30badc11fb5d670248ac582f844e4bd0a7faf0ab44ef3717da1cb8","84f46c97bcc28336a2a0f338130c0e758f19a2902e0519206203086df1a59796","72bcd2ca0b90a2a4909e813694311fb5eba20d0a2c7f025ffd7da754b4185696","596098ec22c911e1acdb6259db55ae561716f13fc84c679752ae73810db4d880","3e7b54e3f25b03a81c9bc29dacc9fa6f031d9793c8c31868c7e18a2c01a764cc","f3f6a2bdfdae7eb0368aff034c3a1f22f5c2c6ff3e1d15eaf9ef4b2db2c97cca","4975dd1ae9e3ba4ce5dd1b7542c7a8a2c565b5c850bd56e5d7bb609a122f959d","aa8f2c33d97c0ac8dc7d77c1105a2ffd53ba88f60ca9a946d664919a827dd74c","e8ee33453c42c8b9a0e73dbe9a65f0ef421d213e42b0e7964904098c25de97d6","7c33667a483d5fd3b9ed47c00df3203f479cead457d361a57e3e5a90d1401d8b","4db0e65440b78c494263fe6b915a75fbf2b04ea1cd2fed0eeba5f9cb4589aa37"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258673097 · entry 108e9186e8c5677ab832…
Expected log hash
c57cff5f0f2da5f1c24e09823c0cd10c485830bed55f44ffe5864187f8e896d3 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":"v1792033864449","kind":"published-quote","locale":"en","page":"brand:bitwarden","quote":"app always crashes when trying to generate a password during a chrome browser session using the generator","rating":5,"review_date":"2026-08-25","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 (1e69109d8421…), 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.