Prove it on demand
A regulator or auditor can demand proof of valid consent for any (category, purpose) at any time. Logs you could have edited prove nothing.
Consent requested purpose by purpose, as article 14 requires, accountability registers, individual rights and independently verifiable proof. Built for both acts it modernized: P-39.1 private sector and A-2.1 public bodies, under the CAI's actual regime, not a foreign standard.
Quebec's Law 25 turned consent into an obligation you must defend. In practice, an organization must be able to show, after the fact, that consent was given for a specific (category, purpose), that it was honored while active, and that it stopped the moment it was withdrawn. A checkbox in a database cannot prove any of that.
A regulator or auditor can demand proof of valid consent for any (category, purpose) at any time. Logs you could have edited prove nothing.
Consent lives as a boolean in an app database: easy to overwrite, impossible to prove untouched, and disconnected from the code that touches the data.
Withdrawal of consent has to take effect on the very next use, and Law 25's erasure duty (art. 23) has to actually destroy the readable claim, not just promise to.
Law 25 requires consent asked for each purpose, presented distinctly from any other information. A single "I accept all" is without effect, and proving otherwise is on you.
An individual concerned can ask for access to their information, a copy, and its release in a structured, commonly used technological format. You have 30 days to answer, after which the request is deemed refused.
Faced with a confidentiality incident, you must assess the risk of serious injury, notify the Commission and the individuals concerned with diligence, and keep a register. Without a reliable record of who consented to what, scoping it is guesswork.
Law 25 places personal-information protection in the hands of a named person in charge, whose contact details are public. In practice, the enterprise must be able to demonstrate valid consent, notably under art. 14 (non-compliant consent is without effect) and art. 3.1 (accountability rests with the person in charge). Accountability is not a promise: it is a person who must answer, article in hand.
Agreely is the proof and accountability layer, not a new data store. Your information stays with you.
Agreely covers both regimes.
Agreely covers every step of an information's life cycle: disclosure at collection (art. 8), consent asked for each purpose (art. 14), proof on demand, withdrawal and erasure (art. 23), governance through the responsable and the register, then audit through a tamper-evident access log.
Every step leaves proof bound to the article it documents.
Versioned, signed documents carry the purposes, means, rights, and withdrawal.
Law 25 art. 8 / 14Consent is asked for each purpose, separately.
Law 25 art. 14Withdrawal is honored on the very next check.
Law 25 art. 8 al. 1 (4)Disclosures covered by art. 18 al. 2 are recorded; the log goes further, covering all accesses, anchored and verifiable.
Law 25 art. 18 al. 2 / 27Erasure destroys the key that makes the claim readable.
Law 25 art. 23Signed receipts show, after the fact, who consented to what, when, and under which disclosure.
Law 25 art. 3.1Agreely documents every step of Law 25, article in hand: a tamper-evident access log, versioned consent documents, attested offline consent, and a complete governance suite.
Named responsable, confidentiality-incident register, and privacy policy, in one suite. Proof, audit, and accountability; Agreely does not become a new store of your personal information.
Agreely turns a yes-or-no consent question into a signed, anchored proof anyone can check later. The synchronous check stays off-chain; the chain only ever carries the proof.
Define the (category, purpose) cells your product needs consent for.
Ask the citizen for exactly those cells with a request your company key signs.
The citizen consents on their own device, producing a signed receipt.
The commitment is anchored so any alteration to the record becomes detectable.
Wrap any data use in a single check(). It resolves one (customer, category, purpose) to a synchronous allow or deny, reading a single indexed record. First-party SDKs for TypeScript and PHP, plus a CLI.
import { Agreely } from "@agreely/sdk";
const agreely = new Agreely({ apiKey: process.env.AGREELY_API_KEY! });
// One call. Fail-closed by default.
const ok = await agreely.check("cust_8812", "Phone number", "Billing");
use Agreely\Client;
$agreely = new Client(getenv('AGREELY_API_KEY'));
// One call. Fail-closed by default.
$ok = $agreely->check('cust_8812', 'Phone number', 'Billing');
export AGREELY_API_KEY=agr_live_xxx # the only setup an agent needs
agreely check cust_8812 "Phone number" "Billing" --json
# -> {"decision":"allow","status":"active"} exit 0
curl -s https://api.agreely.ca/v1/check \
-H "Authorization: Bearer $AGREELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"customerId":"cust_8812","category":"Phone number","purpose":"Billing"}'
If Agreely cannot be reached, the answer is deny. A revoked, expired, erased, or never-granted cell is always false.
One env var and --json gives pure JSON on stdout with stable exit codes that separate an outage from a denial.
One synchronous read of a single indexed cell. Fail-closed with stable exit codes.
Show, don't ask to be trusted. Law 25 modernized two acts: P-39.1 (private sector) and A-2.1 (public bodies). Agreely is designed around both CAI regimes, article by article. Per-purpose consent (art. 14/53.1), tamper-evident registers: not a foreign consent tool retrofitted after the fact. Pick your sector: each obligation appears with the article that governs you.
Act respecting the protection of personal information in the private sector (CQLR, c. P-39.1) Act respecting access to documents held by public bodies and the protection of personal information (CQLR, c. A-2.1)
Citations verified against the official texts of the two acts modernized by Law 25: the Act respecting the protection of personal information in the private sector (P-39.1) and the Act respecting access to documents held by public bodies and the protection of personal information (A-2.1). The two acts sometimes reuse the same article numbers for different obligations; the mapping shown here is built obligation by obligation, never by substituting numbers, and obligations with no direct equivalent in the other act are marked as such. For information only, not legal advice.
OneTrust, Transcend, Didomi, Osano, Ethyca: strong GDPR-first suites. None is built on Quebec's two statutes, and none hands over proof a third party can verify without trusting the vendor.
| Criterion | Agreely | The GDPR-first suites OneTrust · Transcend · Didomi · Osano · Ethyca |
|---|---|---|
| Independently verifiable proof | Yes · Anchored on Base, public verifier | No · Private audit logs, verifiable only with the vendor |
| Both Quebec regimes, private and public | Yes · P-39.1 and A-2.1, by sector | No · GDPR first, Law 25 as a simple mapping |
| Article-by-article depth | Yes · Every capability cites its article | Partial · Templates and add-on modules |
| French first | Yes · Quebec French by design | Partial · Translated interface, admin defaults to English |
| Data residency | Yes · Hosted in Canada | Partial · US or European cloud by default |
A general characterization of the GDPR-first suites (OneTrust, Transcend, Didomi, Osano, Ethyca), based on their usual public characteristics, to the best of our knowledge and as of August 2026. Every product evolves: always check up-to-date spec sheets. And a reminder: our proof covers the integrity of recorded decisions, never your compliance itself.
Four tiers in Canadian dollars, billed annually. Every plan covers the Law 25 core: on-chain anchoring, verifiable receipts and your data hosted in Canada. You move up by active records and seats, never by traffic. The cookie banner is a capability of the same platform, billed separately.
For high volumes and contractual requirements. Dedicated stack and a negotiable SLA.
The cost of a monthly subscription, against sanctions that can reach $25 M or 4% of worldwide turnover.
Born in Quebec for Law 25: it holds non-essential trackers until the visitor makes a choice, and every decision becomes verifiable proof. Free from day one.
No card required to start.
Agreely's citizen app hands you every consent as a signed receipt, kept on your own device. See what you agreed to, withdraw it whenever you want, and check that a receipt is genuine yourself. No passwords.
Every consent becomes a cryptographic receipt kept on your device. The app installs to your home screen like any app.
Withdraw a consent with your passkey (Face ID or Touch ID). The withdrawal is honored from the very next check.
Confirm a receipt is authentic and untampered, without having to trust Agreely or anyone else.
Your identity is a passkey tied to an opaque identifier. Nothing in Agreely allows correlating you from one company to another.
The citizen app lives at my.agreely.ca and installs to your home screen like an app (PWA).
Every grant produces artifacts an auditor can recompute and check on their own. The cryptography, not the company, is what makes the record stand up.
Proof you can check, not proof you have to take on trust.
commitment = keccak256( JCS(claim) || salt )
The bound claim and the revealed salt are enough to redo the hash and compare it.
The bound claim and the revealed salt are enough to redo the event hash and compare it.
0xd0ae…33e60xaf25…5473pendingrow hash, then fold up to the root
row hash, then fold along 9 siblings
The row hash recomputes, then folds along the inclusion path up to the epoch root.
The event row hash recomputes, then folds along the inclusion path (9 siblings) up to the epoch root.
0x0084…359a0x5b0c…fbfapendingEd25519 · did:web:agreely.ca:c:agreely-demo
Ed25519 · did:web:agreely.ca:c:showcase-assurance-boreale
The company's registered public key verifies the signature placed over the epoch root.
The company's registered DID key, hosted by Agreely, verifies the signature placed over the epoch root. This is defense in depth, signed with the registered DID key, not non-repudiation.
0x3b61…e4f40x431c…5377pendingBase · 2026-08-10 14:10 UTC
Base · 2026-08-03 04:05 UTC
The epoch root is anchored on the public Base chain. The transaction can be checked without asking our permission.
0x1e3a…42d6
0xbdce…bff5
Base · 8453Valid. Verifiable without trusting us.
The math was redone right here, in your browser, from the artifacts alone. This receipt would still verify even if Agreely disappeared.
This demonstrates the integrity of the record, recorded and unaltered. It is never proof of compliance.
This demonstrates the integrity and traceability of the access event, recorded and unaltered in the tenant's log. It is never proof of compliance.
Integrity confirmed. The signature still needs checking.
The math was redone right here, in your browser, from the artifacts alone. This receipt would still verify even if Agreely disappeared.
This demonstrates the integrity of the record, recorded and unaltered. It is never proof of compliance.
This demonstrates the integrity and traceability of the access event, recorded and unaltered in the tenant's log. It is never proof of compliance.
Your browser does not verify Ed25519 signatures: check the signature on the full verifier.
Mismatch found: this receipt does not verify.
This is exactly what verification would reveal if the record had been altered after the fact.
The receipt could not be loaded here. Verify it directly on the full verifier:
Consent roots, revocations, and identity commitments are anchored so the record cannot be quietly rewritten. The chain is proof, never the read path; the check never touches it.
Each grant is a signed receipt built from published standards. Anyone with the artifacts can recompute and verify it offline, without trusting Agreely.
Law 25's erasure duty (art. 23) is a real destruction, not a promise. Erasing a cell destroys the secret that makes its claim readable, while the surviving cells still verify.
The citizen identity is opaque and tenant-less, and never carries a company's customer reference. Agreely cannot re-identify a person across the companies they consent to.
Mint a read-only consultation link, time-boxed and revocable at any time. Your auditor opens it without an account and walks the whole accountability dossier: the article-by-article coverage index, then each of the registers.
Law 25 · s. 3.1 · Accountability
The dossier evidences what the enterprise declared in Agreely and the anchored proofs attached to it. Agreely documents the accountability set out in section 3.1; it does not certify and does not guarantee compliance.
One link is enough. The auditor opens it in a browser and reads the dossier immediately, no signup, no password.
You choose when the link expires and you can revoke it at any moment; access ends right away.
The coverage index lines up article, obligation, status and evidence, then opens onto the dossier's twenty or so registers: officer, catalog, retention, security, incidents, rights, access log, cookies, transfers and more.
Data subjects appear only as opaque reference codes, such as POL-2026-0027, never by name or email. Only governance contacts, including the privacy officer, are shown.
A 30-minute demo, in English or French: your Law 25 context, the platform live, and straight answers to your questions.
Pick a 30-minute video call slot. We look at your context, then walk the platform live: consents, registers, banner and proofs.
30 minutes · video call · EN or FR
A specific question, an RFP, a partnership? Write to us: we reply in English or French, usually within one business day.
Agreely is designed and built in Quebec by Ophelios Studio, an independent studio. You talk directly to the team building the product.
ophelios.comThe questions we hear most about Quebec's Law 25, consent proof, and where Agreely fits.
Law 25 is the common name for Quebec's overhaul of personal-information protection ; in the private sector it amends the P-39.1 act (Act respecting the protection of personal information in the private sector). Phased in between 2022 and 2024, it requires valid consent, stronger rights for the individual concerned, and documented accountability. Any person carrying on an enterprise that collects personal information in Quebec is subject to it.
Yes. Article 14 requires manifest, free and informed consent, given for specific purposes and “asked for each of those purposes”. A single “accept all” box that bundles several uses is non-compliant: consent not asked separately for each purpose is without effect. When the request is made in writing, it must also be presented distinctly from any other information given to the individual concerned.
In practice, it is for the enterprise to demonstrate valid consent: non-compliant consent is without effect (art. 14) and the enterprise is accountable for the information it holds (art. 3.1). Collecting consent is easy, but being able to demonstrate it after the fact is what counts. A checkbox in a database you could have edited proves neither when consent was given, nor for which purpose, nor that it was honored until withdrawal. Consent proof is a verifiable record, bound to the specific purpose (art. 8 and 14), that a regulator or auditor can check on demand.
Article 8 requires that, at collection and in plain and clear terms, you inform the individual concerned of the purposes, the means used, their rights of access and rectification, and their right to withdraw consent. Where applicable, you must also name the third party on whose behalf collection is made, the categories of recipients, and the possibility of a communication outside Quebec. On request, you add the categories of persons with internal access, the retention period, and the contact details of the person in charge of personal-information protection.
The individual concerned can ask for access to their information and a copy (art. 27), ask to rectify inaccurate information (art. 28), and withdraw consent at any time (art. 8, para. 4). Computerized information collected from them must, on request, be released in a structured, commonly used technological format (art. 27, al. 3). The person in charge must answer in writing, with diligence and within 30 days at the latest ; failing that, the request is deemed refused (art. 32).
Yes. Article 3.1 places personal-information protection in the hands of a person in charge ; by default this is the person with the highest authority in the enterprise, who may delegate the function in writing. That person's title and contact details must be published, notably on the enterprise's website. The named person answers access requests and carries accountability, article in hand (the statutory term is “responsable de la protection des renseignements personnels”, not “DPO”).
Once the purposes of collection are accomplished, article 23 requires the enterprise to destroy the personal information or anonymize it according to best practices, subject to any retention period set by law. In Quebec, “anonymized” sets a strict bar: the process must be irreversible, which is distinct from mere de-identification. Cessation of dissemination and de-indexing (art. 28.1) cover what the public often calls the “right to be forgotten”, but that is not the statutory term.
Agreely is the proof and accountability layer: it asks consent for each purpose, produces a signed, verifiable receipt, and honors withdrawal and erasure on the very next check. Your information stays with you ; Agreely does not become a new store of your personal information, it helps document and demonstrate consent on demand and keeps a tamper-evident access log. Agreely does not on its own guarantee your compliance: it tools specific obligations (art. 8, 14, 23, 27, 3.1), while your policies, deadlines, and internal practices remain yours and your legal counsel's.
No, and be wary of anyone who promises that. Compliance depends on your purposes, your practices and your documentation. Agreely helps you document and demonstrate your compliance: the cookie inventory, the decision log, the integrity proofs. The responsibility itself remains yours, and the Commission d'accès à l'information (CAI) is the body that oversees Law 25 in Quebec.
No personal information. The chain only receives opaque digital fingerprints (32-byte digests) and the company's public references, like a wax seal. They prove the recorded decisions were not changed after the fact; they cannot be traced back to your visitors.
This site deposits zero non-essential cookies before your consent: there is nothing to consent to, and no banner is required. A consent banner is needed when a site deposits non-essential cookies or trackers on your device without your prior choice. Audience on this site is measured by a self-hosted tool that sets no cookie, stores nothing on your device and builds no advertising profile, and it never follows you from one site to another; it is described in our privacy policy, where you can also turn it off. If you want to see what your own site deposits before consent, our scan tool is available on this page (jump to the #scan section).
For information only, not legal advice.
Start with the one-call mental model, then read the protocol that makes every grant verifiable, revocable, and anchored.
View the protocol