Een klant mailt: “Wat doen jullie eigenlijk met mijn zoektermen?” Je opent je privacyverklaring en ziet dat je er nooit iets over hebt geschreven. Geen grondslag, geen bewaartermijn, geen doorgifte naar de VS. En toch heeft Algolia al die tijd gewoon meegelogd.

Dit artikel laat zien wat zoekdiensten standaard vastleggen, wanneer dat persoonsgegevens worden, en hoe je jouw privacyverklaring zo inricht dat die technische realiteit klopt met wat je bezoekers vertelt.

Wat er al in de logs staat voordat je ook maar iets hebt ingesteld

Zodra je Algolia, Elasticsearch of Typesense activeert, begint de dienst met loggen. Standaard en automatisch. Denk aan zoektermen als vrije tekst, IP-adressen van de zoeker, de User-Agent (browsertype en besturingssysteem), tijdstempels per query, sessie-ID’s en, bij Algolia, klikposities als je de standaard JavaScript-client gebruikt.

Elasticsearch logt in zijn basisinstallatie ook slow queries en index-operaties, inclusief de zoektermen die daarin voorkomen. Typesense Cloud slaat per zoekopdracht metadata op zolang je dat niet actief uitzet. De gemeenschappelijke noemer: je hebt niets aan hoeven zetten, maar er wordt al veel bijgehouden.

Wanneer een zoekterm een persoonsgegeven wordt

Hier gaan veel website-eigenaren de mist in. Ze redeneren: “Een zoekterm als ‘rode sneakers maat 42’ is toch geen persoonsgegeven?” Dat klopt, totdat je drie scenario’s overweegt.

Scenario 1: de ingelogde gebruiker. Als iemand ingelogd zoekt op jouw B2B-portaal, koppelt de zoekdienst die term aan een gebruikers-ID. Nu is die zoekvraag herleidbaar tot een persoon en wordt het een persoonsgegeven.

Scenario 2: een herleidbaar zoekveld. Stel je voor dat iemand zijn eigen naam of BSN-nummer intikt in het zoekveld van een gemeentewebsite. Die tekst zit nu letterlijk in de query-logs van je zoekdienst.

Scenario 3: combinatie met andere logs. Zelfs anonieme zoektermen worden problematisch als je ze naast je webserverlogboek legt. IP-adres plus tijdstempel plus zoekterm is in veel gevallen genoeg om iemand te identificeren.

Zodra één van deze drie situaties van toepassing is, is de AVG volledig van toepassing op de verwerking door je zoekdienst.

IP-adressen: waarom ‘we slaan ze niet op’ zelden klopt

Controleer je verwerkersovereenkomst of Data Processing Agreement (DPA) voordat je in je privacyverklaring schrijft dat IP-adressen niet worden opgeslagen. Algolia vermeldt in zijn documentatie dat het volledige IP-adressen verwerkt tenzij je IP-anonimisering expliciet aanzet via de API of de dashboardinstellingen. Elasticsearch op een eigen server slaat standaard niets op, maar de hostinglaag (AWS, Google Cloud) logt wél IP-adressen op netwerkniveau.

Kortom: zelfs als jouw applicatie geen IP-adres doorgeeft, kan de infrastructuur dat doen. Vraag je leverancier expliciet: op welk niveau worden IP-adressen verwerkt, hoe lang bewaard, en wie heeft er toegang toe?

Gedragsdata en Analytics-features: wat is standaard aan?

Dit is het punt waar Algolia zich onderscheidt van een basale zoekindex. Algolia Insights is een aparte module die klikgedrag, conversies en zoekopdrachten koppelt aan gebruikersprofielen voor aanbevelingsalgoritmen. Als je de standaard InstantSearch.js-bibliotheek installeert zonder extra configuratie, worden sommige events automatisch verstuurd naar de Insights API.

Het verschil met basislogging is groot. Basislogging registreert een zoekopdracht. Insights bouwt een profiel op van zoekgedrag over tijd. Wil je Insights niet gebruiken, zet het dan actief uit via insights: false in je initialisatiecode. Schrijf daarna in je privacyverklaring zoekdienst-sectie expliciet welk niveau je gebruikt, want de juridische grondslag en bewaartermijn verschillen wezenlijk.

Bij Elasticsearch geldt hetzelfde voor Elastic Common Schema (ECS) logging en de machine learning-functies. Ze zijn niet standaard actief, maar zodra je ze aanzet, verwerk je meer en gevoeliger data.

Doorgifte buiten de EU in kaart brengen

Algolia heeft zijn hoofdkantoor in de Verenigde Staten. Zelfs als je de EU-regio kiest in het dashboard, kan supportpersoneel in de VS technische toegang hebben tot logs. Dat is een doorgifte in de zin van de AVG, en die moet je benoemen. Algolia biedt Standard Contractual Clauses (SCC’s) aan als onderdeel van de DPA.

Typesense Cloud biedt een Europese hostingoptie en heeft een compacter privacy-model, maar ook hier geldt: controleer waar de supportorganisatie gevestigd is. Self-hosted Typesense of Elasticsearch op een eigen server in de EU heeft dit probleem niet, mits je geen externe monitoring tools aansluit die buiten de EU opereren.

Mijn advies: kies bij twijfel voor een EU-gehoste variant of self-hosting als je met gevoelige gebruikersdata werkt. Het maakt je privacyverklaring eenvoudiger en je risicoprofiel lager.

