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.
“This app is stupid, it keeps saying there's an error.”
Checks (re-run on this request)
- ✓ Signature — Ed25519 signature over the record hash, verified against the public key at /.well-known/citatio-signing.json
- ✓ Merkle inclusion — Leaf recomputed through the sibling path to the anchored root
- ✓ Public transparency log — Sigstore Rekor log index 2682182715
Proof data
- Record hash (SHA-256)
11faea97d9b95cadb026af30d1be6e294fe566bcfd718e6cf8ebdc7b0e847938- Signature (Ed25519, base64)
/dQKaD3ZxwvHMIKhXCwj5/qGCQBxUR1IUOaST7P6R6thL62EyT/5Ppdor1ovAR/xuy7Lhf9fZvlvDaPM0bl8AA==- Merkle root
a98b50e535ae53279e8516802157b424d2a2bd6800d1c251ba60d9a742aeac5c- Merkle path
["11fdea1e7ad07d2c4a3598af2650f7e26d20ab38f99d7018ae7cb76d3f9cc8b4","69600ed59e4e0b27f8bd3dceb6a385854a861ef56974394339566a89c1dff883","a68223d6e42215bf04c96a40d36a5fb9dd1aabe92b893676c24bdd52c0a5caf8","cc4998d5901a42c6ac4b78e5533d39192a49e699349cc69cbcdb94ebe6965315","5f5bbd403a8dee6657b488f924a694aed35462589ba9c20eff57d858554ebf51","113c3941d97047258bba64bb19ea8839350f540f7bc421b5312c64e5fd90980e","7345c26556c355c73296efb02e91510e6c10a5e064ab7580bc8ef1774627cbf7","fa89adb47c1155a52db58cff408fa10d35d9d9d62429c4477c9cc517795465d1","36b809ce6106ba54720302b57358920218b8e191d3fe7cbbe402255f6b03d7cc","43949e6836190391a18c9ffdcec36e0d752c2ef0b741b4e10dc0175dee51b1c0","91efaae603a3026e393a5ecfea4bd5ac72c1cc2480e9db8f3e902ebc81100b99","20524de8ff4267e2b0776624f09fe5480f9fe33a5239ddc15c15fd75e63758fd","4ee196375d66e09aaa8a05a79329d68c3a50100c830835060402aa8d235d95c6","71a4426d4276c0c224a382ee3cdc207a0a9d5ddfd42ee86b341203278911461f","86fbf391c95a64b4edce12edb659c77256c72926a279d6981a94152c2bc26607"]- Anchored
- 2026-09-02
- Public log entry
-
search.sigstore.dev, log index 2682182715 · entry
108e9186e8c5677a8f73… - Expected log hash
-
50527829b2727ec3ff54bbc04509435e1aad57a1b8911c437a05134629a261f1The log entry'sspec.data.hash.valuemust equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm. - Canonical record
{"dataset_version":"v1788314008672","kind":"published-quote","locale":"en","page":"product:proton/proton-mail/en","quote":"This app is stupid, it keeps saying there's an error.","rating":1,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonmail.android","v":1}
Verify in the public log
- Open the Rekor entry (pre-filled with this proof's log index).
-
In the entry, compare
spec.data.hash.valuewith the "Expected log hash" above: it is the SHA-256 of the Merkle root string (a98b50e535ae…), which ties this proof's root to the log entry. -
Decode
spec.signature.publicKey.contentfrom base64: it must equal Citatio's published key at /.well-known/citatio-signing.json. -
The entry's
integratedTimeis the independent timestamp: the root, and with it this quote, existed no later than that moment. - 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.