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’ve tried deleting and reinstalling the app but no matter what I do I am still marked as a free user.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0d27d1ba2dfb9f8c95180d40304f07a9ac5ead7cb935e2e26f77148ac55dffea
Signature (Ed25519, base64)
OLEfYWeLhXjK6C3wYN/GOqHRqFCmH3SeU87VAvnM+/bXcc1tEUsE5o4/VwETxtptaf9rX8SHuVYbcspoi5+3BQ==
Merkle root
d07487a7d8598747d5b143d9a16722ca7a83f5bd36bc79d5bf9130c2672dae41
Merkle path
["0d26cd226846cbdb1ba51f11f800f7b906918f78df118b312714ff937c686fc8","201d577d455d7d50a35c3551da5f1745de86b5df37db9be3cf72ea09bdab2ed8","fd0d73c22f3451d99bfaa36a8986641dd91b55d5939296cac8b1112b2164d6e4","974657851c54d7615013318552b1d3c360f19744adbb302abaabde9bc8daa108","6d352049672888645af8c4ad8d2c209eb2705a8df1ac1b1165e298bcd94a272a","33b5d49f301e561cd5a9532e36931dee688067f8b8d883ae36836f21db0ec25a","d86409de40e4181db96b1118ad038060f0c67db0470e1ff11c7e67bda540efd1","2115ff8bc2ba53d42332e7c214fdb4e78d45497b52f282d4a571b43f927c8d44","ea6e740d11fd1de26a7c463e9f792ef843ece268cfb9dfb9332aa9247c8ea341","5472aa95ee16faaf8cdb182168677dd0ddc593562c61cacdc67f4507bacfaa29","51e91757fb79771c7c3e7964ccc1e1bd4c83f91fd12f988f28fcecdd9b9fe112","a0fdfe7690d005e054fb3a90a34d7cb5dfb00910c185dee375fbde390d3c55bd","884e6220e81a9d5982bd71d70ff9eeca2e340f53981f663fa0ca7490cce6445f","39aaf77ef5b3e4cffa994bd58b84219ff7133fe1d71c02bfd8ea2a47d2f7467b","fa743bec0c13730c5e9e6be51f1ac48c3e9e0953b18cdf4cd6390a132151d0a5"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621505474 · entry 108e9186e8c5677a1258…
Expected log hash
7fc4ddca6f65b68d7bb8897b96188547f56c1ba672ff212c685cdf4bf7438da9 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":"v1787887633012","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/setup-configuration/en","quote":"I’ve tried deleting and reinstalling the app but no matter what I do I am still marked as a free user.","rating":1,"review_date":"2026-06-20","source":"Apple App Store","source_url":"https://apps.apple.com/us/app/id1437005085?see-all=reviews","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 (d07487a7d859…), 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.