Comply · Cookie consent

Cookie consent you can prove, not just collect

A banner that asks the way privacy regulators expect, and a record of every answer. Macaw stores each decision on its servers with the exact wording the visitor saw, so you can show what was agreed and when.

Get started · See pricing

macaw.triggerCookie(currentUser.id);

macaw.on('consent.updated', (e) => {
  if (e.data.choices.analytics) loadAnalytics();
});

What you get

  • A banner that does it properly

    One toggle per category you define. Essential categories stay locked on; everything else starts off. Reject all is exactly as easy as Accept all.

  • Every decision stored

    Each Reject all, Save choices or Accept all is written to Macaw's servers with the choice for every category shown.

  • Tamper-evident log

    Records are hash-chained per space, so any altered or removed entry breaks verification.

  • The exact wording, kept

    Publishing banner changes creates a new notice version; every record points to the version the visitor saw.

  • Search and export

    Find one visitor's full history in the dashboard, or export decisions as CSV for an audit.

  • Erasure and retention

    Erase a person's records on request, and have records older than your retention period removed automatically.

How teams use it

  • Audits and customer questionnaires

    Answer "can you show this visitor's consent?" with a record, not a screenshot.

  • Analytics and marketing tags

    Load trackers only for visitors who opted in, straight from the consent event.

  • Replace a consent vendor

    Consent comes in the same SDK as your onboarding, billed at $5 per 10,000 consents a month.

All in the same SDK