Pandus SDK documentation
Consent
Nothing is collected before consent. Use the Pandus banner, let the SDK read Cookiebot, CookieYes, Complianz or Google Consent Mode, or pass the choice yourself.
Updated:
Nothing before the visitor agrees
In the EU, the EEA, the UK and countries the SDK cannot place, the SDK sends no request to the ingest service, sets no cookie and writes nothing to storage until the visitor agrees. The loader only shows the banner or waits for your consent tool. Our automated tests check this on every release.
There are two categories:
| Category | What it allows |
|---|---|
| Analytics and accessibility barriers | Barrier signals, live axe, analytics events, heatmap data, the _pandus_id cookie |
| Session recordings | Masked recordings of the session (asked separately) |
The Global Privacy Control signal (navigator.globalPrivacyControl) counts as “no”. In the US, recordings start only after an explicit opt-in.
Where the choice comes from
Set the source in SDK → Consent.
Your consent tool (automatic). If the site runs one of these tools, the SDK reads its answer, follows later changes and shows no banner of its own:
- Cookiebot
- CookieYes
- Complianz
- Google Consent Mode v2 (
analytics_storage)
The Pandus banner. If there is no tool, the SDK shows its own accessible banner: “Accept all” and “Reject all” with equal weight on the first layer, settings per category, seven languages, focus management, Esc and a visible focus. You can change the layout, position, sizes, colours for light and dark themes, fonts, buttons, animation, texts per language and add your own CSS. Contrast, the equal weight of the buttons, an accessible way to change the choice and a visible focus cannot be switched off.
Your own code. Set the source to “API” and pass the choice yourself; the SDK then shows no banner and no reopen button:
window.pandus = window.pandus || function () { (pandus.q = pandus.q || []).push(arguments); };
pandus('consent', { analytics: true, recordings: false });
Calls made before the script loads wait in the queue. To withdraw consent, pass { analytics: false, recordings: false }: the SDK stops at once, removes its cookie and session storage and forgets the ids.
Changing the choice later
With the Pandus banner, a small button lets visitors change their choice at any time. Any link on your site can open the banner too:
<a href="#" data-pandus-consent>Cookie settings</a>
From code: pandus('consent', 'open').
Asking again
After you change what the SDK collects, raise the consent version with Ask visitors again in SDK → Consent. Every stored choice of an older version is asked anew.
Proof of consent
For each choice the SDK keeps a pseudonymous consent id, the time, the text version and the choice. The IP address is not stored. SDK → Consent also shows the share of visitors who accepted each category.
France
An audience-measurement mode without consent under the CNIL conditions exists for visitors in France. It is off and stays off until a lawyer has confirmed it; it would count one anonymous page view without ids, cookies or storage.
Frequently asked questions
- Can the SDK collect barrier signals without consent?
- No. Reading the page in the visitor's browser is “access” under the ePrivacy rules, so in the EU, the EEA, the UK and unknown countries every module, barrier signals included, waits for consent.
- Does the SDK read the IAB TCF?
- No. Pandus has no vendor ID in the TCF Global Vendor List, so a TCF string is not a valid basis for us. Use one of the supported tools or the consent API.
The Pandus SDK and the scanner are automated checks, not a full audit, and not legal advice. The SDK changes nothing on your site and does not determine which visitors use assistive technology.