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 like it, but it's not a perfect app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6db2848eac9ce88906db1a2deca64744d12bebd5633cb142bb078b7114982939
Signature (Ed25519, base64)
oFDJIHUDKvSsFT4OL0DIr6CRW+5MZ6uvYdQDYZjXGVqsx8RXRzfe1ieX9dkX0s7YRoOaw1jCbiHN2QkNMGhkCA==
Merkle root
3b820b0e91b2475ca02a79fe65f1dcaac35af570ee21f4c868099b9c17e17c1f
Merkle path
["6db34ca5e61e8a260b84e38a680f273af1ecbf005dd3204a46d313d0051ae279","0b5f8988138cbf13ccdc7e848293440e8feadc6d15e3849ae39ecd5938613e97","9e600802f2767b582c082f7ce454c260328d0c7bc86fa14d7643656080316098","076e797506db39702b756125f7684ff9e47d0b0410b08058c9b68e6621dbe8d3","fbee4e7a69fd7962d9bbe82c675532a6a89d70ba0aed4d38c4f68a4db09b8beb","6381287410b5b093f161b50f98383aa9c167a5d636e5a74e346b437f7e94d723","fd7e4b97a9b2941e9de0046f88f27cc3ca1a0d447d37d724aae460a6d859c0c0","4cdc56fb0bdb7be391793a1375277e0b4b747632cd23617150c6a83e93615ff0","81be4523bd3b8baec7fa1ac63a239d902b43c22e53d4288e2c6436a7dcae8bc6","e1d8cea487997859a4a1dc4317fe196a4498b52e7470dc53409139c1ba9e4f08","6efe54f33b5390b665c39161dc4b705d09c7980b19a75e00d49f37f110f6da7d","e6b35db6260df9ee7ad85916623e6fd166d1ba2bba5bd38aca915958f4905f75","06d796a3b8e297c2eec8a6da440c9f9c6b9ce7c872dda1a86e5b18b3fde38aa0","faf75fd6bb73a751917db6b8d00819eae7e29d2bb6f9270942a28e0da8dab05b","92de2c105ee268f1f08dcd9d0a8fc946130cef7b39b15a2b5ed0d7209687c9ac"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3124210377 · entry 108e9186e8c5677a0172…
Expected log hash
20a5241ced0c7b94303a7b8002f1aae217df3f1371aea54ff5745a148bddda47 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":"v1791349684588","kind":"published-quote","locale":"en","page":"product:bitwarden/agentic-ai-security/en","quote":"I like it, but it's not a perfect app","rating":5,"review_date":"2026-08-26","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 (3b820b0e91b2…), 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.