Eerste stappen. Geavanceerde AI.
Gepubliceerde gidsBijgewerkt
Hoofdstuk 5 van 20Voorbereiden
Houd privégegevens veilig
Bescherm wachtwoorden en sleutels en controleer wat in je projectgeschiedenis terechtkomt.
Met een paar eenvoudige gewoontes houd je privégegevens uit je website.
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.
-
Bewaar geheimen buiten het project
Bewaar sleutels en herstelcodes in een wachtwoordmanager of beveiligde opslag, buiten chat en fieldnotes-studio.
Voorbeeld ter illustratie - Bewaar
- Wachtwoorden, sleutels en herstelcodes → Beveiligde opslag
Let op: Geheime toegangsgegevens blijven buiten chat en het websiteproject.
Meer hulp bij deze actie
Git onthoudt oude commits: een sleutel uit het huidige bestand verwijderen laat de geschiedenis staan. Trek gelekte toegangsgegevens bij hun aanbieder in voordat je de repositorygeschiedenis aanpakt. Private repositories zijn geen wachtwoordmanagers. Omgevingsvariabelen geven instellingen aan hulpmiddelen. Een .env-bestand kan lokale instellingen bevatten, maar is niet nodig voor aanmelding in de desktopapp. Bezoekers kunnen browsercode lezen; Astro PUBLIC_-variabelen mogen alleen openbare informatie bevatten.
Toon de stappen
- Gebruik een wachtwoordmanager voor herstelcodes en sleutels en volg de uitleg over bescherming van toegangsgegevens. Gebruik de aanmeldschermen van apps in plaats van documenten met toegangsgegevens in fieldnotes-studio te maken.
- Gebruik het aanmeldscherm van de app in plaats van een wachtwoordendocument in je project te maken.
- Een private GitHub-repository is geen wachtwoordmanager. Houd geheimen buiten screenshots, logboeken, prompts en bronbestanden.
- Deze statische website heeft geen OpenAI-sleutel nodig.
Dit zou je nu moeten zien: Geheime toegangsgegevens blijven buiten chat en het websiteproject.
-
Negeer lokale privébestanden
Verstuur de prompt voor geheime gegevens. Vraag Codex de .gitignore-basisregels samen te voegen zonder bestaande regels te verwijderen.
Voorbeeld ter illustratie - In Codex
- Prompt voor geheime gegevens kopiëren → Versturen
- Controleer
- .gitignore → Bestaande regels behouden
Let op: De samengevoegde .gitignore sluit lokale geheime bestanden en gegenereerde mappen uit.
Meer hulp bij deze actie
Volg deze stappen als je meer uitleg wilt.
Toon de stappen
- Vraag Codex de .gitignore-basisregels met bestaande regels samen te voegen. Lees GitHubs uitleg over genegeerde bestanden en behoud bestaande uitsluitingen.
- Open de samengevoegde .gitignore en vergelijk die met de basisregels.
- De regels sluiten node_modules, dist, .astro, .env en .env.* uit en staan een onschuldige .env.example toe.
- Een uitsluitingsregel werkt voor bestanden die Git nog niet volgt; hij verwijdert geen bestaande commits en wist geen geschiedenis.
Dit zou je nu moeten zien: De samengevoegde .gitignore sluit lokale geheime bestanden en gegenereerde mappen uit.
-
Gebruik onschuldige voorbeelden
Deze statische site heeft geen .env-bestand nodig. Documenteer toekomstige instellingen alleen met onschuldige voorbeelden in .env.example.
Voorbeeld ter illustratie - Voor deze site
- Geen .env nodig
- Als het later nuttig is
- .env.example → Alleen onschuldige instellingen
Let op: Het project bevat geen onnodig bestand met toegangsgegevens en geen echte geheimen in voorbeelden.
Meer hulp bij deze actie
Volg deze stappen als je meer uitleg wilt.
Toon de stappen
- Deze statische site heeft geen .env-bestand nodig. Gebruik voor toekomstige instellingen .env.example met onschuldige waarden; lees Astro’s omgevingsvariabelen zodat er geen echt geheim in staat.
- Maak geen .env-bestand alleen omdat een handleiding het noemt.
- Een optionele .env.example is documentatie. Gebruik duidelijk onschuldige voorbeeldinstellingen in plaats van echte geheimen te kopiëren.
- Astro PUBLIC_-instellingen kunnen de browser van de bezoeker bereiken en mogen alleen openbare informatie bevatten.
Dit zou je nu moeten zien: Het project bevat geen onnodig bestand met toegangsgegevens en geen echte geheimen in voorbeelden.
-
Houd toekomstige sleutels op de server
Voor een toekomstige backend: controleer waar instellingen werken. Vraag Codex welke waarden bezoekers kunnen lezen voordat je een geheim toevoegt.
Voorbeeld ter illustratie - Optionele toekomstige functie
- Vraag waar elke instelling werkt → Server of browser?
Let op: Je begrijpt waarom browsercode en PUBLIC_-waarden geen sleutel kunnen verbergen.
Meer hulp bij deze actie
Volg deze stappen als je meer uitleg wilt.
Toon de stappen
- Gebruik voor een toekomstige backenddienst lokale omgevingsinstellingen en de geheime instellingen van je hosting. Vraag Codex waar elke waarde werkt en of bezoekers die kunnen lezen.
- Dit bereidt een toekomstige functie voor; je voegt nu geen backend toe. Een werkende e-maillink heeft geen geheim nodig.
- Vraag bij een latere dienst welke code op een server draait en welke code naar de browser gaat.
- Gebruik beschermde hostinginstellingen voor servergegevens. Een vermomde tekenreeks of verborgen formulierveld in browsercode blijft leesbaar.
Dit zou je nu moeten zien: Je begrijpt waarom browsercode en PUBLIC_-waarden geen sleutel kunnen verbergen.
-
Controleer vóór de commit
Voer de controles op uitsluitingen en wijzigingen uit. Laat Codex mogelijke geheimen melden met bestandsnaam en type, zonder hun waarden te tonen.
Voorbeeld ter illustratie - Voer uit
- git check-ignore .env → git status → git diff
- In Codex
- Meld alleen bestandsnamen en typen geheimen
Let op: De uitsluitingscontrole geeft .env terug en de openstaande wijzigingen bevatten geen toegangsgegevens of herstelcodes.
Meer hulp bij deze actie
Volg deze stappen als je meer uitleg wilt.
Toon de stappen
- Controleer vóór een commit git status en git diff. Laat Codex mogelijke geheimen herkennen zonder hun waarden te tonen.
- Voer git check-ignore .env uit binnen fieldnotes-studio; het moet .env teruggeven, ook zonder dat bestand te maken.
- Bekijk git status en git diff. Zet ook nieuwe bestanden klaar en controleer die; gewone git diff toont geen inhoud van bestanden die Git nog niet volgt.
- Vraag alleen naar locaties en typen van mogelijke geheimen. Los die op vóór de commit; deze controle biedt bewijs, geen veiligheidsgarantie.
Dit zou je nu moeten zien: De uitsluitingscontrole geeft .env terug en de openstaande wijzigingen bevatten geen toegangsgegevens of herstelcodes.
-
Weet wat je na een lek doet
Lekt een sleutel uit? Trek hem in bij de aanbieder. Het bestand verwijderen haalt de sleutel niet uit de geschiedenis.
Voorbeeld ter illustratie - Als een sleutel lekt
- Instellingen van de aanbieder → Sleutel intrekken → Lek en geschiedenis controleren
Let op: Je weet dat je gelekte toegangsgegevens eerst intrekt voordat je bestanden en geschiedenis opruimt.
Meer hulp bij deze actie
Volg deze stappen als je meer uitleg wilt.
Toon de stappen
- Komt een toegangsbewijs in chat, Git, screenshots of op een openbare pagina terecht? Trek het direct in. Volg de uitleg voor herstel na een datalek; alleen de zichtbare gegevens verwijderen is onvoldoende.
- Dit is uitleg voor herstel, geen verzoek om een werkende sleutel in te trekken. Sla dit over als er niets is gelekt.
- Trek gelekte toegangsgegevens eerst in bij hun aanbieder. Vervang ze alleen als de dienst ze nog nodig heeft.
- Pak daarna de repositorygeschiedenis en andere kopieën aan. .gitignore wist geen oude commits en stopt niet automatisch met het volgen van een bestaand bestand.
Dit zou je nu moeten zien: Je weet dat je gelekte toegangsgegevens eerst intrekt voordat je bestanden en geschiedenis opruimt.
Waarom deze stap belangrijk is
Bezoekers kunnen browsercode bekijken. Wachtwoorden en sleutels horen in beveiligde opslag, nooit in code die naar hun browser gaat.
Git bewaart oude versies. Lekt een sleutel uit? Trek die eerst in; het bestand van vandaag verwijderen maakt de sleutel niet veilig.
De basis uitgelegd
Geheim
Een waarde die toegang geeft, zoals een wachtwoord, API-sleutel, privé-token of herstelcode.
Omgevingsvariabele
Een benoemde instelling die de omgeving aan een programma meegeeft. Die kan openbare instellingen of geheime toegangsgegevens bevatten.
.gitignore
Een bestand met lokale paden die Git niet moet volgen. Het verwijdert geen bestanden die al als commit zijn opgeslagen.
Backend
Code op een server of dienst, waar geheime toegangsgegevens en beschermde handelingen buiten de browser van de bezoeker kunnen blijven.
Vraag het je agent
PromptStel grenzen voor geheime gegevens in
Controleer of toegangsgegevens blootstaan zonder geheimen te tonen. Voeg passende Astro-regels en regels voor lokale geheimen samen in .gitignore en behoud bestaande regels. Deze statische site heeft geen API-sleutels nodig. Meld vermoedelijke toegangsgegevens alleen met bestandsnaam en type. Leg het verschil uit tussen nieuwe bestanden negeren en gevolgde bestanden niet meer volgen. Bestanden & opdrachten
textBasisuitsluitingen om toe te voegen aan .gitignore
node_modules/
dist/
.astro/
.env
.env.*
!.env.example shellControleer of een lokaal omgevingsbestand wordt genegeerd
git check-ignore .env
git status
git diff Als er iets misgaat
- Een genegeerd geheim wordt nog steeds door Git gevolgd.
- Vraag Codex te controleren welke bestanden Git volgt en het lokale bestand te bewaren terwijl het volgen stopt. Trek gelekte toegangsgegevens eerst in; de geschiedenis blijft bestaan.
- Codex vraagt om een sleutel voor gewone pagina’s.
- Leg uit dat Codex al is aangemeld. Vraag welke echte websitedienst de sleutel nodig heeft voordat je er een toevoegt.
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.