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.

“have use this app for a few years and it never lets me down”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0e916e5ea2f21258837c3b70617e5c7612cf41efc2fd69ea0090ade0b5215ad3
Signature (Ed25519, base64)
9li1QHjK7xXSrRg3yWsklow18UOC0pQPuKBAWMnFk2knwDZDhbqMbVU4VZv0C/9zOeVjEnXXYwBtKAKMkAi8Cw==
Merkle root
f157206eaf0681e32c282b6c87b482d5b05edc0371242c4555dfe07a805d46ee
Merkle path
["0e83403be9c653f00be965110a9c7139174b20834a971be9ea6395f2b49b62da","6c41442c32b33e45f5d19c15e629ce049fdf4020b05745ea49e9916f7dfbf0d7","12e086f6bbd967c23365cb7987c098875b162b33a281a16f3b65b9c2fd6f6716","848a7e5d95ff3f52ed63547bc4da52292eb799d4f8b18ef4cf916ec4ebb78c7e","a41cae6bb7e4df5b6b56a5f31569050095cf8ee0d2e5b2dc136a5d8a4bb2b9ed","060de56a457fb9fa90470d86331d4f966ed4861f45635ee3bd64552eb682c3ae","282f65e84a556509aada95f8f8fc1550e4e3c2d0638ae1be8c0974577a99d709","90c94d5d74232f5286441306b8d860ab6d0c89d51dd3c2439edb587905a91c44","6d035fae613fa0f0b07b1f688e5b49a6035bb9c3ca479a67a486c7d016aa7e3e","c2d4d9f0451cf088ca10a5190ade587a7e1e05ab40aed7b9236da6ed97b4dc66","9c625a75a9274c71647d761c2cd9f5bf940d702ef86f2a79f09f19f7e4637b11","c983079c81f3fe3701fa74b1f3d07ba4ae521d2aa67e53391f4fd7e312ac9423","18d3f68accc8835a5c40f0c374bff5769347a644756ac8ed830a1459ec4a0187","72cec015fa128b419dcf741d3ca687936e9595c259ab78dfd4256d8340270e61"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3273402563 · entry 108e9186e8c5677a6df5…
Expected log hash
d39be9954db9139b182dabecbcfa2b9510337ba2b23ae56a3f9ebed18578385c 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":"v1792122859337","kind":"published-quote","locale":"en","page":"brand:bitwarden","quote":"have use this app for a few years and it never lets me down","rating":5,"review_date":"2026-08-24","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 (f157206eaf06…), 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.