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.

“The Proton app shows the next code, this saves having to wait for the next one to appear if time is running out”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0b748892a60c67beda3ab5a90182377ae1bfd5e98bb3082bf946e916a21ef405
Signature (Ed25519, base64)
RwZFRP/4bGZyEv6fc5AaXSu6Z1hkRNEjr6B9ANJQpoK3/jpLseATQakSZ4jBu4YTgEwZYcifmU8dpfISpuuGBQ==
Merkle root
e880a518ba68bfe85ddff87a241b258528b2896d8ce031c201c4697c0b7d2205
Merkle path
["0b76eb67459a67a013bd42c62e64d6f43570283dab50a446ac8ea77427cbbde0","013bb80ac0867f4920383d38bf8ce45b97fba3a31d54c7b03040415d63867086","63a4c37c39a531b5144be5d7af435e3c9d240a47a214aaaf509e7bca1a3c339c","a4116eda89b1987731cbd90071d78499013d12645de404017ad39c002e1b8f1c","b9a152fd180f31f6b631f82e139dd47280ffa91dd046dde4c06fc0a09811bc10","9c9a3bba191635bfe824d089fec26b1bf0b9f415485b7366173429ee000d781c","f0f7ce67436ccddab0de364ec866824db121d54cc23e37a9c4093c935fec9fee","7fc85a355fc5c996cee71bd882dcdb23f5abff68e32c41107dca216c0b747b32","202f02ba19dd8e596fca46996cad34c1e82a18db9cd8c0da84a40db6e64256be","ecd95b1b3a802e5f54328817f7e44b9ff1d1a7ff1173bdea4f9523657f5fae4a","aa45589d359646fdc7cb3b7100f296d51531a91bb30633303107ad8c4d1f5594","8abd4d5b06b87286affaa0cf89ccbc72d6059bcba0e452912cc764aa4f8b3a91","0e6818b49626845facd47486279f7e4a6689ed0beda657d93a969ab184e1e0de","8c997d59f41540bab49c6414578aed00ec9a73fd31959523b43a0af5a2eb1e86","269c643459740a67a842bbee9fda4a35b5098a4f015e508a69431212a0912770"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2680681799 · entry 108e9186e8c5677adf7a…
Expected log hash
23ab6878cbb153d06d6958de44ea3fafe32bd61b03ba95bcd26de9e09248aedb 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":"v1788297623062","kind":"published-quote","locale":"en","page":"product:proton/proton-authenticator/en","quote":"The Proton app shows the next code, this saves having to wait for the next one to appear if time is running out","rating":5,"review_date":"2026-08-10","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=proton.android.authenticator","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 (e880a518ba68…), 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.