TEKKNAConsent

Consent management · GDPR · TDDDG

Nothing loads until they say yes.

TEKKNA Consent is the cookie banner, blocker and scanner we run on our own sites. One synchronous script, served from Cloudflare's edge, that holds every third-party tag back until the visitor decides — and keeps a record they can quote.

Put it on your site

Three parts, one script

The banner asks. The blocker waits. The scanner checks.

Each part does one job, and each is the one we wished our old consent tool had done properly.

Banner

Two layers, equal buttons.

Accept, reject and settings side by side, same size, same weight — the configuration format refuses a banner that demotes "Reject". The second layer lists every service with vendor, purpose, duration and third-country transfer before anyone agrees to anything. German and English ship in the box; any language is a config away.

Blocker

Scripts, iframes and pixels wait.

Anything a page inserts from script — tag managers, pixels, embeds — is intercepted and held. Anything written directly into the HTML can be marked up once and never fetched at all. Blocked embeds show a click-to-load box instead of a hole, and a "load once" that stores nothing.

<!-- held until "functional" is allowed -->
<iframe data-cmp-src="https://www.google.com/maps/embed?…"
        data-cmp-service="google-maps"></iframe>
Scanner · in development

Every site, every day, twice.

A crawler visits each page as a visitor who said nothing, then as one who said yes. Cookies, storage and third-party requests are recorded for both passes and matched against a vendor knowledge base. Anything set before consent is a finding you will hear about the same morning.

www.example.de · 25 pages · 02:10 UTC ⚠ _fbp set before consent · connect.facebook.net 1 new host: cdn.segment.com · unclassified 0 changes to 14 known services

How it works

One line in the head. Everything else at the edge.

The script is synchronous and comes first, so it runs before anything it needs to stop. Your site's configuration is compiled into it at the edge — one cached request, under 10 kB — and the banner's second layer loads only when someone opens it.

<head>
  <meta charset="utf-8">
  <script src="https://cmp.tekkna.dev/s/‹your-site›.js"></script>
  … your own tags, exactly as before …
</head>

Google tags get gtag('consent','default') before they load and an update the moment a decision is made — Consent Mode v2, with the German default of not loading Google at all until then.

What we keep when someone decides

Stored

  • Consent id and time
  • Each choice, per category and service
  • Which version of your banner they saw
  • Language, page host, country
  • Browser family (e.g. "Safari 18")
  • IP address, cut to the network (/24)

Not stored

  • Full IP address
  • Full user agent
  • Page path or query
  • Names, e-mails, ids of any kind
  • Cookie values
  • Anything at all before a decision

Records live in an EU-region database for the limitation period (four years by default, yours to set). Any visitor can quote their consent id from the settings layer; you can look it up.

Compliance

The rules are in the code, not on a checklist.

What the Datenschutzkonferenz and the EDPB ask for is enforced by the configuration format. A banner that breaks a rule cannot be published.

Switching

Leaving consentmanager, Cookiebot or Usercentrics.

The order matters — the scan runs while your old banner is still up, so nothing is guessed.

  1. ExportVendor list and banner texts from the old tool. Old consent records stay with the old provider; they are not portable.
  2. ScanWe crawl your site through the old banner, with and without consent, and list what really loads.
  3. ConfirmYou approve each service, purpose and category. Unknown cookies come with a drafted classification to accept or correct.
  4. SwapReplace one script tag. Every visitor consents once more — the clean, defensible way to change controller tooling.
  5. VerifyThe first daily scan must show zero pre-consent findings before the old contract is cancelled.

Questions we get

Short answers.

Does it support the IAB TCF?

Not yet. TCF matters if you sell programmatic advertising through AdSense, Prebid or similar. For everyone else it adds 100 kB of vendor list and a dozen purposes nobody reads. If you need it, tell us — it is on the list, gated on demand.

What about Google Consent Mode?

Built in, version 2, with all seven signals. The default is "basic" mode: Google tags do not load at all until a decision, which is what German supervisory authorities expect. "Advanced" mode (cookieless pings before consent) is available and labelled as the trade-off it is.

Safari forgets my consent after a week?

Safari caps anything set from script at seven days without interaction. Every consent tool has this limit; the banner simply asks again. A server-set cookie bridge for the client's own origin is planned for sites where this matters.

Where does the data live?

Consent records in a Cloudflare D1 database pinned to Western Europe; configuration in Cloudflare KV; the script on Cloudflare's edge. Nothing is stored before a decision, and no full IP is stored ever.

Can I keep my tag manager?

Yes. The blocker holds the container until a decision if you want the strict mode, or lets it load with Consent Mode denied signals if you prefer. Either way the tags inside get tekkna_consent_* events they can trigger on.

What does it cost?

For TEKKNA clients it is part of the engagement. For everyone else we quote per site; there is no per-pageview meter and no plan tiers to grow out of.

Talk to us

Send us the URL. We'll send back what loads.

A first scan of your site with and without consent, and what switching would involve. No form, no funnel.

Where we are