Naar de inhoud springen
Privatus Analytics

Privacy

Hoe cookieloze analytics meet zonder mensen te volgen

Elke privacyclaim die we doen heeft een technische onderbouwing. Deze pagina beschrijft precies wat er met een paginaweergave gebeurt, wat we opslaan, wat we nooit opslaan, en hoe je dat zelf kunt nagaan.

Geloof ons niet op ons woord

Deze tools worden beheerd door andere organisaties. Elke link scant deze website opnieuw, zodat je het resultaat van vandaag ziet en geen screenshot die wij hebben uitgekozen.

De weg van de gegevens

Elk verzoek van een bezoeker, ook verzoeken uit de EU, EER, het VK en Zwitserland, wordt verwerkt in onze Amerikaanse regio. Het IP-adres en de user agent worden in het geheugen gebruikt terwijl het verzoek wordt afgehandeld, en weggegooid voordat de geminimaliseerde gebeurtenis wordt opgeslagen.

  1. Stap 1 · Overal
    Browser van de bezoeker
    • Pagina-URL en verwijzer
    • UTM-parameters
    • Schermbreedte en taal
    • Je eigen eigenschappen van gebeurtenissen
    • Geen cookies en geen lokale opslag, behalve de eigen opt-outkeuze van een bezoeker
    • Geen fingerprinting-API's
    • Geen verzoeken naar derden
  2. Stap 2 · Verenigde Staten
    Ingest, in het geheugen
    • Land uit de Cloudflare-header
    • User agent → browser, besturingssysteem, apparaat
    • Botcontroles en je verkeersregels
    • Bezoeksleutel in het geheugen
    • IP-adres weggegooid na het verzoek
    • Volledige user agent weggegooid na het verzoek
    • Persoonsgegevens weggefilterd, querystrings ingekort
  3. Stap 3 · In de wachtrij in de Amerikaanse regio
    Geminimaliseerde gebeurtenis
    • Alleen de geminimaliseerde gebeurtenis
    • Geen IP-adres
    • Geen ruwe user agent
    • Geen bezoeksleutel of salt
  4. Stap 4 · Verenigde Staten
    Opslag en dashboard
    • Pagina's, bronnen, campagnes
    • Land en apparaatcategorieën
    • Willekeurige bezoek-ID (hooguit één dag)
    • Eigenschappen van gebeurtenissen
    • Niets dat een persoon identificeert
    • Niets dat dagen, sites of apparaten aan elkaar koppelt

Wat we verzamelen, en wat we nooit verzamelen

Verzameld (na minimalisatie)

  • Pagina. Hostnaam en pad. Querystrings worden verwijderd, behalve campagneparameters en je allowlist. Het fragment wordt verwijderd, tenzij je hash-routing gebruikt.
  • Verwijzer. Domein en pad van de verwijzende pagina. Query verwijderd, interne verwijzers leeggemaakt.
  • Campagne. UTM-parameters en ref. Klik-ID's van advertenties (gclid, msclkid, fbclid) worden teruggebracht tot een ja/nee-vlag.
  • Locatie. Alleen het land, uit de landheader die onze netwerkprovider (Cloudflare) aan elk verzoek toevoegt. Geen regio, stad of coördinaten.
  • Technologie. Browser, besturingssysteem (familie en hoofdversie), apparaattype, bereik van schermgrootte, taal.
  • Betrokkenheid. Zichtbare tijd op de pagina en scrolldiepte in stappen van 10%.
  • Tijdzone. De naam van de tijdzone van de browser, zoals America/Denver. Een browser op een server staat zelden ingesteld op de tijdzone van het land waar het verzoek vandaan komt, dus vergelijken we de twee om bots van mensen te onderscheiden. Dat gebeurt in het geheugen, daarna wordt de tijdzone weggegooid. Ze wordt nooit als locatie gebruikt en nooit bij een bezoek of gebeurtenis opgeslagen. Ze wordt alleen 12 maanden bewaard in de bottrainingsgegevens van Advanced Bot Detection (honeypothits en steekproeven van onze eigen sites).
  • Gebeurtenissen. Namen en maximaal 30 getypeerde eigenschappen die je zelf meestuurt, na het wegfilteren van persoonsgegevens.

