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.

“Every iOS app that has in-app subscriptions is required to have a “restore purchases” flow”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0c34d1f233a05c39afdffb704782b094bbfa9131f2671d03a7175987d9b85fe4
Signature (Ed25519, base64)
2nbwwP7xu5LqgFic0EvVl7udwm050iEl/Mm2TjQUaRJwjBfi4pysIpDY1FxezVsO7AkjEpPrhgY3uBVJ45WoAw==
Merkle root
c5c707bf97ff73e1247b0ccd0925f0db0a83cf52cb887b20768212ff5bbc5fe7
Merkle path
["0c39f4df497d4cc635072e61d2b1e3c966f2b39acfc77360a1062501baa104e4","0f0fc79ccb6d75be3b00da5df2ca532a0ae2f929750381787f3daed6d55127ee","ed66df3c127fc2e9bc56965ff296b405f06ef769ef0e7131c6c17d3b8a299f57","4656cd1d2ac408dd311f4d053889841ff9edf35bafe5ba6c90a58dac05699501","6138fb4c9e719d4cfe67d98028608ccd7e913ebaa586d50357ee2438997ff629","9a20e5d7d0454e60d30a32a9e7ce939fdd619705752f2c2fe7785e7e5773fa92","3aeb279ffdcf2122ab2ff7f89f63d82a4a600d713329a2870e9f0a752aa9ed23","b353023190ecb7a37927559761ea6ea1e5499bde2bedce25c5859d5c9b4f7f66","e10dcbf9ea018cf04d8ccb9c1536b131ae68e4e79776a11929141e4c292e2719","99dd1aa7adf0f74fb5e031391a9f82b1bc8227f685b77b3562414196161d1891","87847f24a5a901dcfcebe37fbf73ac0f6415d29fc4547848cd71b386a20a8f4c","fa28f9b79bbac98448fd0cf268f2d08316548682d0e5eaaa3b41ecd61a4ed731","bfa6d3174dc6ac2ac973ef7dbeb8001d2697f9586894947f07415b5ac90efc1a","61d99ae8fc79aa7f239f794770b00be2b8c5cc1d2483d723f849c6b764907eeb","3e1fcd4bf6d45c101c10e6b07d5c593b58f9445be77bdcbde26aa7026b1ff6e8"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2683301360 · entry 108e9186e8c5677ac685…
Expected log hash
2e7e5158dde5972120030caa35508ea4274f63d72a51b34adc6efebfc2f2527a 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":"v1788322918375","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/setup-configuration/en","quote":"Every iOS app that has in-app subscriptions is required to have a “restore purchases” flow","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 (c5c707bf97ff…), 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.