Eerste stappen. Geavanceerde AI.
Gepubliceerde gidsBijgewerkt
Hoofdstuk 16 van 20Bouwen en controleren
Controleer beveiliging en privacy
Vraag Codex wat het controleerde, wat het vond en wat nog aandacht nodig heeft. Bewaar het bewijs.
Een bruikbare beoordeling noemt risico’s en grenzen. Een schone scan is geen garantie.
Volg de afbeeldingen
Voorbeelden ter illustratie. Jouw app kan er anders uitzien. Tik op een afbeelding om deze te vergroten. De illustraties gebruiken Engelse voorbeeldlabels. De stappen en uitleg zijn vertaald.
-
Noem wat gecontroleerd moet worden
Gebruik de beveiligingsprompt om functies, diensten, accounts en gegevens van de site te noemen.
Voorbeeld ter illustratie - Begin met
- Pagina’s → Diensten → Accounts → Gegevens
Let op: De beoordeling heeft een duidelijke reikwijdte gebaseerd op je echte website.
Meer hulp bij deze actie
Gebruik de afgebakende beveiligingsprompt om Codex de echte sitefuncties, pakketten, externe diensten, verzamelde gegevens en accounts met extra rechten te laten noemen. Neem hostinglogboeken en e-mailaanvragen mee, ook bij statische pagina’s.
Controleer de systemen die je echt gebruikt
- Laat Codex pagina’s, pakketten, scripts van derden, externe diensten en accounts met extra toegang inventariseren.
- Neem hostinglogboeken en e-mailaanvragen mee in het gegevensoverzicht, ook al gebruikt de website statische pagina’s.
- Neem accounts, databases, AI-toegangspunten en formulieren alleen op als ze echt bestaan. Latere toevoegingen vragen een aparte controle.
Dit zou je nu moeten zien: De beoordeling heeft een duidelijke reikwijdte gebaseerd op je echte website.
-
Zoek naar gelekte sleutels
Laat Codex bestanden en geschiedenis op gelekte geheimen controleren. Trek gelekte toegangsgegevens bij hun aanbieder in.
Voorbeeld ter illustratie - Als een sleutel is gelekt
- Intrekken → Zo nodig vervangen → Blootstelling opruimen
Let op: Mogelijke geheimen worden zonder waarden gemeld; gelekte sleutels zijn uitgeschakeld.
Meer hulp bij deze actie
Controleer gevolgde bestanden, Git-geschiedenis en de gegenereerde dist-map op geheimen met OWASP-uitleg over geheimenbeheer. Eis een verslag met locaties zonder geheime waarden. Is een sleutel blootgesteld? Trek hem bij de aanbieder in of vervang hem; alleen het huidige bestand verwijderen is onvoldoende.
Een bestand verwijderen schakelt een sleutel niet uit
- Laat Codex gevolgde bestanden, relevante Git-geschiedenis en gegenereerde dist-uitvoer bekijken. Het verslag noemt locaties en soorten toegangsgegevens zonder geheime waarden te tonen.
- Zijn echte toegangsgegevens blootgesteld? Open de accountinstellingen van de aanbieder en trek ze in of vervang ze. Plak de waarde niet in de chat.
- Bekijk daarna het gebruik van de oude sleutel en volg een afgebakend opruimplan. Het nieuwste bestand verwijderen of .gitignore toevoegen wist geen oude geschiedenis en trekt geen toegang in.
Dit zou je nu moeten zien: Mogelijke geheimen worden zonder waarden gemeld; gelekte sleutels zijn uitgeschakeld.
-
Beoordeel pakketbevindingen
Voer npm audit uit. Laat Codex bevindingen uitleggen, relevante problemen herstellen en controles opnieuw uitvoeren.
Voorbeeld ter illustratie - Met Codex
- npm audit → Bevindingen beoordelen → Herstellen en opnieuw testen
Let op: Elke relevante bevinding heeft een herstel of vastgelegde beoordeling.
Meer hulp bij deze actie
Voer npm audit uit en laat Codex relevante waarschuwingen, betrokken onderdelen en herstellingen uitleggen. Pas beoordeelde updates op een branch toe, bouw opnieuw en herhaal tests. Vermijd automatische geforceerde upgrades zonder hun impact te begrijpen.
Beoordeel vóór een upgrade
- Laat Codex npm audit uitvoeren en de waarschuwing, het betrokken pakket en de waarschijnlijke impact voor dit project uitleggen.
- Pas passende updates binnen de taak op een branch toe. Vermijd automatische geforceerde upgrades die gedrag kunnen veranderen of de build kunnen breken.
- Bouw opnieuw en herhaal relevante tests. Noteer openstaande problemen en onbevestigde zaken; npm audit behandelt bekende pakketwaarschuwingen, niet elk mogelijk risico.
Dit zou je nu moeten zien: Elke relevante bevinding heeft een herstel of vastgelegde beoordeling.
-
Leg de gegevensstroom uit
Noteer externe diensten en verzamelde gegevens. Gebruik de EU-uitleg voor juiste privacyinformatie waar die geldt.
Voorbeeld ter illustratie - Volg de gegevens
- Website → Dienstaanbieder → Privacyinformatie
Let op: De privacytekst beschrijft de echte diensten en gegevensverwerking.
Meer hulp bij deze actie
Bekijk externe scripts, ingesloten inhoud, lettertypen en statistieken. Houd alleen wat je nodig hebt. Noteer welke aanbieders bezoekersgegevens krijgen en gebruik hun echte instellingen plus de EU-uitleg over persoonsgegevens voor juiste privacyinformatie waar nodig.
Gebruik echte instellingen en aanbieders
- Bekijk scripts, ingesloten inhoud, lettertypen en statistieken met Codex. Verwijder wat de site niet nodig heeft.
- Noteer welke aanbieders informatie krijgen, waarvoor die wordt gebruikt en de echte bewaartermijnen. Neem zakelijke e-mailaanvragen en hostinglogboeken mee.
- Maak privacyinformatie die bij deze feiten en geldende eisen past. Alleen een codescan of AI-geschreven verklaring bewijst geen wettelijke naleving.
Dit zou je nu moeten zien: De privacytekst beschrijft de echte diensten en gegevensverwerking.
-
Controleer een optioneel formulier
Heb je een formulier toegevoegd? Controleer invoercontrole op de server en bevestig dat een echt testbericht aankomt.
Voorbeeld ter illustratie - Alleen als je een formulier toevoegde
- Versturen → Servercontroles → Ontvangst bevestigen
Let op: Een formulier heeft maatregelen bij de ontvangstdienst en echt bezorgbewijs, of staat als niet van toepassing genoteerd.
Meer hulp bij deze actie
Heb je een ontvangstdienst voor formulieren toegevoegd? Gebruik de OWASP-uitleg over serverinvoercontrole voor passende inhouds- en lengtecontroles, naast spambeperking en foutafhandeling. Controleer echte bezorging opnieuw; browsercontrole is te omzeilen. Houd toegangsgegevens in de beveiligde instellingen van de ontvangstdienst.
Deze actie geldt alleen als nodig
- De eerste versie gebruikt een e-maillink. Is er geen backend-formulier? Noteer dit onderdeel als niet van toepassing.
- Eis voor een echt formulier inhouds- en lengtecontrole op de server, spambeperking, beschermde toegangsgegevens en bruikbare foutmeldingen. Browsercontrole is te omzeilen.
- Gebruik een toegestane testbestemming om echte ontvangst, ongeldige invoer en bezorgfouten te controleren. Alleen een succesbericht op de website is onvoldoende.
Dit zou je nu moeten zien: Een formulier heeft maatregelen bij de ontvangstdienst en echt bezorgbewijs, of staat als niet van toepassing genoteerd.
-
Bewaar het beoordelingsverslag
Bewaar de gedateerde beoordeling. Volg met de hoofdstukcontroles herstellingen, openstaande bevindingen en resterende beslissingen.
Voorbeeld ter illustratie - Verslaginhoud
- Reikwijdte → Bewijs → Openstaande problemen → Volgende actie
Let op: Het verslag legt vast wat is gecontroleerd en wat nog openstaat.
Meer hulp bij deze actie
Bewaar het gedateerde verslag en beoordeel de succescontroles voor beveiliging en privacy. Herstel openstaande problemen met grote impact vóór publicatie, noem een eigenaar voor overige beslissingen en beoordeel waar nodig persoonsgegevensinformatie met de EU-uitleg.
Maak het resultaat beoordeelbaar
- Bewaar een gedateerd verslag met reikwijdte, methoden, bewijs, bevindingen, herstellingen en onbeschikbare of onbevestigde gebieden.
- Herstel openstaande problemen met grote impact vóór publicatie. Noem een eigenaar voor overige beslissingen en bewaar bewijs van controles na herstel.
- Controleer persoonsgegevensinformatie waar nodig. Vermijd absolute claims zoals ‘volledig veilig’ of ‘wettelijk conform’ op basis van deze beoordeling.
Dit zou je nu moeten zien: Het verslag legt vast wat is gecontroleerd en wat nog openstaat.
Waarom deze stap belangrijk is
Ons statische voorbeeld heeft geen bezoekersaccounts, database of AI-toegangspunt. Er blijven risico’s, zoals gelekte geheimen, kwetsbare bouwpakketten, ongewenste scripts van derden en accounttoegang. Formulieren, betalingen of accounts voegen systemen toe die een eigen controle nodig hebben.
Een beveiligingsskill stuurt het werk van de agent; het is geen veiligheidscertificaat. npm audit meldt bekende pakketkwetsbaarheden en heeft ook beperkingen. Vraag wat is onderzocht en wat onbevestigd blijft in plaats van een algemene claim dat de site veilig is te accepteren.
De basis uitgelegd
Afhankelijk pakket (dependency)
Software waarop je project steunt, zoals Astro of een testbibliotheek. Fouten en kwetsbaarheden daarin kunnen je project raken.
Geheim vervangen (rotation)
Een toegangsbewijs vervangen en het oude uitschakelen, zodat een gekopieerde of gelekte oude waarde geen toegang meer geeft.
Invoercontrole op de server
Ingezonden gegevens bij de ontvangstdienst controleren voordat die ze accepteert. Browsercontroles zijn nuttig, maar kunnen worden overgeslagen.
Vraag het je agent
PromptMaak een afgebakend beveiligingsverslag
Gebruik website-security om de echte Fieldnotes Studio-bouw te controleren. Maak een overzicht van functies, pakketten, externe diensten en stromen van persoonsgegevens. Bekijk gevolgde bestanden, relevante Git-geschiedenis en dist op geheimen zonder waarden te tonen. Voer npm audit uit en leg relevante bevindingen uit. Controleer bij een backend-formulier serverinvoercontrole, misbruikbeperking, toegangsgegevens en foutafhandeling. Schrijf een gedateerd verslag met bewijs, ernst, herstellingen en onbevestigde gebieden. Pas veilige herstellingen binnen de taak toe en voer controles opnieuw uit. Claim geen volledige beveiliging of wettelijke naleving. Bestanden & opdrachten
shMeld bekende pakketkwetsbaarheden zonder pakketten te wijzigen
npm audit Als er iets misgaat
- Codex meldt gelekte toegangsgegevens.
- Schakel ze uit of vervang ze bij de aanbieder, verwijder daarna de blootstelling en bekijk hun gebruik. Vraag Codex om een afgebakend opruimplan; plak de gegevens niet in de chat.
- npm audit biedt een geforceerde update die de site kan breken.
- Vraag de waarschuwing en een passend herstelplan op. Test de wijziging op een branch en noteer openstaande problemen voordat je beslist of publicatie verantwoord is.
Officiële links & verder lezen
Persoonlijke notities
Noteer vragen, besluiten of ideeën voor je website. Waar mogelijk opgeslagen in deze browser; exporteer je notities om een kopie te bewaren. Vul nooit geheimen in.
Downloads & opgeslagen voortgangGids, notities en persoonlijke controles
Download de volledige gids of exporteer je notities uit alle hoofdstukken. Instructies voor het laatst gecontroleerd: .
Controles en notities blijven in deze browser, apart per taal. Exporteer je notities om ze te bewaren. Vul hier nooit API-sleutels of andere geheimen in.
NotitiesNotities als Markdown
Het klembord is niet beschikbaar. Kopieer de zichtbare, geselecteerde tekst hieronder met je toetsenbord of het browsermenu.
0 van 65 controles in de gids aangevinkt
Dit zijn jouw opgeslagen vinkjes. Ze voeren geen tests uit en controleren de beveiliging niet. Ze staan los van de balk met je leespositie hierboven.
StartbestandenWerkinstructies en vier skills
Deze sjablonen geven je agent een eerste set werkinstructies. Lees ze, pas ze aan je website aan en sla elk bestand op het getoonde pad op, gerekend vanaf je projectmap.
Een gedownloade skill is een instructiebestand. Het installeert geen testprogramma, voert geen beveiligingsscan uit en bewijst niet dat je site veilig is. De gids laat zien hoe je dat werk opzet en controleert.
Download de instructiebestanden in de taal van deze gids. Houd de technische bestandsnamen en paden gelijk aan de voorbeelden.
Download alle startbestandenBestandAGENTS.md
# Werkafspraken voor de website
Dit project volgt de websitebrief en acceptatiecriteria die met de eigenaar zijn afgesproken. Gebruik de bestaande technische keuzes, tenzij een concrete eis om een wijziging vraagt.
## Werkwijze
- Leg bij een grote functie vóór de bouw de voorgestelde wijzigingen en het controleplan uit. Rond toegestaan lokaal werk af in kleine stappen die de eigenaar kan beoordelen.
- Lees de bestanden die bij de taak horen. Houd andere pagina’s en instellingen intact.
- Leg nieuwe technische termen in gewone taal uit wanneer je aan de eigenaar rapporteert.
- Gebruik de skills website-design, clean-code, website-testing en website-security uit de repository wanneer hun werkwijzen van toepassing zijn.
- Leg belangrijke beslissingen en ontbrekende inhoud vast in de projectnotities. Verzin geen bedrijfsfeiten, aanbevelingen of publicatierechten.
## Controle
- Bekijk package.json om de echte commando’s voor bouwen, typecontrole en tests te vinden. Verzin geen geslaagde controle en maak geen betekenisloze test alleen om een commando te laten slagen.
- Voer controles uit die bij de wijziging passen. Lokale tests gebruiken tijdelijke testgegevens en hebben geen toegang tot productie; voer ze uit en herstel fouten door de gevraagde wijziging zonder bij elke stap toestemming te vragen.
- Controleer bezoekersinteracties in een browser wanneer browserhulpmiddelen beschikbaar zijn. Meld controles die onbeschikbaar of onvolledig blijven.
- Toon de eigenaar een werkende lokale preview en vat veranderd gedrag, bewijs en resterende beperkingen samen.
## Toegangsgegevens en publicatie
- Houd API-sleutels en andere geheimen buiten browsercode, prompts, logboeken en Git. Bewaar lokale geheimen in genegeerde bestanden of de gekozen beveiligde opslag.
- Lokaal bouwen en testen is toegestaan. De site publiceren, een echt bericht versturen, een betaling verwerken of productiegegevens wijzigen vereist toestemming van de eigenaar voor die handeling.
- Bewaar vóór publicatie een herstelbare werkende versie. Beschrijf hoe je die terugzet.
Dit zijn basisafspraken voor een nieuw oefenproject. Pas ze aan de echte eisen en al gegeven toestemming van de eigenaar aan.
Bestand.agents/skills/website-design/SKILL.md
---
name: website-design
description: Ontwikkel of verfijn de visuele richting en responsive interface van een website vanuit de brief, inhoud en het bestaande ontwerp. Gebruik voor paginaontwerp of visuele bouw.
---
Lees de websitebrief en bestaande ontwerpnotities voor de gevraagde pagina. Werk binnen de merkkeuzes, inhoud en technische keuzes van de gebruiker.
Stel bij een nieuwe richting letterkeuzes, een klein kleurenpalet, vaste afstanden en een voorbeeldpagina voor. Leg uit hoe deze keuzes de doelgroep en de hoofdactie van bezoekers ondersteunen. Gebruik echte inhoud om de volgorde van aandacht en regellengtes te beoordelen.
Maak herbruikbare onderdelen voor navigatie, koppen, knoppen en herhaalde inhoud. Geef hoofdacties een duidelijke visuele nadruk. Behoud zichtbare toetsenbordfocus, leesbaar contrast en bruikbare labels. Ontwerp smalle schermen naast desktopschermen; controleer lange koppen, navigatie en aanraakvlakken in een browser.
Gebruik betekenisvolle HTML voordat je aangepaste interactie toevoegt. Maak beweging optioneel en respecteer de voorkeur voor minder beweging. Gebruik materiaal waarvoor publicatierechten bekend zijn en noteer de bronnen. Verzin geen klantbeoordelingen, prestaties of bedrijfsfeiten.
Toon vóór uitbreiding naar alle pagina’s de eerste complete pagina op desktop- en telefoonbreedte. Beschrijf de belangrijkste ontwerpkeuzes en ontbrekende inhoud. Is een browserhulpmiddel onbeschikbaar? Meld dan dat visuele controle nog moet gebeuren.
Bestand.agents/skills/clean-code/SKILL.md
---
name: clean-code
description: Bouw of herstructureer websitecode tot begrijpelijke onderdelen met de bestaande techniek en afspraken van het project. Gebruik voor websitebouw of onderhoudbaarheid.
---
Lees de relevante bestanden en pakketscripts voordat je een aanpak kiest. Behoud werkend gedrag buiten de gevraagde wijziging. Gebruik bij voorkeur de bestaande techniek en pakketten als die aan de behoefte voldoen.
Houd pagina-inhoud apart van herhaalde opmaak wanneer dat bewerken makkelijker maakt. Geef onderdelen, variabelen en functies namen die hun doel beschrijven. Gebruik gedeelde onderdelen voor herhaalde navigatie en pagina-elementen; maak geen abstractie voor één eenvoudig gebruik.
Verwerk lege, ongeldige, ladende en fouttoestanden bij interacties die dat nodig hebben. Gebruik standaard browserbediening en betekenisvolle HTML wanneer die de interactie ondersteunen. Vermijd nep-formulierverzending, nagebootste succesmeldingen en dode links.
Gebruik typecontrole en de opmaak- of lintregels van het project waar die zijn ingesteld. Leg bij een nieuw pakket het doel en nieuwe onderhouds- of gebruikseisen uit. Houd gegenereerde bouwbestanden, geïnstalleerde pakketten en lokale omgevingsbestanden buiten versiebeheer.
Voer bestaande controles uit die bij de wijziging passen, inclusief een productiebuild wanneer het resultaat kan veranderen. Vat veranderd gedrag, controleresultaten en resterende beperkingen samen. Leg de belangrijkste bestanden in gewone taal uit, zodat een beginner de inhoud kan vinden en aanpassen.
Bestand.agents/skills/website-testing/SKILL.md
---
name: website-testing
description: Controleer websitewijzigingen met bezoekersroutes, passende automatische tests en browsercontroles. Gebruik bij websitetests, onderzoek naar fouten of voorbereiding op publicatie.
---
Begin met de brief en zichtbare acceptatiecriteria. Bekijk bestaande test- en bouwcommando’s; neem niet aan dat een script bestaat. Kies controles op basis van veranderd gedrag en de gevolgen van een fout.
Doorloop de hoofdroute voor bezoekers en betrokken links, navigatie en formulieren. Neem ongeldige invoer en relevante fouttoestanden mee. Controleer bij een contactformulier echte bezorging op de afgesproken testbestemming voordat je meldt dat het werkt. Leg bij een e-maillink uit dat die het ingestelde mailprogramma van de bezoeker opent en niet automatisch een bericht verstuurt.
Controleer smalle en brede schermen in een browser. Neem toetsenbordnavigatie, zichtbare focus, toegankelijke namen, zoom en horizontaal overlopen mee. Automatische toegankelijkheidsresultaten vullen deze handmatige controles aan en bewijzen geen volledige toegankelijkheidsnaleving.
Voeg automatische tests toe voor belangrijk gedrag of aangetoonde terugkerende fouten. Test zichtbare resultaten en betekenisvolle foutgevallen; vermijd tests die alleen de geschreven code herhalen of toevallige formuleringen vergelijken. Gebruik tijdelijke testgegevens en lokale testbestanden. Verstuur nooit echte berichten, voer geen betalingen uit en wijzig geen productiegegevens zonder toestemming van de gebruiker.
Reproduceer een fout, herstel de oorzaak en voer betrokken controles opnieuw uit. Meld uitgevoerde commando’s, resultaten, browsercontroles en alles wat niet is gecontroleerd. Een geslaagde build toont dat de site kan worden gemaakt; controleer bezoekersgedrag apart. Meld nooit dat een controle geslaagd is als die is overgeslagen of onbeschikbaar was.
Bestand.agents/skills/website-security/SKILL.md
---
name: website-security
description: Controleer geheimen, pakketten, invoer, toegang en publicatie-instellingen van een website en herstel bevindingen binnen de afgesproken taak. Gebruik voor gevraagde beveiligingscontrole of voorbereiding op publicatie.
---
Breng de relevante onderdelen van de site in kaart: statische pagina’s, formulieren, backend-routes, aanmelding, scripts van derden en opgeslagen gegevens. Beperk de controle tot de echte technische opzet en de toegestane omgeving.
Houd toegangsgegevens buiten browsercode, logboeken, prompts en Git. Maak onderscheid tussen openbare instellingen tijdens de build en servergeheimen. Is een sleutel als commit opgeslagen of blootgesteld? Gebruik hem niet meer, leg uit dat het bestand verwijderen de sleutel niet intrekt en laat de eigenaar hem vóór verder gebruik intrekken of vervangen. Toon de toegangsgegevens niet in je verslag.
Bekijk relevante beveiligingswaarschuwingen voor pakketten en beoordeel of het betrokken pakket en het kwetsbare gedrag worden gebruikt. Herstel binnen compatibele versies en voer de betrokken controles opnieuw uit. Vermijd automatische geforceerde upgrades die de website kunnen breken.
Controleer bij backend-interacties de invoer op de server, geef uitvoer passend gecodeerd weer en controleer aanmelding en toegangsrechten afzonderlijk. Overweeg misbruikbeperking voor openbare formulieren of AI-toegangspunten. Een OpenAI API-sleutel hoort op de server; een statische site publiceren biedt geen geheime serveromgeving.
Controleer HTTPS en relevante beveiligingsheaders bij de echte hosting. Verzamel alleen gegevens die de functie nodig heeft en leg hun bestemming en bewaartermijn uit. Claim geen wettelijke naleving op basis van een codescan.
Meld elke bevinding met locatie, aannemelijke impact, herstel en controle. Beschrijf de reikwijdte, gebruikte hulpmiddelen, openstaande bevindingen en ontoegankelijke onderdelen. Een schone scan is bewijs binnen het bereik van die scan, geen garantie dat de website geen kwetsbaarheden heeft. Scan geen systemen van derden en publiceer geen wijzigingen buiten de toegestane taak.