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.

“My download was also removed so now I can't read it on the train”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
952f800162cab23e18da556f041be152fc061686f8e79cbdb395cb335bc24080
Signature (Ed25519, base64)
8C4nrLTyAsXj7Q10rPcLgOHg3RGEeth2WSIgfS5Eck3MJoasgMnYRHfgvsG9qspDJXv5Cg30R2ZBbzbm1j5MAA==
Merkle root
277f678086a68384187ff29b395b0fdaceb8fee69b57cef3cd060bcd7a85a6f2
Merkle path
["95307a494f66a629ef46a7393a1713cd2881ef5cfdd76284b7c34e8ed186d827","73548a1372dcb3789697c6af9869dbc26545d49a856f5b0ca6ff85f45234262f","ce3906f537a3ec621ae4797d568820e76267b04454e2eb0293704512309dffcd","89783da08fe3b1203afe8c7edf1f203d8e2781ff43fc3964708044585d36323f","5fdce75ddf1fdec36439ab4d944cac53e218ea0565197ee59bc4e88626d69fe0","e1311e6e481cb43d1d785521d7c762ed80088543c47f421cdf40adfb19b1564e","cf4807d4639a23d0631319a76b710ac325c4e5a79c39f2abf4812689a05dbf1e","14efba4c598513701aee6a668641ef1cce83ff1ed60588701c66a15214caec8b","43092d58e8e359e01e9bf1e47387da82c15ae5f8c09d856c1641de7ad6a559a9","1a79839f5aa956b0549ca169692c4586f84c9e815e83c659b6c04e8e26ab7aff","5ca7a67b59b23f5b0f23941b60562aea898186f5720ee48107e33ce7ebd3e7e7","a0381a26375c2e8599a6f8210eaac8a5d95699159c05c2a71dd8738e6acf0d69","47bcf17e9d39d99398d6717a5a1eb275a9b2ed23f5eae79a9d57d6bc7ac6f082","086e176eb6519c51f791fcd7d1f1cf11b9af8b1ec6cdf6772acb83e13e1da912","33f0c207136b5e5f15198fd5fee5ac8599f8163ffe39734a8f7f2847e77c41f8"]
Anchored
2026-09-24
Public log entry
search.sigstore.dev, log index 2929513415 · entry 108e9186e8c5677a8264…
Expected log hash
9e91de35fefec2dcd249a303ecf0c84a118a9b2cf5b39f5a9ff4368de67598cd 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":"v1790137911951","kind":"published-quote","locale":"en","page":"theme:everand/delivery/en","quote":"My download was also removed so now I can't read it on the train","rating":3,"review_date":"2026-07-20","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0","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 (277f678086a6…), 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.