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 was switched to the premium plan even though I never requested it.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
bd2166f6e671b6982333c2e0042fe1203a782617cef6c1d5f5b8b003f34af8f4
Signature (Ed25519, base64)
BXNEnQ7yIdGwd3yGmwHetibwxPkz73lPOw8/t26tA4Wko8DqF10dzxxCluJoxDYhRr/xu2BaXPOTb387yNRxCg==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["bd21aca08c6ee6ca9b659f2baaa76bc6b3f7beaa472edf4e0abe593075e3aba9","1df016b358ccfbcfeec7178299bde3be95b7c4abadd3685940f57f93831c3fb3","e4a5332d29ec0b6124dde9264a49a112f8153f8087dd7e1013404c4993732f98","e19780d692af3bf026b5bec8b78cbc463dee97321eeaad53330d7397d561eb9a","836a61da9143be7971bf78e9d671fa62880f70fe54184c82db2c6d54d6c28a68","b9975d78cfb59bab69e9a7b5e3a4dbf39114cd8f87017a8f055b0843e04dc5d9","c7e9cfafb0324128ba7a402c62d3fb37e537ebe29a91ace608b4c34d04f54d78","779647a30777fd5e8c18debc0c1c129ccea7d1fcede30753a962bc2f875fbe67","d21abe8d9a0ce3f9ab89c80abd741c9e8a75496961edcbd3a6925e40891e5dbe","b2b50bfdb272cbdd9b1d73312ebc06ef5163e463135f176505bcaa3e4df4fce0","0fded0d410956042b9d1acf691c64135a230864a49447caaa2620cc5b48c956a","1b051bf1ff36589fb2c3614b917f0b7f052e466f644868f148d61dc06ad499eb","06f94171d32c86f72a9e1d984f2a7c3fa7bd9f00a98eabaa3fbd7d57db71aaf2","e3714293de39ce3c6e3cb9d5ea7711343b19d2be532c75504682d8ef52e8f91e","2a462314156907e42d6f0d96eed96123f1d79516aef73ed189d9f5466556b638"]
Anchored
2026-09-21
Public log entry
search.sigstore.dev, log index 2904877428 · entry 108e9186e8c5677ab408…
Expected log hash
d020708737f55ccdf49203f373fcbcefe8158cc388605556fbfda3c365de7360 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":"v1789881486272","kind":"published-quote","locale":"en","page":"theme:vaia/billing/en","quote":"I was switched to the premium plan even though I never requested it.","rating":1,"review_date":"2026-07-15","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.studysmarter","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 (e299bf38720a…), 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.