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:

ButtonEffect
Nicht mehr erfassenSets 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öschenDeletes 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 anzeigenDownloads 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.

  • ?x3_notrack=1 on any page of your site switches capturing off for that browser permanently (?x3_notrack=0 undoes 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").