Nooit verzameld of opgeslagen

  • IP-adressen. In het geheugen gebruikt voor botcontroles en de dagelijkse bezoeksleutel, daarna weggegooid. Nooit weggeschreven naar schijf, logs, wachtrijen of databases, ook niet voor bots.
  • Volledige user agents. In het geheugen omgezet in categorieën, daarna weggegooid.
  • Cookies en opslag op het apparaat. Geen cookies, localStorage, sessionStorage of IndexedDB (behalve de eigen opt-outkeuze van een bezoeker).
  • Fingerprints. Geen canvas-, WebGL-, lettertype-, audio- of batterij-API's, en geen extra client hints.
  • Blijvende identificatoren. Niets dat langer dan één dag bestaat of sites of apparaten aan elkaar koppelt. Geen gebruikersprofielen.
  • Exacte locatie. Geen coördinaten.
  • Verzoeken naar derden. De tracker praat alleen met Privatus Analytics.

PII-scrubber. Voordat er iets wordt opgeslagen, worden paden, verwijzers, titels en eigenschappen van gebeurtenissen gecontroleerd op e-mailadressen, lange identificatoren, tokenachtige tekenreeksen en lange cijferreeksen zoals telefoon- of kaartnummers. Treffers worden vervangen door plaatshouders zoals [redacted-email], en elke site ziet hoeveel er is weggelakt, zodat lekken bij de bron kunnen worden opgelost.

Hoe bezoeken worden geteld

  1. Elke UTC-dag genereren we een willekeurige salt van 256 bits. Die bestaat alleen in het geheugen en wordt aan het einde van de dag vernietigd, plus een marge van 30 minuten.
  2. Voor elke hit berekenen we in het geheugen HMAC(daily salt, site, IP, user agent) en zoeken we die op in een opslag die alleen in het geheugen bestaat, met een time-out van 30 minuten inactiviteit en uiterlijk tot middernacht UTC.
  3. Een nieuw bezoek krijgt een willekeurige bezoek-ID die niet van die sleutel is afgeleid. Alleen de willekeurige ID wordt opgeslagen.
  4. Zodra de salt is vernietigd, kan niets opgeslagen bezoeken nog aan een apparaat of over dagen heen aan elkaar koppelen.

Dit zijn gepseudonimiseerde gegevens: sterk geminimaliseerd en niet langer dan één dag te koppelen. We noemen ze niet anoniem.

Elk veld dat we opslaan

Voor het toevoegen van een opgeslagen veld is een schriftelijke beoordeling nodig van het doel, de minimalisatie en de bewaartermijn. Dit is de huidige lijst.

VeldDoelMinimalisatieBewaartermijn
Hostnaam, padPagina'sQuery verwijderd behalve allowlist, persoonsgegevens weggefilterd, padmaskersAbonnement
Host en pad van verwijzerBronnenwww. en m. verwijderd, query weggelaten, intern leeggemaaktAbonnement
UTM-parameters, ref, betaalde klikCampagnesKlik-ID's teruggebracht tot een ja/nee-vlagAbonnement
LandLocatieUit de landheader van Cloudflare, IP weggegooidAbonnement
Apparaat, browser, besturingssysteem (met hoofdversies), schermbereikTechnologieRuwe user agent weggegooid, scherm in klassen ingedeeldAbonnement
Bezoek-IDBezoekenWillekeurige UUID, hooguit één UTC-dagAbonnement
Eigenschappen van gebeurtenissenGebeurtenissenMaximaal 30 sleutels, getypeerd, persoonsgegevens weggefilterdAbonnement
Naam van de tijdzoneTraining van de botscoreNooit opgeslagen bij een bezoek of gebeurtenis. Alleen bewaard bij een honeypothit of een steekproef van onze eigen sites12 maanden
FiltertellersBots, regels, weglakkingenAlleen aggregaten, geen IP13 maanden
Bezoeksleutel (geheugenopslag)Continuïteit van bezoekenHMAC-sleutel, time-out van 30 minutenHooguit één dag
Dagelijkse salt (geheugenopslag)BezoeksleutelNooit permanent opgeslagen1 dag + 30 minuten

