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.

“I have to resize widgets every day”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
5da5d635b076f9c79628c7049827fa91a33fb4115584f76f13edb5d2fbab28d2
Signature (Ed25519, base64)
mXyBS+WTHmTQA6Dh0aYQMKWnkobsdys4T4ZPnlPTjgSRSHOukW/3l1iSAVnOM4nRAsSNx/gomiKwb7nZJvQTDA==
Merkle root
c69b412346f0db8d88aed17dbaf2e4876a3743c1c4d16fb306ba56b5c0573123
Merkle path
["5da9c48bdcb7d6e711b36e8bea3afc2d6e174f317fbdcff6e59ae43ddfcf7013","2825a2d8abd733f56208224af24dbe7681613e1b255bbdcafdda98609f104055","927da71557b20aa03d87289e683f1a675a458d108fc0c9ddcfc7c163b71e9a24","6d4177206f3a18784a45bc0cd0bef5904aff134d82f848d6e4f6e84b31a2b8f1","770b936367caf9cb8c6a3eaa6736ec979ce014e20e3e631c13f6517b06ca2db9","b7acfc3702c4465b5a5d92d342ae6acde932ce5b4520e96d3e68dc5c7387b516","356fc521e974bd5914f8603eb7172174e01c6f496f7ab115a690c2b85fc14b09","490d5cc7d1fb075b28ee26172529d2c3061a6f44895e8fe1b6153f659cceebd9","015b59e1d8ff7abc845d68fe771150786c2d021e946397bdb5bd628a2cfbf354","55bdd053f21830186d0a0c08391f3609979d46e54b0ffa455db542446499af52","cd00f20d5da113faf6dc4d1cdbe97ea2bbea5932514059a5626c1d07285a8c26","8d98e0814510662023f5e250d24c50a9dacf430236e7b2753e9336cf76339bfc","2902401036646228e991cedada72ba594212cade8227204cfe8c0e390674d7b1","62927e8f71080777dd1935c21221e60b742dc0377a31e2f20a0a64cf6c3282e8","3da38b679e2392986aef224a332d14750fb3a22c4e75287765e8f68f575f24f3"]
Anchored
2026-08-20
Public log entry
search.sigstore.dev, log index 2525010456 · entry 108e9186e8c5677a4287…
Expected log hash
659be4fcc7663b2dc65a53351e16497fea44ed9ec8aef1f3c48c8e452b350dc6 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":"v1787194832011","kind":"published-quote","locale":"en","page":"theme:meteoblue/fit/en","quote":"I have to resize widgets every day","rating":2,"review_date":"2025-05-28","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.meteoblue.droid","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 (c69b412346f0…), 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.