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.

“weak design and UX”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
123d91e9be75caf22e653524a9d80dd07de94b79847fab1f2a6d14efeea62c7f
Signature (Ed25519, base64)
1GtXjELzSBs/uTcSYUYKkaZTMIE3Its3plC0cSZCk+Pw1Yc/6wx+49NvKajh47Vw0kyJQ8dgfErk0LCVmFeECA==
Merkle root
199738dc68b66dcf66f6b0cc77e2cba74c3bfda88989684620837b4c4e64818e
Merkle path
["123ea7517b83c7f2f511af2a8674b29d3c64af5a79f0415eb1471f7907aca211","0ebf5e3bc9d631b8247dcb5e188bf071dcafbb0c6a9b0e9edb346926e5c95a5f","e9d33246a22e15a119b9b213e05761b344458f4588472a7bdf9c2d57f1562e24","87ec120296647f8d748c763e6ff927c7d7998e4b5482ca6839f2b5310f0c98d1","85719754d9d70aeb11f2933b3ddfe8f17d0e1f84574979708d8182aa31e250b1","747c0557f096aaee3c65e366e01707b54190f0a87c680486f7657524176c96ea","65472f5bf55aab592d07b24f981bfa9de0f2f966b2ea1a980ddcbc936fb2aeeb","90936437b3ed1b28ec0bb6cc2e3e0af5be7bfea2dfc57666c405a948960100f0","cda7e0a93e910955a3bd28a0c09f9fec54d1be669451b4b91c03334d9bb9148e","e7defa53ab3603b7c4ed675413c2ba2dfd2f2d4cbf1d47965182f3ff1d79f710","237d92539dadc5c229398abd4613f475072d6788bd28bacee8b5bc01f400fb10","86433dc4e5776691731438e65de2d710dae3d65c747d632e0e4f67a92455b646","89c2d1ad10f8da8a1ced326bfbd1f55882866fd705571bc337258b3314dad42f","ddc8a66e59fc8f0934334cf08e419f621290129e658cbc58d8ec27bafd90b0af"]
Anchored
2026-10-11
Public log entry
search.sigstore.dev, log index 3198797320 · entry 108e9186e8c5677a14ba…
Expected log hash
46227e67415cdf5b62c43420eb8b7a80b35acaa912410c2711787f678b77c9c9 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":"v1791687727006","kind":"published-quote","locale":"de","page":"brand:proton","quote":"weak design and UX","rating":2,"review_date":"2026-09-06","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=me.proton.android.calendar","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 (199738dc68b6…), 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.