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.

“can't mark meetings as private, which I need”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
02598d7346e7411dbb73f7717cf66333e98d5ebff13ef33bfc4ec6afb33d8756
Signature (Ed25519, base64)
5WmJjxt/uyrGEEQOgfF+YzpPZNJ3GzMJUTthz5dw3Sljk8UnVVGunhgHt4F0NHcSbHghRVJhkPZ+mrwq75VtDQ==
Merkle root
c0f36ee0335bf71d5c03ca59b0f191f950cfafcbca9602c3bac8b2183aa81d49
Merkle path
["026acc002024dd2947cf92c1826a28a94f97b81a45390365cdb476464d6214b5","d945c83f9a9f6453d987dc7b123e8bb42d1d9bb2bd311f6781484bde657efe6e","00f54977b0ed8df6542f50798b6d281cf29d993890270e672409f64054ec54e7","859744a2d4ab2d9f2d5766b27e460154db716e7ab01cc2771f69c7203bbae22c","9435cb12f837b7207f7c959c466238e95481b9f4325f170f6534b1bb8264f3ca","9064bdeea1fa4c7daf8f3526c19079ea90f0b609b80dc98d315cabc56a05a7a2","273a0ad93b0e02bf17a75a7d996c314643b524daca78146a241c5d258721f26e","4b4fa55358b4c731126175bbd181c12b79b559a84bd430de012f0249e2d87ced","bef259e020dfd4eff28f7331b2519c2515205a07b329be58bb142a779a7b75d6","c55f1032a06733c14d9312180ea7aa8c9d3186558d84c0e94fccb23a379cbbe1","be5b621904c3c26c98d16d2cbb89bcb78a3e53c55fc14229bd5b5b77f1f59015","927de500e960266e9b12c9524aa43fa0bea81f1fe70a1fb15680bad0fd81e947","b51875ca42ff32753b93a043ad0f198e3e1ef2fe1aedf16283da4cd1b4b1d542"]
Anchored
2026-11-03
Public log entry
search.sigstore.dev, log index 3666413656 · entry 108e9186e8c5677a8e86…
Expected log hash
0d2952e2a04951edee30f820ff095b505511cde698e520c69b8bd5fc03c1eb96 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":"v1793701189085","kind":"published-quote","locale":"en","page":"brand:proton","quote":"can't mark meetings as private, which I need","rating":3,"review_date":"2025-08-18","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 (c0f36ee0335b…), 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.