De verwerkersovereenkomst als startpunt

Voordat je ook maar één zin schrijft voor je privacyverklaring controleer je de DPA van je zoekdienst op vijf punten:

  • Welke categorieën persoonsgegevens worden verwerkt?
  • Wat zijn de standaard bewaartermijnen per datatype?
  • Welke subverwerkers worden ingeschakeld?
  • Op welke juridische grondslag vindt eventuele doorgifte buiten de EU plaats?
  • Welke technische maatregelen zijn standaard actief, en welke moet je zelf instellen?

De antwoorden op deze vragen bepalen wat je moet schrijven, niet andersom.

Anatomie van een correcte privacyverklaring-sectie voor zoekdiensten

Een correcte sectie bevat: de verwerkingsdoeleinden (zoekfunctionaliteit, kwaliteitsverbetering, analyses), de juridische grondslag (in de meeste gevallen gerechtvaardigd belang of uitvoering van overeenkomst), welke gegevens precies worden verwerkt, de bewaartermijn, eventuele doorgifte buiten de EU met de bijbehorende waarborg, en wie de ontvanger is (naam van de dienst).

De volgorde maakt uit voor de leesbaarheid. Begin met het doel, zodat de lezer begrijpt waarom je het doet. Daarna de grondslag, dan de data, dan de termijn, dan de doorgifte. Sluit af met de ontvangersnaam.

Voorbeeldteksten per situatie

B2C-webshop met Algolia Insights actief

“Voor de zoekfunctie en productaanbevelingen op onze website gebruiken wij Algolia (Algolia SAS, Parijs / VS). Algolia verwerkt daarvoor uw zoektermen, IP-adres (geanonimiseerd), sessie-ID en klikgedrag in de zoekresultaten. Deze gegevens worden gebruikt om zoekopdrachten te verbeteren en relevante producten te tonen. De grondslag is ons gerechtvaardigd belang bij het bieden van een functionerende en verbeterde zoekervaring. Zoeklogs worden maximaal 90 dagen bewaard. Algolia is gevestigd in de VS; doorgifte vindt plaats op basis van Standard Contractual Clauses. Zie de DPA van Algolia voor meer informatie.”

B2B-portaal met ingelogde gebruikers

“Onze interne zoekfunctie is gebouwd op Elasticsearch, gehost op servers binnen de EU (Frankfurt). Zoektermen die u als ingelogde gebruiker invoert, worden gekoppeld aan uw gebruikersaccount ten behoeve van zoekfunctionaliteit en auditlogging. De grondslag is de uitvoering van de overeenkomst die wij met uw organisatie hebben gesloten. Zoekdata wordt maximaal 30 dagen bewaard en daarna automatisch verwijderd. Er vindt geen doorgifte buiten de EU plaats.”

Publieke informatiesite met self-hosted Typesense

“De zoekfunctie op deze website wordt aangedreven door Typesense, een zoeksoftware die wij zelf hosten op een server in Nederland. Wij slaan geen individuele zoektermen op. Technische metadata, zoals responstijden, worden geanonimiseerd bijgehouden voor technisch beheer. Er worden geen persoonsgegevens aan derden verstrekt in het kader van de zoekfunctie.”

Technische maatregelen die je privacyverklaring eenvoudiger maken

Hoe minder data je verwerkt, hoe eenvoudiger je privacyverklaring. Drie maatregelen die direct helpen: zet IP-anonimisering aan (bij Algolia via de API-parameter anonymizeIP), stel bewaartermijnen in via de dashboardinstellingen of API zodat data automatisch wordt verwijderd, en schakel query-logging selectief uit voor zoekvelden die gevoelige input kunnen bevatten, zoals een klantnummer-zoekveld.

Checklist voor de eindcontrole

Beantwoord deze twaalf vragen om te bepalen of je sectie over de zoekdienst AVG-proof is:

  • Noem je de naam van de zoekdienst?
  • Beschrijf je welke gegevens worden verwerkt?
  • Is de verwerkingsdoeleinden helder omschreven?
  • Vermeld je de juridische grondslag?
  • Staat er een concrete bewaartermijn in?
  • Heb je doorgifte buiten de EU vermeld als dat van toepassing is?
  • Verwijs je naar de waarborg voor die doorgifte (SCC’s)?
  • Klopt de tekst met wat er in de DPA staat?
  • Is IP-anonimisering vermeld als je die hebt ingesteld?
  • Heb je onderscheid gemaakt tussen basislogging en analytics-modules?
  • Klopt de beschrijving voor zowel ingelogde als anonieme gebruikers?
  • Is de tekst begrijpelijk zonder technische voorkennis?

De zoekfunctie voelt als een technisch detail, maar voor de AVG is de bijbehorende sectie in je privacyverklaring net zo relevant als je cookiebanner. Het verschil is dat veel website-eigenaren die eerste nooit hebben geschreven, terwijl de logs al maandenlang draaien.

Begin bij de verwerkersovereenkomst van je zoekdienst. Zet IP-anonimisering aan als je Algolia gebruikt. Bepaal welke analytics-modules je echt nodig hebt en schakel de rest uit. Schrijf daarna pas de tekst voor je privacyverklaring, want dan weet je precies wat je beschrijft.