Is mijn vibe-coded product klaar voor echte gebruikers? Een lanceringschecklist

Je hebt je product gebouwd met Lovable, Bolt, Cursor of Claude, het werkt op je scherm en de eerste gebruikers staan te wachten. Dat is een prestatie: met AI-tools bouwen oprichters in dagen wat vroeger maanden kostte. Maar "het werkt in de demo" en "het is klaar voor echte gebruikers en echte data" zijn niet hetzelfde. Deze checklist behandelt waar wij eerst naar kijken als een oprichter ons vraagt of zijn AI-gebouwde product klaar is voor lancering.
Het korte antwoord
Een vibe-coded product is meestal klaar om te laten zien, en vaak nog niet klaar om klantgegevens of betalingen aan toe te vertrouwen. De gaten zitten zelden in wat je kunt zien. Ze zitten in wat er gebeurt als iemand het product gebruikt op een manier die je niet hebt getest: een gebruiker die een ID in de adresbalk aanpast, een gelekte sleutel, een mislukte betaling, een database zonder back-ups. Loop de checklist hieronder door voordat je lanceert, of vraag iemand die dat kan.
1. Geheimen en sleutels
- Open je live site, bekijk de broncode en zoek op "key", "secret" en "token". API-sleutels van betaalproviders, AI-modellen of e-maildiensten horen nooit in code te staan die in de browser draait.
- Bewaar ze in omgevingsvariabelen op de server en vervang elke sleutel die ooit in de browser of in een publieke repository heeft gestaan.
- Stel bestedingslimieten en meldingen in voor betaalde API's, zodat een gelekte sleutel of een loop 's nachts geen hoge rekening kan veroorzaken.
2. Wie kan wat zien
- Log in als een testgebruiker en probeer de gegevens van een andere gebruiker te openen door een ID in de URL of het verzoek aan te passen. Als dat lukt, kan elke klant de gegevens van elke andere klant zien.
- Gebruik je Supabase, zorg dan dat Row Level Security aanstaat op elke tabel, met policies die passen bij wie elke rij mag lezen en schrijven. Zonder dat kan iedereen met je publieke sleutel de tabel opvragen.
- Controleer dat beheerpagina's en -acties op de server beveiligd zijn, en niet alleen verborgen in de interface.
3. Betalingen
- Vertrouw nooit op een prijs of een status "betaald" die uit de browser komt. Prijzen worden op de server bepaald, en bestellingen worden bevestigd door de webhook van de betaalprovider, met geverifieerde handtekening.
- Test mislukte betalingen, terugbetalingen en dubbele klikken in de testmodus van de provider, niet alleen het ideale pad.
4. Data en back-ups
- Zorg dat je database automatisch een back-up krijgt, en zet één keer een back-up terug om te bewijzen dat het werkt.
- Weet waar je data staat en wie er toegang toe heeft. Klanten gaan het vragen, en de wet ook.
5. Als er iets stukgaat
- Voeg foutopsporing (error tracking) toe, zodat je de fouten ziet waar je gebruikers tegenaan lopen in plaats van er dagen later over te horen.
- Voeg uptimemonitoring toe voor de site en de belangrijkste flows, zoals registratie en checkout.
- Test met realistische hoeveelheden data. Een pagina die snel is met tien records kan time-outen met tienduizend.
6. Privacy en juridische basis
- Een privacybeleid waarin staat wat je verzamelt en waarom, en cookietoestemming waar analytics of advertenties dat vereisen.
- Heb je gebruikers in de EU, dan geldt de AVG (GDPR); in Thailand de PDPA. Beide geven gebruikers rechten over hun gegevens, zoals inzage en verwijdering.
7. Kun je blijven bouwen?
- Staat de code in een repository die jij bezit, zoals GitHub, en kun je hem uitrollen zonder de tool die hem heeft gegenereerd?
- Kan een developer hem begrijpen? AI-gebouwde code herhaalt vaak dezelfde logica op veel plekken, waardoor elke latere wijziging trager en riskanter wordt.
- Worden de kritieke flows, zoals registratie, inloggen en betalen, gedekt door minstens een paar geautomatiseerde tests?
Een snelle zelfcheck
| Vraag | Klaar | Nog niet |
|---|---|---|
| Staan alle geheime sleutels alleen op de server? | Ja, en vervangen | Sommige staan in de browsercode |
| Kan een gebruiker alleen zijn eigen data zien? | Getest met twee accounts | Niet getest |
| Worden betalingen door de provider bevestigd? | Webhook met geverifieerde handtekening | De browser zegt "betaald" |
| Is er een geteste back-up? | Minstens één keer teruggezet | Weten we niet |
| Weet je het als het stukgaat? | Error tracking en uptimemeldingen | Gebruikers vertellen het ons wel |
| Ben je eigenaar van de code? | In onze eigen repository | Alleen in de AI-tool |
Hoe verder
Begin met een gratis scan van je live site met EngineeringScore, onze eigen audittool: die beoordeelt beveiliging, prestaties, SEO, toegankelijkheid en betrouwbaarheid, en geeft je een lijst met prioriteiten. Hij kan niet in je code of database kijken, dus voor bovenstaande punten moet een developer er nog naar kijken. Dat doen wij als klein project, per dag gefactureerd, of met spoedhulp als er al iets in brand staat. Wij houden van AI-gebouwde producten; we gebruiken deze tools zelf elke dag. We zorgen er alleen voor dat ze klaar zijn voor de mensen die erop gaan vertrouwen.
Veelgestelde vragen
Is het veilig om een app te lanceren die met Lovable, Bolt of Cursor is gebouwd?
Dat kan, zodra de basis is gecontroleerd: geheimen op de server, gebruikers beperkt tot hun eigen data, betalingen bevestigd door de provider, geteste back-ups, monitoring en privacy. Dit wordt zelden standaard gedaan.
Wat zijn de meest voorkomende beveiligingsproblemen in AI-gegenereerde apps?
API-sleutels in browsercode, ontbrekende toegangscontroles waardoor gebruikers elkaars data kunnen zien, databasetabellen zonder Row Level Security en betalingen die op de browser vertrouwen.
Heb ik Row Level Security nodig in Supabase?
Ja, op elke tabel die met je publieke sleutel bereikbaar is. Zonder kan iedereen met die sleutel de tabel lezen.
Moet ik mijn vibe-coded product herschrijven?
Meestal niet. De meeste producten hebben gerichte verbeteringen nodig in beveiliging, betalingen en gegevensverwerking, plus een aantal tests, in plaats van een herschrijving.
Kunnen jullie mijn AI-gebouwde product beoordelen?
Ja. Begin met een gratis EngineeringScore-scan van je live site; voor de code en database beoordeelt een senior developer het als klein project, per dag gefactureerd.
Gerelateerde artikelen

LLM versus System One-model: Claude en ChatGPT tegenover Jev en SubQ Snap
LLM's zoals Claude en ChatGPT schrijven antwoorden; System One-beslissingsmodellen zoals Jev en SubQ Snap kiezen ze. Het verschil, de prijzen en wanneer je welk gebruikt.


Mijn WordPress-website ligt eruit: wat nu? (checklist)
WordPress-site down? Koppel de foutmelding aan de oorzaak en los het stap voor stap op: domein, hosting, SSL, database, kritieke fouten, onderhoudsmodus en hacks.


SEO voor een digitaal product: het begint lang voor je je eerste artikel schrijft
SEO begint bij het product: sluit aan op zoekintentie, doe keywordonderzoek voor je bouwt, plan de sitestructuur en gebruik programmatic pages en AI-zoekopdrachten verstandig.

