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.

“In my opinion, it fits my workflow very well.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
17d873cc2823eff65841d12beab4a9d29f1d86fb7d48fd1b7cc957c71be59fcc
Signature (Ed25519, base64)
2yC/IHcvceVpFehqM16Tb4QpO4MmLlBpkqU007pMm3QZQi5mo0/vQete5CrfTHVAcecQCohx5AFTYf5QZiAkDw==
Merkle root
6953a5ba9bd00082fa1986982a5979aa7ad5b4654ec368f8d247f13243e4e4b8
Merkle path
["17d5682c27a03df457782dd8a3300bcd71fbaad5eb066614ad3659187bc72c4d","b7b7aac574cd6b100dbfdfe5e8659e83150fdb7094c2a4c1e14e8691a5b89acc","53b53cdbfd534dc7a80f3a29531337738713ca1cfa59538c36d296d5b733df09","f1bec856a7ec8aaf1f455f1a1cf065611ff573d55b9ec82e900b41b937a7c8b3","635cf2d38ec4e969d3c6ba80a1008daa3c17026c2dd173a6567bae893e2fbfe8","edc5e2ce97a64c5a043f475fa91a252be21dae1d1e9d69eba2aa60993017c58a","00d07a85bdbe61f6107d4af16c866df86b6f7e8de04e147e7a3260475e459996","352b57885804a701b7cb2abfa53905e25c12c6d2db1697d79dbca9691efe9ab5","11bc38e7849f810d62124ab3e400e268872e31ace285cd1412486e250bfe4587","bbbcadfcd06e4b3ab60776fd225ed107ea0446ecff6c11e857a675acd0292062","482f20a9159a8e59a574c7964242764f64b58aeacd3ff1741a10c92a59ce4008","d42dc1b37546fc67d932c54c8efa2ed4184ceb43d115311d414f7b177c48c420","3d6624c631c3f201b337a52bc4f9494c99366c0aa74b4db152cef1b6807b4800","98a14e6f55278d0c3f64d31e6bb09545a033fdb7dd6455363be23426eb85b044"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3273053873 · entry 108e9186e8c5677adb5c…
Expected log hash
8e660c0f9c2f4acb2461077e20036379bc945573437a296969373758a8dbffb8 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":"v1792120102008","kind":"published-quote","locale":"en","page":"brand:bitwarden","quote":"In my opinion, it fits my workflow very well.","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 (6953a5ba9bd0…), 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.