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.

“Excellent app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0b985a60af5e572fe13ac77286b5bcfbcc4b4979073214bcb2b9107babf0c818
Signature (Ed25519, base64)
0fXSNXuQBdmZByfC1KuWxoheOwjTVLagWiE69jBTirNIHQvIDc9fRScCWRLrpTTDyP54T/LjIVhh9JJ+7bseBA==
Merkle root
bdc4b63265a70d38726c98a51a2f6fe0c825529e253e2d0102798be7f72f5677
Merkle path
["0b98978d3109825a39ed5f5ed0360fe35a7b0cce07df61ed9f86ab75d23df53b","3174016b1591c27e2314446c568d0200d2f8215f2cbbe2c98c183c5640f375df","56d8d0e3f1e79db797c899fd4faf63e1ba7ac9925be3e38e82532fb86a94663b","81a2847f8880e1903b6537568b29b25f51c5b9aea1ffef821eaa5777abbc2bf1","8df6174e74eb3fabdb49673707bae8aef07821b47a20d2913827e7301f752ea1","e8623954e8a6f2cdf0154a6406ce9e326227f8423b55a34fa44e5bf5de9b3d51","685984680f17eeba029b7a0a1b8e8b4f8f172b5bf8f7b0ab41240fc34d11d132","0ff1bacdced9661d263552cac4b68822b1fc6a73cd94b85eae37f268f95df4c8","32eb67a84af1a0afc0add487492afb9be1c6388599fd6053803372008f54c0fc","7e61a288f9c1fa3c765990a71ce9d2f4e758b4a645a674d9e9708e01931e6246","72d4c92c91ed4c6c812d6b80e88ac6a2774c8fe7fe59150f5f5bd8e7c727b6aa","aebde396b6326cd6ef4fe2b336efcca55f425b58989be7e1932fe8cca3b8e79c","feb0254887eb1282778baf7c368a0b78d207e266f585e8fa28d1d23f1aa1f260","96c364e4fa4c79e3af24942939468d2bc4e25e66deb751a5352efb996b7fef36","c0ca68b26f34d8d7dffa9679f414d4de82a713164fc00678d7df4e235b1b6509"]
Anchored
2026-08-26
Public log entry
search.sigstore.dev, log index 2594047033 · entry 108e9186e8c5677af479…
Expected log hash
26ef5711a6b9de6fa8d880c18fe60f9d9918e495d6ecb3bfd46317eb69c9ba91 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":"v1787712098188","kind":"published-quote","locale":"en","page":"product:proton/proton-authenticator/en","quote":"Excellent app","rating":5,"review_date":"2026-08-12","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 (bdc4b63265a7…), 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.