The product

A consent flow your users believe, and your legal team can defend.

Tacit sits between your visitors and your trackers. It asks clearly, records honestly, and gives every script one place to check before it runs.

How it works

From first visit to full audit trail.

STEP 01

Ask, once and clearly

The banner loads first, blocking non-essential scripts until the visitor chooses. Plain language, real toggles, no dark patterns, no pre-ticked boxes.

STEP 02

Record it immutably

Each choice becomes a signed ledger entry: subject, scope, policy version, region, and timestamp. Append-only, so history can't be quietly rewritten.

STEP 03

Enforce everywhere

Your tags call tacit.has('analytics') before firing. The answer follows the user across pages, sessions, and devices.

STEP 04

Prove on demand

Export the ledger as CSV or JSON, or pull it through the API. When an auditor asks who consented to what, you answer in seconds.

Built for real teams

The details that matter in practice.

Geo-aware rules

Show GDPR opt-in in the EU, CCPA "Do Not Sell" in California, and a lighter notice elsewhere — from one config.

Policy versioning

Change your cookie policy and Tacit re-asks only the users it needs to, tagging each record with the version they saw.

Your brand, not ours

Theme the banner with your colors, fonts, and copy. No "powered by" badge unless you want one.

Fast by default

The script is under 12kb gzipped and loads async. Consent shouldn't cost you a slow first paint.

Framework friendly

Works with plain HTML, React, Vue, and tag managers like GTM. One snippet, or an npm package.

Data you control

Export or delete records any time. Choose EU or US data residency on the Scale plan.

See it running on your own site in ten minutes.

Grab a key, paste one script tag, and watch the first consent record land.

Get your consent key