Bewaartermijn "Abonnement": 3 maanden bij Free, onbeperkt zolang je abonnee bent bij betaalde abonnementen, met afwijkende instellingen per site.

Controleer het zelf

  1. Open de ontwikkelaarstools van deze pagina en ga naar het tabblad Application (of Storage). Je vindt geen cookies en niets in de lokale opslag van de tracker. Het enige wat de tracker ooit opslaat is de eigen opt-outkeuze van een bezoeker. Deze site bewaart daar ook je lichte of donkere thema als je dat wijzigt.
  2. Ga naar het tabblad Network, filter op /api/event en laad opnieuw. Je ziet één klein verzoek per paginaweergave.
  3. Open de payload van het verzoek. Die bevat alleen de velden die hieronder staan: geen identificatoren, geen fingerprint.
  4. Voeg data-debug="true" toe aan de scripttag op je eigen site en kijk in de Console. Elke hit wordt gelogd met het voorvoegsel [privatus], precies zoals hij zou worden verstuurd, en er verlaat niets de browser. Een hit die wordt overgeslagen logt de reden, en het werkt op localhost. Zie Testen zonder iets te versturen.
  5. Lees de broncode van de tracker. Die heeft een MIT-licentie en is kort genoeg om in één keer door te lezen. Zie open source.

Probeer ook de cookie- en trackerscanner op je eigen site.

Wat een verzoek bevat

Deze voorbeelden tonen elk veld dat in elk soort hit kan voorkomen. De meeste hits bevatten er veel minder. De tabel hieronder zegt wanneer elk veld wordt verstuurd.

