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.

“Best Authenticator app I have ever used.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a2ac5a821dfa5f8206e239882e50298f2262aaacf5db97457f1475fca85b718
Signature (Ed25519, base64)
Ilp/a/Ds6H+cqToSueCK4RzB97ncCIVnTf06KKrrywbA/SyzafDTf85W77vTvo6eF5DTP84C5asXkKWW4YS6AQ==
Merkle root
bc9d0b5d836a216cf1886934c8d5ec9f854ad5daceb587a6eb8badcbb84ee02f
Merkle path
["0a24bdce167f3a51ead03049e3a39c0cc07efc9a6263374e62bbfb92b7ab59f6","afad26add20bd061c61c2fc6def5fd6b5dae924487fdfd4525dc9333d38b2cad","9bcfd8ef1a89c0303ca8a9aa4d0d27b57811f82f80adb48ac29458e6821db62e","e0acf0aa8a2205f018fa8c5c3fda1388d5108c97eb90c6a20b51ae7cc7c1f3ea","2dc25077dc452d0dda206d8777de1307e731638981137df5eab506f323a51e70","e631d116269f1afca11c97d2bae3cf9b77e786941807971b074fc9e22a593e8b","4ed7b8e4e7a1020a2f1817fe05e0066cdc92c981107c2db6c4474215f345fbdb","b6ba836207f8b2a64f6b74ea89e4516d03fd58cccb1756d4be7245e2345e34cd","c3ebb276e8b2e5c4b52fc7cc937d7eca9206ceeed59710002703af73703cf7e9","4cbb93a0b192f69493a40734919133de10a98c3a501692774edd4b81667d85a3","317a785ebb6b175e626109381b2b5d6f6514b3205e736706830d346d81be547e","d3c9392978290ff4acc95fb24c00358022a18e8869378dd9b98ebf9e31ae3a82","04220d159462533e19180f38775a371ba8ff54ec137c48558e5c1452b7cae681","c78d02bc04c908a350115d0a3f5d200d8a666366962fbc37c05c5805c741dcc0","d687ea8aee79065a6ddcf3c31455804f88f0a27932c5abf16edbc09a81fa4670"]
Anchored
2026-08-24
Public log entry
search.sigstore.dev, log index 2579634821 · entry 108e9186e8c5677ae575…
Expected log hash
aa88a647802dcecd33319e67554ce6dc40636f337adca0214325bf9b390c4c88 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":"v1787544244896","kind":"published-quote","locale":"en","page":"product:proton/proton-authenticator/en","quote":"Best Authenticator app I have ever used.","rating":5,"review_date":"2026-08-13","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 (bc9d0b5d836a…), 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.