Tamper-evident record
Paste a decision ID to check that it was recorded and still matches its anchored proof.
This decision was recorded and still matches its proof, anchored on the public Base chain: any later change to it would be detectable.
If a more recent decision was made in this browser for this site, that one applies.
Recomputed in your browser
This block redoes the calculations above directly in your browser, from the values this page shows. Nothing is sent to Agreely while it runs.
keccak256( JCS(boundClaim) || salt )
0xd0ae…33e6waitingkeccak256( prevHash || JCS({chain_seq, action, config_version, occurred_at, commitment}) )
0xe40f…4dddwaitingkeccak256( min(a, b) || max(a, b) ), from the row hash up to the epoch root
0x0084…359awaitingEd25519( JCS(epoch descriptor), public key )
0x3b61…e4f4waitingrootOf( epoch root ), lane 2 for cookies, read from a public node
0x1e3a…42d6Every calculation redone here returns exactly the value the register shows.
The calculations this browser could finish return the values shown. One calculation did not complete here: that is a limit of this browser, not a disagreement with the register.
The hashing version this proof states does not match the one the chain expects at this block. This is neither a confirmation nor a forgery: the proof cannot be assessed.
At least one calculation redone here does not return the value shown. This should never happen. Report it to the site's person in charge of the protection of personal information, and write to Agreely with the decision identifier: info@agreely.ca
This recomputation did not happen: JavaScript is not active in this browser, or the module could not load. That is not a verification failure. The statement above is complete on its own, and the recipe further down lets you redo all of it yourself.
This recomputation does run in your browser, but the code running it is served by the same server as the statement above. For a genuinely independent check, redo the offline recipe further down with your own tools.
Recompute it yourself
The bound claim, the salt, the previous hash and the sequence number are revealed so anyone can recompute everything offline, without trusting the displayed value.
{"action":"grant","banner_locale":"fr","company_id":"1c990b4f-9a7c-4349-97bc-4b7a4f045ad7","config_hash":"0x8e4146690855c6dda3be080de0b5ce8d0e49242d3cb931d45843ef3287f0353c","config_version":"1","consent_id":"a4ff4c25-d5bf-4dd2-930f-3260d38a0667","decisions":"{\"analytics\":true,\"functional\":true,\"marketing\":true}","ip_trunc":null,"occurred_at":"2026-08-10T13:48:55Z","user_agent":null,"website_id":"6c0f602c-d82a-4eb0-955b-2464f97764c5"}rowHash = keccak256( fromHex(prevHash) || JSON({action, chain_seq: chainSeq, commitment, config_version, occurred_at}) ) with keys sorted, no whitespace, chain_seq a bare integer and every other value a string; leaf = rowHash; root = commutative-keccak fold of leaf with the inclusion pathWhy is there no "request my data" button?
This record is designed to log a cookie choice, not a person: it holds neither your name nor your email, and your decisions cannot be looked up in it from either. Some decisions are, however, bound to visit data (a truncated IP address); those fall to the website you visited, on whose behalf Agreely keeps this record.
Your right to access and correct your personal information applies to the personal information held by the site you visited, exercised with its person in charge of the protection of personal information, named in its privacy policy.
Agreely provides tamper-evidence (the decision was recorded, and a later change to it becomes detectable once its batch is anchored), and helps the site operator document and demonstrate its compliance. It is not proof of compliance in itself.