Een paginaweergave
{
  "s": "pa_7Q2K9XH3AB",
  "t": "pageview",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 0,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "xp": "var_4M8T2KQ9ZD",
  "p": { "plan": "pro" }
}
Een betrokkenheidshit
{
  "s": "pa_7Q2K9XH3AB",
  "t": "engagement",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 1,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "e": 48210,
  "sd": 80
}
Een aangepaste gebeurtenis
{
  "s": "pa_7Q2K9XH3AB",
  "t": "event",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 1,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "n": "signup",
  "p": { "plan": "pro" }
}
VeldBetekenisWanneer het wordt verstuurdWat er aan onze kant mee gebeurt
sSite-IDElke hitWordt gebruikt om de site te vinden. Opgeslagen als de site waartoe de gebeurtenis behoort.
tType hit: pageview, engagement of event. De optionele modules Web Vitals en klikkaart voegen vital en click toe.Elke hitOpgeslagen als het soort gebeurtenis.
uPagina-URL, waarbij queryparameters die niet bij een campagne horen al in de browser zijn verwijderdElke hitHostnaam en pad worden opgeslagen na de padmaskers en de PII-scrubber. Campagneparameters worden opgeslagen, klik-ID's van advertenties worden een ja/nee-vlag en de rest van de query wordt weggegooid.
lTaal van de browserElke hitOpgeslagen, afgekapt op 16 tekens.
wSchermbreedte in pixelsElke hitAlleen opgeslagen als groottebereik. In het geheugen gelezen voor de botscore. De exacte breedte wordt weggegooid.
i1 na de eerste echte invoer op de pagina (aanwijzer, toets, aanraking of scrollwiel), anders 0Elke hitOpgeslagen als ja of nee bij het bezoek. Over de invoer zelf wordt niets verstuurd.
rVerwijzerAlleen als er een isHost en pad worden opgeslagen na de PII-scrubber. De query wordt weggegooid en een verwijzer van je eigen site wordt leeggemaakt.
h1 wanneer hash-routing wordt gebruiktAlleen wanneer het fragment deel uitmaakt van het paginaadresIn het geheugen gebruikt om het fragment als deel van het pad te bewaren. Niet opgeslagen.
d1 wanneer de browser Do Not Track verstuurtAlleen wanneer het aan staatAls de site Do Not Track honoreert (standaard uit), wordt de hit weggegooid en wordt niets opgeslagen. Anders wordt het signaal genegeerd. De vlag wordt nooit opgeslagen.
g1 wanneer de browser Global Privacy Control verstuurtAlleen wanneer het aan staatAls de site Global Privacy Control honoreert (standaard aan), wordt de hit weggegooid en wordt niets opgeslagen. Anders wordt het signaal genegeerd. De vlag wordt nooit opgeslagen.
hp1 op een pagina die de site-eigenaar als honeypot heeft gemarkeerd, 0 op een pagina die is gemarkeerd als alleen door mensen bereikbaarAlleen op pagina's die zijn gemarkeerd voor Advanced Bot DetectionEen hit met 1 wordt nooit een bezoek of gebeurtenis. Hij wordt als bot geteld en, bij abonnementen met Advanced Bot Detection, bewaard als honeypothit. Een hit met 0 wordt zoals gewoonlijk geteld en alleen onze eigen sites bewaren een kopie als trainingsvoorbeeld.
ch1 op een pagina "bevestig dat je een mens bent" die een site aan een paar willekeurige bezoekers toont, mensen en bots allebeiAlleen op pagina's die zijn gemarkeerd met data-hp="ch"Een hit met 1 wordt nooit een bezoek of gebeurtenis en wordt niet als bot geteld. Bij abonnementen met Advanced Bot Detection wordt hij bewaard naast de honeypothits, gemarkeerd als uitdaging.
aNaam van de automatisering: webdriver, phantom, nightmare of cypressAlleen op een honeypot- of uitdagingspagina, wanneer een geautomatiseerde browser wordt gedetecteerdBewaard bij de honeypothit. Overal elders genegeerd.
tzNaam van de tijdzone, zoals America/DenverElke hit, wanneer de browser er een doorgeeftIn het geheugen vergeleken met het land van het verzoek voor de botscore en daarna weggegooid. Nooit opgeslagen bij een bezoek of gebeurtenis en nooit gebruikt als locatie. Alleen bewaard bij een honeypothit of een trainingsvoorbeeld.
xpVoorbeeldwaarde van het experiment, uit pa_preview in het adresAlleen paginaweergaven, wanneer het adres pa_preview bevatIn het geheugen gebruikt om de voorbeeldversie te tonen. De paginaweergave telt niet mee voor het experiment. Niet opgeslagen.
pAangepaste eigenschappenPaginaweergaven en aangepaste gebeurtenissenMaximaal 30 worden opgeslagen na de PII-scrubber. Omzet en valuta worden als eigen velden opgeslagen.
eZichtbare tijd op de pagina, in millisecondenBetrokkenheidshitsOpgeslagen, begrensd op 4 uur.
sdScrolldiepte, in procentenBetrokkenheidshitsOpgeslagen in banden van 10%.
nNaam van de gebeurtenisAangepaste gebeurtenissenOpgeslagen, afgekapt op 120 tekens.
vWaarde van de Web VitalVital-hits (Web Vitals-module)Opgeslagen met de naam van de vital, voor een steekproef van hits.
cKorte CSS-selector van het aangeklikte element, of de naam die de site eraan gafKlikhits (klikkaartmodule)Opgeslagen, afgekapt op 512 tekens. Geen coördinaten of tekst.

De optionele enquêtemodule verstuurt eigen kleine verzoeken. Ze staan met de volledige referentie in de documentatie. Wat een honeypothit bewaart, wordt beschreven in Advanced Bot Detection.

Waar je gegevens staan

Opslag en verwerking in de VS, en waarborgen voor doorgifte.

Compliance-overzicht

AVG, ePrivacy, wetten van Amerikaanse staten en meer.

Verwerkersovereenkomst

Opgenomen in onze voorwaarden.

Begin te meten zonder cookies

Geen cookies, geen fingerprinting en geen toestemmingsbanner nodig voor het meten.

Je eerste werkruimte begint met 14 dagen Pro, gratis. Daarna gaat die over op het gratis abonnement, met 10k gebeurtenissen per maand, 3 sites en 3 maanden geschiedenis. Geen creditcard nodig.