Privacy center for visitors
Visitors can see and control what is captured about them – in your name as the controller, not in X3's. Switch it on in Einstellungen › Datenschutz & Erfassung › Privacy-Center (on by default) and enter the controller's name and contact; both appear in the panel and on the page.
The panel on your site
Add a link such as „Datenschutz-Einstellungen“ to your footer that opens the panel:
<a href="#" onclick="x3('privacy'); return false;">Datenschutz-Einstellungen</a>With the npm package call x3.privacy(). The panel loads on demand (x3.privacy.js, a few KB) and
offers:
| Button | Effect |
|---|---|
| Nicht mehr erfassen | Sets both purposes to denied on this device; capturing stops at once (and, with „Bei Ablehnung schon Erfasstes löschen“, the current visit is deleted). |
| Meine Daten löschen | Deletes every visit this device can prove as its own: recordings, clips, heat facts, summaries. The answer says how many visits were deleted; the request is logged without personal data. |
| Daten anzeigen | Downloads a JSON file with pages, events, click counts and recordings of these visits. |
The panel is a dialog with focus on the first button, closes with Escape, follows the page language (German or English) and is excluded from recordings.
The device proof
A visit id alone never shows or deletes anything – otherwise anyone who learns an id could erase
someone else's data. The SDK keeps a random device secret in memory and, after consent, in local
storage (x3_psec); the server stores only its SHA-256 hash with the visit. Erase and export send
the secret, and only visits with a matching hash are touched. Visits of other devices, or older
than the secret, can only be found by the controller – the page tells the visitor whom to contact.
Requests are rate-limited to 10 per minute per network.
The public privacy page
https://<api>/v1/privacy/<publishable key> (with ?lang=en for English) is a plain page you can
link from your privacy policy. It shows the controller, the same generated text as
Privacy and capture scope for the current settings, and how to
stop capturing, delete or export. It sets no cookies, loads nothing from other hosts and is not
indexed.
Opt-out link and GPC
?x3_notrack=1on any page of your site switches capturing off for that browser permanently (?x3_notrack=0undoes it). Use it for yourself and your team; the dashboard's „Mich ausschließen“ link does the same.- Global Privacy Control (
navigator.globalPrivacyControl) is honoured as a rejection.
For your banner
When a visitor rejects or withdraws in your banner, report it with x3("consent", "denied") or per
purpose with x3("consent", { analytics: false, recordings: false }) – see
Consent banners. A rejection stops recording immediately. A
withdrawal of the recording purpose also deletes recordings: by default every recording the device
can prove as its own (recordings.deleteOnWithdraw: "all_known"), or only the current visit's
("session").