Checklist: je API keys veilig beheren
Loop de lijst één keer door voor alles wat je nu draaiende hebt, en daarna telkens als je een nieuwe tool of automatisatie koppelt. Elk punt dat je niet kunt afvinken, los je op voor je verdergaat.
- Maak een overzicht van al je keysNoteer per key de tool, waarvoor hij dient, wie erbij kan en wanneer je hem aanmaakte. Zet nooit de key zelf in dat overzicht, enkel de gegevens eromheen.
- Eén key per toepassingJe chatbot, je mailtool en je automatisatie krijgen elk hun eigen key. Geef elke key een naam die zegt waarvoor hij dient, bv. 'chatbot-website'.
- Bewaar de key op je server of in een omgevingsvariabeleZet hem niet in de code van je website of app, want dan ziet iedere bezoeker hem. Laat je website een aanvraag doen bij je eigen server, en laat die server de key gebruiken.
- Houd je .env-bestand buiten GitZet .env in je .gitignore voor je de eerste keer commit. Controleer in je repository of er al een key in de geschiedenis staat, ook in een privérepo.
- Deel een key nooit via screenshot, mail of chatDeel een key via een wachtwoordmanager. Moet je toch een scherm delen, knip de key er dan uit of blur hem. Vul je een key in een AI-tool of formulier in, vraag je dan af of je die daar wel wilt achterlaten.
- Stel een budget- of gebruikslimiet inKies een maandbedrag dat je kunt missen, bv. €50, en zet een waarschuwing op de helft ervan. Bij misbruik loopt je rekening dan niet door.
- Beperk wat de key magLaat de key enkel werken voor de diensten die je echt gebruikt. Bij Google Maps beperk je een browserkey tot je eigen website (HTTP-referrer) en een serverkey tot het IP-adres van je server.
- Check het gebruik elke maandOpen het gebruiksoverzicht van elke tool. Een plotse piek in de nacht of in een land waar je niet actief bent, is een alarmsignaal.
- Twijfel je? Trek de key meteen inMaak eerst een nieuwe key aan, zet die in je toepassing en trek daarna de oude in. Zo ligt je toepassing maar kort stil, en het lek loopt niet verder.
- Ruim ongebruikte keys opEen proefproject van vorig jaar, een bureau waar je mee stopte, een medewerker die vertrok: trek hun keys in. Een key die niemand gebruikt, kan nog altijd misbruikt worden.
Wil je je API key veilig bewaren, dan komt het op drie dingen neer: hou hem uit publieke code, geef elke toepassing een eigen key en stel een limiet in. Twijfel je of hij gelekt is, trek hem dan meteen in. Hieronder leg ik uit waarom dat werkt en hoe je het aanpakt.
Wat is een API key en waarom moet je hem veilig bewaren?
Een API key is een lange code waarmee de ene tool de andere herkent. Je website die Google Maps laadt, je chatbot die met Claude praat en je mailtool die gegevens ophaalt: ze gebruiken er allemaal een.
Een wachtwoord laat jou binnen. Een API key laat je software binnen, ook als jij er niet bij bent. Wie de key heeft, kan dus doen alsof hij jouw software is.
Bij Google is de key de koppeling met je betaalaccount. Hij identificeert de aanvragen van je project, voor gebruik en facturatie. Wie je key misbruikt, laat jou dus betalen. Bij AI-diensten werkt het net zo.
Waar mag een API key wel en niet staan?
Op de server, niet in je website
Alles wat in de browser draait, kan een bezoeker bekijken. Een geheime key hoort daar dus niet in. Tavily zegt het kort: stuur alle aanvragen via een beveiligde backend-server. Je website vraagt het aan je eigen server, en je server gebruikt de key.
OpenAI zegt hetzelfde. Hun advies is om keys niet in je code of in publieke repositories te laten staan. Gebruik daarvoor omgevingsvariabelen of een secret management service.
Een privérepo is ook geen veilige plek. Een repo kan later publiek worden, of iemand krijgt toegang die je niet bedoelde. Zet je key er dus nooit in.
Niet in screenshots, mails en chats
Het gaat vaker mis door slordigheid dan door hackers. Een screenshot van je instellingen, een mail aan je freelancer of een bericht in een groepschat: daar blijft een key voor altijd staan. Gebruik een wachtwoordmanager om keys door te geven.
De uitzondering: browserkeys
Sommige keys zijn bedoeld om in de browser te staan, zoals een Google Maps-key voor een kaart op je website. Die kun je niet verbergen, wel beperken. Een browserkey beperk je met HTTP-referrers. Dan werkt hij enkel vanaf jouw domein.
Voor Google Maps geldt: beperk de key voor je hem in productie gebruikt. Die beperkingen zijn optioneel, maar Google raadt sterk aan om alle keys te beperken.
Waarom één key per toepassing?
Gebruik je één key voor alles, dan heeft een lek grote gevolgen. Je moet de key intrekken en daarna al je toepassingen één voor één aanpassen. Tot dat klaar is, ligt alles stil.
Met een eigen key per toepassing trek je enkel de gelekte key in. De rest blijft werken. Je ziet ook meteen welke toepassing het meeste verbruikt, en dus waar een piek vandaan komt.
Let op bij Anthropic. Daar stel je een uitgavenlimiet niet per key in, maar per workspace. Je kiest een maandlimiet voor die workspace. Wil je een eigen limiet per toepassing, geef dan elke toepassing een eigen workspace met een eigen key. Er is ook een beperking: voor de standaardworkspace kun je geen limiet instellen. Werk dus met een aparte workspace.
Hoe stel je een limiet in op je API key?
Een limiet kan een lek niet voorkomen. Hij beperkt wel de schade. Er zijn twee soorten limieten die je kunt combineren.
Een bedrag begrenzen. Zoek in het dashboard van de tool naar budget, spend limit of usage limit. Kies een maandbedrag dat je kunt missen. Stel dat je een bedrijfschatbot hebt en er maandelijks ongeveer €15 aan AI-gebruik door gaat. Dan zet je de limiet op €50, niet op €5.000.
De key zelf beperken. Zo beperk je wat iemand met de key kan doen, ook als hij hem heeft. Bij Google Maps beperk je een browserkey tot je domein en een serverkey tot het IP-adres van je server. Beperk de key ook tot de API's die je gebruikt.
Let op: kies de juiste beperking. Gebruik je een key met referrer-beperking voor een web service API, dan mislukken de aanvragen. Een serverkey beperk je dus met IP-adressen, niet met een domein.
Wat doe je als je API key gelekt is?
Wacht niet tot je zeker bent. Een nieuwe key aanmaken kost je enkele minuten. Een lek dat blijft lopen, kost veel meer.
- Maak een nieuwe key aan in de tool.
- Zet de nieuwe key in je toepassing en test of alles nog werkt.
- Trek de oude key in. Dat is de stap die het lek dicht.
- Bekijk het gebruik van de afgelopen dagen. Zie je verbruik dat je niet herkent, contacteer dan de support van de tool.
- Zoek uit hoe de key buiten kwam: een screenshot, een publieke repo of een mail? Los dat op, anders lekt de nieuwe key op dezelfde manier.
Tavily raadt hetzelfde aan: vermoed je een lek, trek de key dan meteen in en maak een nieuwe aan.
Voorbeeld: stel dat je een bakkerij hebt
Stel dat je een bakkerij met een webshop hebt. Je laat een chatbot bestelvragen beantwoorden en een automatisatie de bestellingen in je boekhouding zetten. Dat zijn twee toepassingen, dus twee keys, met elk een eigen naam.
De chatbotkey staat op de server, niet in de code van je website. Je zet een maandlimiet in en een waarschuwing op de helft ervan. Op een nacht krijg je een melding dat het verbruik al op de helft zit. Je opent het dashboard, ziet de piek bij de chatbotkey, maakt een nieuwe key en trekt de oude in. De boekhoudautomatisatie draait de hele tijd door, omdat die een eigen key heeft.
Veelgemaakte fouten
- De key in de code van je website zetten. Dat gebeurt vaak bij het testen. Je vergeet het daarna weg te halen.
- Een limiet instellen op de verkeerde plek. Controleer dat de limiet echt geldt voor de key of workspace die je gebruikt.
- Een key delen met een freelancer of bureau. Geef liever een eigen key mee en trek die in als de samenwerking stopt.
- Nooit het verbruik bekijken. Een lek merk je anders pas op je factuur.
- Een lek opzoeken in plaats van intrekken. Trek eerst in en zoek daarna uit wat er gebeurd is.
Hulp nodig bij je koppelingen?
Bouw je zelf automatisaties of koppel je tools aan je site, dan komt dit er vroeg of laat bij. Bij AI-automatisering zit het in elk project: waar de keys staan, wie ze beheert en wat de limieten zijn. Laat je een website maken die met externe diensten praat, spreek dan af wie de keys bezit en beheert. Twijfel je over je huidige opzet? Neem contact op voor een vrijblijvend gesprek.
Veelgestelde vragen
Wat is een API key?
Een API key is een lange code waarmee de ene tool de andere herkent. Je website die Google Maps laadt of je chatbot die met Claude praat, gebruikt er een. Een wachtwoord laat jou binnen, een API key laat je software binnen zonder dat jij erbij bent.
Waar bewaar je een API key het veiligst?
Op je server, in een omgevingsvariabele of een secret manager. Zet hem niet in de code van je website of in een publieke repository. OpenAI raadt zelf omgevingsvariabelen of een secret management service aan.
Wat gebeurt er als mijn API key lekt?
Een ander kan dan jouw software namaken en op jouw kosten gebruiken. Meestal krijg jij de rekening, zeker bij betaalde diensten zoals AI-modellen of kaarten. Daarom zet je een limiet in en trek je de key meteen in bij twijfel.
Moet ik elke tool een eigen API key geven?
Ja, dat is verstandig. Lekt er één key, dan trek je enkel die in en blijft de rest werken. Het helpt ook om te zien welke toepassing hoeveel verbruikt.
Mag een Google Maps API key wel zichtbaar zijn in mijn website?
Een browserkey voor Maps staat technisch in de paginacode, dus die kan iedereen zien. Daarom moet je hem beperken tot je eigen domein en tot de API's die je gebruikt. Google raadt sterk aan om alle keys te beperken.
Bronnen
Meer weten over ai-automatisatie? Bekijk wat we daarin voor je doen of lees artikels over ai-automatisatie.
Bereken je offerte








