Toen RedAccess zocht naar apps die met AI-programmeertools waren gebouwd en op de domeinen van die tools waren gepubliceerd, vond het er meer dan 5.000 met vrijwel geen beveiliging of authenticatie. Onder de met Wired gedeelde screenshots stond het volledige gesprekslogboek van de chatbot van een winkelier, inclusief volledige klantnamen en contactgegevens. Wired kon niet bevestigen dat de onderzochte gegevens echt waren. De apps waren wel gewoon toegankelijk.
Klantgegevens in met AI gebouwde apps kunnen veel verder uitlekken dan het ontworpen scherm zodra de tool aan Salesforce, HubSpot, Pipedrive of Zoho is gekoppeld. Een pijplijnoverzicht toont een dashboard met accounts, maar de sleutel kan veel meer openen. Controleer daarom het bereik van die sleutel voordat je team de link krijgt.
TL;DR
- De CRM-inloggegevens bepalen de omvang van een lek. Geef de tool eigen, beperkte CRM-inloggegevens, gebruik een aparte gebruiker met weinig rechten als het CRM toegang aan een gebruiker koppelt, bewaar de gegevens in serveromgevingsinstellingen of een geheimenkluis en laat alleen servercode ze gebruiken.
- Elke uitrolfout die klantrecords, pijplijn of prijzen lekt, heeft een oplossing met een kopieerbare instructie. Je eigen AI-programmeertool voert de wijziging uit; daarna doe je zelf een korte test om te controleren of die werkt.
- Waar de tool draait, hangt af van wat die in het CRM doet. Alleen-lezen-tools kunnen op een door het team beheerde server draaien, op een privénetwerk of achter bedrijfsaanmelding. Tools die terugschrijven gaan eerst langs IT of de CRM-beheerder.
- Waar AVG en CCPA gelden, omvatten ze de klantgegevenskopie van de tool en iedere dienst waaraan die gegevens doorstuurt. De meeste verkoop- en supporttools zijn geen hoogrisicosystemen onder de EU AI Act. Belangrijke klantgerichte uitzonderingen zijn kredietbeslissingen over personen, risicobeoordeling of prijsstelling van hun levens- of zorgverzekering en AI die emoties uit gezicht of stem afleidt.
Wat een gelekte CRM-sleutel kan bereiken

