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.

“trying to organize photos becomes an agonizing process”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
06ded256f740de0be616f8773cc87c37aaee128eff97ea900fb4c80d21d80874
Signature (Ed25519, base64)
FF3VoVMUYoSzrv74uCVRB6hftjHJ4R9lQHqCKkdCVotYEUk45aLcESA3T+0nqUCJlA1BP6FqtQezJLJM46IpAA==
Merkle root
2cd516e344e4be63e12361494ae610d89d15708131c24034ae0c7b134b8bcc53
Merkle path
["06d76fb97ce18aa22d2ba4eaf8b044b5d98582899ac908203257ce4123b4795d","3d648b5e1d361c7f3a2f2b145fcf10e7da44f5fffdba79985dad834b22e7ccbf","af6e22310f13011eca5fe0c8454d2a24427dbc0a9caa4cf754726f830a7ef3ae","0b6f0037f0010685d17c009cb6e7a52b6de66072ad65aad3f950ca74fda1bd62","b92239bb84e3fd8c49ec57541db977bcbbb676f9278b519aaf6143d3bac495e0","e49dc82d7a8144f62b7fe8f0f07a62293fdd2ba47ecd322b81f6e44605ab4323","5eb575b9a1aaecfddfde64baeefe8f4e5c51befaaba80ad1b1d10bb96d3615a3","aac678f1f153e65416e6ed27f6a02c5b0d7b1a5ed312075a96c400114cbe304a","64e8cf607487891502472f0016b66ecec04e427a695feeb2a1899414d1495b9c","6f08da55f822c49c3486248c4678089d0543810a9c643b42b104f8af99e96e28","ac21f8af041fe96dbf9db80c88446e44320bf6fd71fc6ad269cab7c32fe48cf1","11851d586c9f38a56ab982eb8cd3943e06cb4a5d762921d94ddb141fbb64e148","ce748a4ea17609932077a2ddf349ddc25b0aac234841b63b72566db9472e9268","223b4ba84a44374ab9643cd0f0caf0fb6697417054944b56228a22297574df64","22334ce08b4f33f031252a9b7a089423436312a37092b6e742f7471c7ed075e3"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514341362 · entry 108e9186e8c5677a67a1…
Expected log hash
81a850cd5c32c6b6ee86a2774571659cf829f205adaa17a6b9e9a6f5bef7642d 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":"v1787126744998","kind":"published-quote","locale":"en","page":"theme:proton/ordering/en","quote":"trying to organize photos becomes an agonizing process","rating":2,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=me.proton.android.drive","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 (2cd516e344e4…), 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.