Een blootgestelde CRM-API-sleutel bereikt alles wat de gebruiker of app kan bereiken, niet alleen het dashboard. In Salesforce en Pipedrive kan een sleutel van een beheeraccount ieder contact, account en iedere deal lezen en meestal wijzigen die die beheerder ziet. HubSpot- en Zoho-sleutels dragen hun toegekende scopes; een Zoho-groepsscope omvat alles wat de gebruiker mag doen.
Zo kent elk van de vier dat bereik toe en zo beperk je het. Een scope is in de onderstaande kolommen de lijst handelingen die de inloggegevens toestaan.
| CRM | De inloggegevens en de bijbehorende toegangsrechten | Wat brede rechten openen | De beperktere inrichting |
|---|---|---|---|
| Salesforce | Een OAuth-verbinding via een verbonden app of externe clientapp, handelend als één Salesforce-gebruiker | Met full alle gegevens die de gebruiker mag benaderen; met api diens account via REST API en Bulk API 2.0 |
Een aparte gebruiker met rechten voor uitsluitend gelezen objecten; vraag api, niet full |
| HubSpot | Een Service Key voor nieuwe integraties binnen het account of een bestaand token van een oudere private app | Alles wat is aangevinkt, bijvoorbeeld lezen en schrijven van contacten, bedrijven en deals | Alleen-lezen-objectscopes zoals crm.objects.contacts.read voor getoonde objecten; laat sensitive en highly_sensitive uitgeschakeld |
| Pipedrive | Een persoonlijk API-token, ‘gekoppeld aan een specifieke gebruiker en een bedrijf, met toegang tot alle gegevens van die gebruiker’ | Alles wat die gebruiker kan zien | Een token van een aparte Pipedrive-gebruiker die alleen ziet wat de tool nodig heeft |
| Zoho CRM | Een OAuth-token met scopes volgens service_name.scope_name.operation_type |
Met een groepsscope zoals ZohoCRM.modules.ALL lezen, aanmaken, bijwerken en verwijderen in leads, contacten, accounts, deals, offertes, prijslijsten, verkooporders en facturen |
Leesscopes per module, zoals ZohoCRM.modules.contacts.READ |
Iedere rij gebruikt de termen van de leverancier. De Salesforce-scopereferentie vermeldt dat full ‘alle andere scopes omvat’. HubSpot behandelt private apps nu als verouderd en adviseert Service Keys voor nieuwe systeemintegraties; bestaande oudere private apps gebruiken nog de oude scopereferentie, inclusief scopes voor gevoelige gegevens in Enterprise-accounts.
De Pipedrive-formulering komt uit de authenticatiedocumentatie. Volgens Zoho’s scopedocumentatie geeft een groepsscope ‘volledige toegang tot alle functies die de gebruiker op het record kan uitvoeren’. De eigen voorbeeldaanvraag vraagt om ZohoCRM.modules.ALL.
Het principe is overal hetzelfde. Inloggegevens dragen het bereik van een gebruiker of de toegekende scopes. Geef de tool daarom eigen integratiegegevens met een zo klein mogelijk bereik. Gebruik waar toegang een gebruiker volgt een aparte gebruiker met weinig rechten, in plaats van iemands beheeraccount.
Geef alleen schrijfrechten als de tool moet schrijven; daarmee hoort de tool bij IT. Gebruik nooit je eigen beheerderslogin of persoonlijk token.
Oudere inloggegevens die aan een persoon vastzitten kunnen ook uitvallen wanneer die vertrekt. HubSpots overzicht van oudere private apps zegt dat sommige API-aanroepen met het token mislukken wanneer de oorspronkelijke maker wordt verwijderd. Service Keys voorkomen dit omdat ze bij het account horen, niet bij een medewerker. Pipedrive staat één actief API-token per gebruiker toe; vervanging stopt alle integraties die het gebruiken.
Brede inloggegevens die contacten openen, openen doorgaans ook deals en prognoses en bij Zoho offertes en prijslijsten. Wie ze bezit kan daardoor prijzen en kortingsstructuren bereiken.
Maak de integratiegegevens aan en beperk hun rechten of scopes in de CRM-beheerschermen, of vraag de CRM-beheerder dit te doen.
Uitrolfouten die klantrecords lekken en hoe je ze herstelt
Zeven standaardkeuzes laten klantgegevens weglekken uit een met AI gebouwde verkooptool: een CRM-sleutel in code of browser, een openbare link, alle accounts zichtbaar voor iedereen, overbodige velden, doorgestuurde records, ontbrekende exportlogs en een kopie die een verwijderverzoek overleeft. Elk maakt een demo eenvoudiger.
| Fout | Wat lekt | Repareren |
|---|---|---|
| De CRM-sleutel staat in code, browser of chat | Alles binnen het bereik van de sleutel; bij brede rechten de hele klantdatabase, inclusief contacten, deals en notities, vaak ook wijzigbaar | Beperkte integratiegegevens uitsluitend op de server en de oude sleutel uitschakelen |
| De tool is via een openbare link gepubliceerd | Contactgegevens (e-mail, telefoon, adres, aankoophistorie) en prijs- en kortingspagina’s, toegankelijk voor iedereen met het adres, ook concurrenten | Een privénetwerk of bedrijfsaanmelding ervoor plaatsen |
| Elke verkoper ziet elk account | De volledige pijplijn, prognoses en dealwaarden; een vertrekkende verkoper kan het hele klantenbestand exporteren | Rollen op basis van de CRM-recordeigenaar, servercontrole voor weergave, zoeken en exporteren |
| De tool haalt alle velden op terwijl enkele volstaan | Aankopen, betaalstatus, accountwaarde en supporttickets met accountdetails in een tool voor verlengdatums | Alleen de genoemde velden ophalen |
| Klantrecords gaan naar AI-API’s en andere diensten | Klantgegevens, segmenten en lead- of klantgezondheidsscores bij een leverancier zonder contract | Uitgaande gegevens onderzoeken, beperken en het resterende gebruik contractueel regelen |
| Geen log van wie wat exporteerde | Een klantenlijst of segment verlaat het bedrijf zonder vaststelbaar tijdstip of afzender | Een exportlog dat de app niet kan aanpassen |
| De tool houdt een eigen kopie van klantrecords | Verwijderen in het CRM mist de toolkopie, exports en afgeleide scores | Zo min mogelijk bewaren en de kopie het CRM laten volgen |
De AI-programmeertool die de app bouwde kan de meeste oplossingen op verzoek uitvoeren. Pas iedere onderstaande instructie aan je CRM, objecten en rollen aan.
Het verslag van de AI dat iets is veranderd bewijst niets. De test onder iedere instructie is je bewijs. Voer de instructies op de code uit en plak nooit actieve sleutels of echte klantrecords in de chat.
Haal de CRM-sleutel uit code, browser en chat
Een in code of chat geplakte sleutel is blootgesteld. Dat geldt ook voor een omgevingsvariabele (een waarde die de server bij het starten doorgeeft zodat de code ernaar verwijst zonder die te bevatten) als de gebruikende code in de browser draait. Iedereen die de pagina opent kan een door de browser leesbare sleutel kopiëren.
Volgens Vites documentatie worden variabelen met VITE_ ‘blootgesteld in clientbroncode’. De Next.js-documentatie over omgevingsvariabelen zegt dat NEXT_PUBLIC_ de waarde eveneens opneemt in wat de browser downloadt.
Een sleutel in een gecommit bestand blijft in de geschiedenis staan, net zoals hardgecodeerde geheimen in Compose-bestanden de container overleven. Een privérepository beschermt daar niet tegen. Het GitGuardian-rapport over geheimen uit 2026 vond ongeveer zes keer zoveel kans op hardgecodeerde geheimen in interne als in openbare repositories. Ongeveer 28% van de incidenten begint bovendien geheel buiten repositories, in tools als Slack, Jira en Confluence.
Zoek iedere API-sleutel, token, wachtwoord en verbindingsreeks voor Salesforce, HubSpot, Pipedrive, Zoho of andere CRM- en verkooptools in dit project. Controleer de code, ieder .env-bestand en de commitgeschiedenis.
Vermeld per vondst:
- bestand en regel waar die staat
- of de waarde rechtstreeks in de code staat of uit een omgevingsvariabele wordt gelezen
- of de gebruikende code op de server of in de browser draait; markeer variabelen die met VITE_ of NEXT_PUBLIC_ beginnen
Toon geen volledige sleutelwaarden. Laat alleen de eerste vier tekens zien.
Verplaats vervolgens elke CRM-aanroep naar servercode die de sleutel uit een uitsluitend serverzijdige omgevingsvariabele leest. Verwijder alle sleutels uit de code, sluit bestanden met echte waarden uit van de repository en rapporteer precies de wijzigingen. Meld onzekerheid in plaats van te gokken.
Opmerking: Een chatbericht of commit verwijderen maakt een gedeelde sleutel niet opnieuw geheim. Na plakken of committen helpt alleen uitschakelen in het CRM.
Sleutelrotatie, een nieuwe uitgeven en de oude uitschakelen, is een menselijke stap. Maak de beperkte integratiegegevens in het CRM aan en vraag IT ze in de serveromgeving te zetten. Schakel daarna de oude sleutel uit.
Voor een gecompromitteerd private-app-token biedt HubSpot Rotate and expire now. Controleer bij Pipedrive welke andere integraties het oude token gebruiken voordat je het wijzigt.
Menselijke kopieën van CRM-beheerwachtwoorden horen in een wachtwoordmanager zoals Vaultwarden, een Bitwarden-compatibele server. Die is bedoeld voor mensen die inloggen. Voor centrale rotatie van applicatiegeheimen kun je HashiCorp Vault bekijken.
Test: Open de draaiende tool en de ontwikkelaarstools in de browser. Doorzoek alle geladen bestanden (Ctrl+Shift+F, of Cmd+Option+F op een Mac) op de eerste acht tekens van de nieuwe sleutel. Er mogen geen resultaten zijn. Voer daarna een CRM-actie uit en controleer het tabblad Netwerk. De gegevens mogen niet in aanvraag-URL’s, headers of berichtinhoud staan. Laat de CRM-beheerder bevestigen dat de oude sleutel wordt geweigerd of controleer de status in de integratie-instellingen.
Haal de tool van de openbare link
Host de AI-tool de app, dan verschijnt die bij publicatie op het domein van de leverancier. RedAccess vond apps met eenvoudige Google- en Bing-zoekopdrachten op die domeinen. Een prijs- of kortingscalculator op zo’n link is voor een concurrent net zo leesbaar als voor een verkoper.
Lovables verklaring aan Wired legt de instelling bij de bouwer, terecht. Het platform ‘geeft bouwers gereedschap om veilig te bouwen, maar de configuratie van een app is uiteindelijk de verantwoordelijkheid van de maker’. Je moet de publicatie-instelling wijzigen.
Maak een lijst van elke pagina, API-route, bestandsdownload en export in deze app. Vermeld per onderdeel:
- of het zonder aanmelden geopend kan worden
- of het klant-, deal- of prijsgegevens teruggeeft
Markeer iedere route die gegevens teruggeeft aan een niet-aangemelde aanvraag. Verander nog niets; ik wil eerst de lijst.
Test: Open de tool op een telefoon met mobiele data, buiten privénetwerken, in een privévenster. De pagina mag niet laden of moet bij de bedrijfsaanmelding stoppen. Probeer iedere route met klant-, deal- of prijsgegevens op dezelfde manier. Er mogen geen gegevens verschijnen.
Toon elke verkoper alleen eigen accounts
Zonder rollen ziet iedereen de hele pijplijn, alle dealwaarden en kortingen. Iedereen kan ook voor vertrek het hele klantenbestand exporteren. Serverzijdig gecontroleerde rollen op basis van de CRM-recordeigenaar lossen dit op, met dezelfde regel voor zoeken en exporteren.
Voeg toegangscontrole met drie rollen toe, gecontroleerd op de server bij iedere aanvraag. Knoppen, menu’s of kolommen verbergen telt niet als controle.
- Beheerder (tooleigenaar en sales operations): alle records.
- Manager: records van leden van het eigen team.
- Verkoper of accountmanager: alleen records waarvan het CRM-eigenaarveld hen als eigenaar vermeldt.
Haal identiteit en rol uit het aangemelde account, nooit uit waarden die de gebruiker op de pagina kan invoeren of wijzigen. Pas dezelfde regel toe op zoekresultaten, lijsten, exports en API-antwoorden. Weiger alles daarbuiten met ‘toegang geweigerd’ (403).
Rapporteer daarna welke rollencontrole elke pagina en route afdekt en markeer onzekerheden.
Opmerking: Een menuonderdeel of kolom verbergen controleert geen rechten. Zonder servercontrole blijven gegevens met één aanvraag bereikbaar.
Je kunt rolnamen en teamdefinities aanpassen. Sommige teams geven managers tijdens prognosegesprekken inzicht in alle regio’s.
Test: Maak een testverkoper aan. Zoek daarmee naar een account uit een ander gebied; er mag geen resultaat zijn. Exporteer de lijst en controleer dat die alleen eigen accounts bevat. Herhaal dit als testmanager met een account buiten diens team.
Haal alleen benodigde klantvelden op
Een verlengingsoverzicht heeft datums, eigenaren en accountnamen nodig. Een tool gebouwd met de opdracht ‘alle accountgegevens’ haalt ook aankopen, betaalstatus en supporttekst op. Minder velden betekent minder lekkagerisico, minder plaatsen voor een verwijderverzoek en minder gegevens voor externe diensten.
Maak een lijst van alle velden in database, code, schermen, exports en API-aanroepen die persoonlijke klantgegevens of commerciële gegevens kunnen bevatten: namen, e-mail, telefoon, adres, bedrijf, functie, aankopen, accountwaarde, betaalstatus, dealbedragen, kortingen, lead- of klantgezondheidsscores, supportinhoud en unieke identificaties.
Vermeld per veld welke weergave of functie het gebruikt en of het hoofddoel het nodig heeft. Markeer twijfel in plaats van te gokken.
Wijzig daarna de CRM-query’s zodat ze alleen deze velden opvragen: [de door jou goedgekeurde velden]. Verwijder de rest uit de opgeslagen kopie, schermen en exports en rapporteer precies de wijzigingen.
De rechten of scopes van de integratiegegevens vormen een tweede slot. Wat ze niet kunnen lezen, kan niet door een fout in AI-code lekken. Of de database opgeslagen gegevens versleutelt, moet IT beantwoorden; een codelezende assistent kan dat niet betrouwbaar zien.
Test: Exporteer als beheerder en vergelijk de kolommen met de goedgekeurde veldlijst. Er mag niets extra’s staan. Controleer elk scherm op verwijderde velden. Bewaar de lijst voor de volgende test.
Bekijk welke klantgegevens de tool verlaten
Een verloopcalculator die accountnotities naar een AI-API stuurt, velden aan een analysescript doorgeeft of een webhook activeert, kopieert klantrecords naar buiten. Waar de AVG geldt, is een externe dienst die namens het bedrijf verwerkt een verwerker waarvoor een overeenkomst nodig is, zoals hieronder uitgelegd.
Onderzoek elke externe aanroep: naar OpenAI, Anthropic of andere AI-API’s, het CRM, e-mail-, chat- of analysediensten en iedere webhook.
Vermeld per aanroep precies welke klant- of commerciële velden in inhoud of adres worden verstuurd. Markeer diensten die ontvangen gegevens mogelijk bewaren, loggen of voor training gebruiken. Geef aan welke aanroepen met minder velden of zonder klantgegevens zouden werken.
Test: Open bij iedere nog ontvangende dienst de lijst ontvangen velden of eigenschappen, bijvoorbeeld gebruikerseigenschappen in analytics of veldtoewijzingen van een webhook. Vergelijk met je goedgekeurde lijst. Alles daarbuiten verlaat de tool nog steeds. Ontbreekt zo’n overzicht, geef dienstnaam en verwerkingsvoorwaarden aan de functionaris voor gegevensbescherming of privacyverantwoordelijke.
Log elke export en bulkdownload
De exportknop laat een klantenlijst of prijslijst met één klik vertrekken; zonder log weet niemand wie wat meenam. Elke dashboardweergave loggen overstemt dit signaal. Leg exports, bulkweergaven en verwijderingen vast.
Voeg een log toe van elke export, download, weergave met meer dan [een door jou gekozen aantal] records en verwijdering. Leg gebruiker, actie, records of segment, aantal rijen en tijdstip vast.
Zorg dat het databaseaccount van de app logregels mag toevoegen, maar niet wijzigen of verwijderen. Alleen beheerders mogen lezen. Geef de ingestelde databaserechten op en markeer wat niet op databaseniveau afdwingbaar was.
Onveranderbaarheid moet komen van databaserechten van het account waarmee de app verbinding maakt, dat zoals elk account beperkt kan worden, niet van goed gedrag van de app. Het log zelf bevat persoonsgegevens: het toont wie wiens records meenam. Lezen blijft daarom voor beheerders.
Test: Exporteer als testverkoper een kleine lijst en zoek als beheerder de logregel met het juiste rijenaantal. Laat IT, of de AI-tool met zichtbare uitvoer, die regel proberen te verwijderen met het app-databaseaccount. Er moet een rechtenfout verschijnen.
Laat de toolkopie het CRM volgen bij een verwijderverzoek
Is het CRM het bronsysteem, behandel de verwijdering eerst daar. Een eigen toolkopie, zoals cache, exports op schijf of scores per klant, is een tweede opslagplaats die een CRM-verwijdering niet bereikt.
De voor de hand liggende oplossing, alles over een klant met één knop verwijderen, is zelf riskant als iedereen erop mag drukken. Mijn advies: bewaar zo weinig mogelijk kopieën, zodat een verwijdering minder hoeft na te lopen.
Wijzig de app zodat deze klantrecords op verzoek uit het CRM leest en alleen [de noodzakelijke velden uit je goedgekeurde lijst] bewaart.
Noem alle resterende opslagplaatsen: databasetabellen, caches, exports, afgeleide scores en logs.
Voeg een verwijdertool toe voor alleen beheerders. Die toont voor een CRM-record-ID iedere opslagplaats van klantgegevens in de app. Na bevestiging verwijdert die alles daar, inclusief afgeleide scores en opgeslagen exports. Alleen record-ID, tijdstip, bevestigende persoon en opgeschoonde plaatsen worden gelogd. Niet-beheerders krijgen ‘toegang geweigerd’.
De functionaris voor gegevensbescherming of privacyverantwoordelijke bepaalt uitzonderingen, dus wat het bedrijf moet bewaren. Daarom laat de instructie die buiten beschouwing.
Test: Maak een testcontact aan en laat de tool het overnemen, inclusief eventuele score of export. Verwijder het in het CRM, voer de verwijdertool als beheerder uit en controleer iedere genoemde plaats. Open die daarna als testverkoper: ‘toegang geweigerd’ moet verschijnen.
Waar een CRM-gekoppelde tool hoort te draaien

De plaats hangt af van de CRM-handelingen. Een alleen-lezen-tool kan op een teamserver draaien, uitsluitend bereikbaar via privénetwerk of bedrijfsaanmelding. Een schrijvende tool gaat vóór elk gebruik langs IT of de CRM-beheerder.
| Wat de tool met het CRM doet | Waar die draait | Wie vooraf goedkeurt |
|---|---|---|
| Werkt met voorbeeld- of synthetische records, verzonnen maar met dezelfde structuur als echte | Hosting van de AI-tool voor ontwikkeling en demo’s | Nog niemand; echte records blijven erbuiten |
| Leest echte klantrecords voor een klein, vast team | Een teamserver die alleen via een privénetwerk zoals Tailscale of WireGuard bereikbaar is | De CRM-beheerder die de alleen-lezen-integratiegegevens uitgeeft of goedkeurt |
| Leest echte records voor verspreide of reizende verkopers | Dezelfde server achter bedrijfsaanmelding via een identiteitsprovider zoals Authentik of Keycloak | De CRM-beheerder plus IT voor de aanmeldkoppeling |
| Schrijft terug: fasewijzigingen, nieuwe eigenaren, veldupdates en bulkbewerkingen | Gebouwd en getest in een CRM-sandbox of testaccount en beoordeeld vóór productietoegang | IT of de CRM-beheerder, vóór ingebruikname |
| Beslist over persoonlijk krediet, beoordeelt risico of prijzen voor levens- of zorgverzekering of leidt emoties uit gezicht of stem af | Nergens vóór beoordeling | IT en juridische zaken, functionaris voor gegevensbescherming of privacyverantwoordelijke |
Bouw en test met voorbeeldrecords tot de tool op de teamserver draait. Een beheerd uitrolplatform met aanmelding, geheimen en logs is redelijk voor teams die daar al budget en leveranciersbeoordelingen voor hebben.
Een privénetwerk betekent dat de tool niet reageert vanaf het openbare internet. Single sign-on gebruikt het bestaande bedrijfsaccount, gecontroleerd door een identiteitsprovider. Een door AI geschreven inlogpagina blijft overal bereikbaar en is slechts zo sterk als de code erachter.
Georgia Techs Vibe Security Radar doorzoekt openbare kwetsbaarheidsdatabases en markeert fouten die aan de signatuur van AI-programmeertools worden gekoppeld. Alleen al in maart 2026 telde het 35 gevallen, meer dan in heel 2025; omzeiling van authenticatie hoort bij de gevonden typen. De cijfers komen uit Georgia Techs publicatie van april 2026.
Onderzoeker Hanqing Zhao zei: ‘Als een agent iets zonder authenticatie bouwt, is dat geen typefout. Het is een ontwerpfout vanaf het begin.’ Mijn interpretatie is dat het slot vóór de tool hoort, buiten de door AI geschreven code.
Laat IT helpen met de serverkant. De tool draait op een VPS, een gehuurde server waarover het team volledig beschikt, onder een uitroltool zoals Coolify of Dokploy. Die voert de app uit vanuit code en bewaart de omgevingsvariabelen, inclusief CRM-sleutel.
Tailscale is sneller op te zetten, maar beheert een eigen coördinatieserver. Headscale, een opensourcevervanger, laat je die zelf hosten; WireGuard is volledig zelf gehost.
Voor bedrijfsaanmelding past Authentik bij de meeste kleine interne applicatieomgevingen. Keycloak past bij bedrijven met een bestaande directory. Een reverse proxy zoals Caddy of Nginx Proxy Manager voegt HTTPS toe waar aanmelding internetgericht is. Eén met naam aangewezen persoon blijft verantwoordelijk voor server en integratiegegevens.
Die persoon heeft een server nodig. Onze Linux VPS biedt roottoegang; Coolify, Tailscale, WireGuard, Authentik en Keycloak zijn met één klik uit te rollen, zodat IT tijd overhoudt voor de tests. Locaties omvatten Frankfurt en Amsterdam in de EU, Londen in het VK en meerdere Amerikaanse steden. Geef die locatiekeuze als beslispunt aan de privacyverantwoordelijke.
AVG, CCPA en de EU AI Act voor klantgegevens
De serverlocatie bepaalt waar de eigen gegevenskopie staat. Ze bepaalt niet waar externe diensten ontvangen gegevens opslaan en maakt de tool op zichzelf niet in overeenstemming met de onderstaande regels. In het VK geldt de UK GDPR en is het ICO de toezichthouder.
AVG: rechtsgrond, verwerkers en wissen
Valt je bedrijf onder de AVG, dan is de toolkopie gedekt zoals andere verwerking van persoonsgegevens ‘geheel of gedeeltelijk geautomatiseerd’.
Ieder gebruik van persoonsgegevens vereist een door de AVG aanvaarde rechtsgrond. Een overeenkomst kan gelden als de verwerking nodig is voor een contract met de betrokkene of voor op diens verzoek genomen precontractuele stappen. Bij CRM-data, vooral B2B-contacten, kan gerechtvaardigd belang toepasselijker zijn; dat moet tegen de rechten van de persoon worden afgewogen. Beide staan in artikel 6.
De tool gebruikt bestaande gegevens op een nieuwe manier. Vraag privacyverantwoordelijken of juridisch advies of de bestaande grondslag dat dekt.
Een externe dienst die namens het bedrijf verwerkt is daarvoor verwerker. AI-API’s, analytics en hosting vervullen die rol vaak, maar laat die per dienst bevestigen door privacyverantwoordelijken of juridisch advies. Artikel 28 vereist verwerkers met ‘voldoende garanties’ en een overeenkomst voor iedere verwerking. Neem je uitgaande-gegevensaudit mee.
Geldt het recht op gegevenswissing van artikel 17, dan omvat dat elke bedrijfskopie, ook de toolkopie. Daarom moet die het CRM volgen.
CCPA: het verwijderrecht bereikt de toolkopie
Californische consumenten kunnen een gedekt bedrijf vragen verzamelde persoonlijke informatie te verwijderen, inclusief toolkopie en exports. Uitzonderingen staan in Civil Code 1798.105(d) en 1798.145, volgens de CCPA-pagina van de procureur-generaal van Californië.
De CCPA vereist ook schriftelijke contracten met dienstverleners en opdrachtnemers die hun gebruik van persoonlijke informatie begrenzen. Het bedrijf blijft het verzoek afhandelen; zij helpen waar vereist. De drempels in de FAQ bepalen of je bedrijf gedekt is.
EU AI Act: de meeste verkoop- en supporttools zijn geen hoogrisicosystemen
Leadscoring, pijplijnprognoses, klantgezondheidsscores, campagnedashboards en CRM-automatisering staan niet bij de hoogrisicotoepassingen van bijlage III. Relevante uitzonderingen zijn beperkt: AI voor persoonlijke kredietwaardigheid, risico en prijsstelling van levens- of zorgverzekering en emoties op basis van biometrische gegevens.
Hoog risico is de categorie met de zwaarste verplichtingen. Per oktober 2026 gelden de regels voor bijlage III volgens planning vanaf 2 december 2027. De transparantievereisten van artikel 50 gelden al. Punt 5(b) van bijlage III van de EU AI Act noemt systemen voor ‘het beoordelen van de kredietwaardigheid van natuurlijke personen of het vaststellen van hun kredietscore, behalve AI-systemen voor het opsporen van financiële fraude’.
Punt 5(c) noemt ‘risicobeoordeling en prijsstelling voor natuurlijke personen bij levens- en ziektekostenverzekeringen’. Zo’n tool kan hoogrisico zijn en gaat vóór gebruik langs IT en juridische zaken. Een tool die prestaties van eigen verkopers beoordeelt kan onder arbeidscategorie 4(b) vallen, een aparte vraag voor HR en juridische zaken.
Punt 1(c) noemt emotieherkenning, volgens artikel 3 ‘het identificeren of afleiden van emoties of bedoelingen van natuurlijke personen op basis van hun biometrische gegevens’. Een bel- of supporttool die stemming uit stem of gezicht afleidt kan dus hoogrisico zijn en volgt dezelfde route naar IT en juridische zaken.
De wet regelt AI-systemen. Een dashboard met gewone code wordt dat niet enkel doordat AI de code schreef. De vraag is of de uitgerolde tool zelf aan de definitie van AI-systeem voldoet.
Geen hoog risico betekent niet geen regels. Onder artikel 50 moeten systemen die ‘rechtstreeks met natuurlijke personen communiceren’ melden dat ze AI zijn, tenzij dit duidelijk is. Een klantenchatbot moet dus nog steeds vertellen wat die is.
Daarnaast verplicht artikel 4 aanbieders en gebruiksverantwoordelijken al om AI-geletterdheid te bevorderen onder personeel en anderen die namens hen de systemen gebruiken.
Veelgestelde vragen
Is het veilig om met ChatGPT of Claude een CRM-tool te bouwen?
Bouwen met voorbeeldgegevens is het minst riskant. Het risico begint met echte inloggegevens of klantgegevens en groeit bij openstelling voor anderen. Geef een met vibe coding gebouwde CRM-tool vooraf beperkte CRM-inloggegevens in serveromgevingsinstellingen of een geheimenkluis, alleen gebruikt door servercode. Zet de tool ook achter een privénetwerk of bedrijfsaanmelding, buiten bereik van buitenstaanders. Gebruik voorbeeldrecords tot beide geregeld zijn.
Geldt de AVG voor een intern dashboard dat klanten nooit zien?
Geldt de AVG voor je bedrijf, dan vormt een intern dashboard met klantpersoonsgegevens geen uitzondering. De wet gaat over verwerking, niet over wie kijkt; persoonsgegevens zijn ‘alle informatie over een geïdentificeerde of identificeerbare natuurlijke persoon’ volgens artikel 4. Privacyverantwoordelijken of juridisch advies bepalen de toepasselijkheid en of de bestaande grondslag het nieuwe gebruik dekt.
Zijn dealwaarden en kortingen persoonsgegevens?
Meestal niet. Pijplijnbedragen, prognoses en prijslijsten zijn bedrijfsgegevens; rollen en exportlogs beschermen ze. Maar een bedrag of korting kan persoonlijk zijn als die betrekking heeft op een identificeerbare persoon, zoals een consumentenaankoop of eenmanszaak, volgens artikel 4.
Voor welke bedrijven geldt de CCPA?
Winstgerichte bedrijven die in Californië actief zijn en minstens één drempel halen. De California Privacy Protection Agency noemt voor 2025 een inflatiegecorrigeerde omzetgrens van 26.625.000 dollar. De pagina van de procureur-generaal noemt twee andere: persoonlijke informatie van minstens 100.000 Californische inwoners of huishoudens kopen, verkopen of delen, of minstens 50% van de jaaromzet halen uit verkoop of delen van consumenteninformatie. Je privacyverantwoordelijke of juridisch adviseur bevestigt of je daaronder valt.
Discussie
Reacties
Log in om mee te praten.