Ga naar inhoud

Beveiligingsaudit

Vraag de AI om de beveiliging van je app te beoordelen, volg de onderstaande best practices en bewaar geheimen op de pagina Settings.

Beveiliging in Proyecta wordt geregeld door een combinatie van standaardinstellingen van het platform, AI-gestuurde beoordelingen en een aantal gewoonten die je zelf moet aanleren. Zo kun je er het beste over nadenken.

Open het Command Palette (Cmd+K / Ctrl+K) en selecteer Run Security Audit. Dit stuurt een uitgebreide beveiligingsprompt naar de AI, die je volledige codebase doorleest en kwetsbaarheden naar boven haalt met geprioriteerde bevindingen en specifieke oplossingen.

De audit controleert op:

  • Hardgecodeerde API-sleutels, tokens of wachtwoorden in bronbestanden
  • VITE_-prefixed omgevingsvariabelen die geheimen naar de client lekken
  • Ontbrekende server-side invoervalidatie op API-endpoints
  • Pagina’s of API-endpoints zonder authenticatie
  • Niet-geëscapete gebruikersinhoud (XSS-risico’s)
  • Kwetsbaarheden in afhankelijkheden
  • Mixed content of hardgecodeerde http://-URL’s
  • Ontbrekende validatie van bestandsuploads

Je kunt ook handmatig een beveiligingsaudit uitvoeren vanuit de chat, of de scope beperken tot een specifiek onderdeel:

  • "Review my checkout flow for security issues"
  • "Check the admin pages — who can access what?"
  • "Look at every endpoint that writes to the database and tell me if any of them are missing authorization"

Bewaar geheimen veilig

  • Sla elke API-sleutel, databasereferentie en token van derden op in het gedeelte Omgevingsvariabelen op de pagina Settings
  • Plak nooit geheimen in chatberichten en voeg ze niet toe aan de code
  • Als een geheim is blootgesteld, trek het dan onmiddellijk in bij de externe aanbieder en maak een nieuw geheim aan

Beperk de toegang

  • Implementeer rolgebaseerde rechten in je app ("Add admin and member roles. Only admins can access /admin pages.")
  • Beperk gevoelige pagina’s en endpoints tot geauthenticeerde gebruikers
  • Valideer gebruikersinvoer altijd server-side, nooit alleen op de client

Gebruik overal HTTPS

  • Alle gepubliceerde Proyecta-apps worden automatisch via HTTPS aangeboden
  • SSL-certificaten worden voor je aangemaakt en verlengd
  • Voor aangepaste domeinen geldt hetzelfde zodra de DNS correct is ingesteld

Houd afhankelijkheden up-to-date

  • Vraag de AI periodiek: "Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones."
  • Controleer wat de AI wijzigt — dependency-upgrades bevatten soms breaking changes

Voer een audit uit na grote wijzigingen

  • Voer opnieuw een audit uit nadat je authenticatie, betalingen, bestandsuploads of iets anders hebt toegevoegd dat gebruikersgegevens verwerkt
  • Voer een grondige controle uit voordat je voor het eerst naar productie publiceert
  • HTTPS en certificaten voor je *.proyecta.live-subdomein
  • Omgevingsvariabelen — geheimen worden opgeslagen in een speciale secrets store en gesynchroniseerd met de backend van je app (Convex), en worden nooit aan je codebase toegevoegd. Let op: geheimen zijn zichtbaar voor werkruimteleden met toegang tot het project.
  • Geïsoleerde runtimes — elk project wordt uitgevoerd in zijn eigen container, zodat problemen in de ontwikkelomgeving geen invloed hebben op andere gebruikers
  • Voer een audit uit vóór je eerste publicatie — een grondige controle vangt problemen op voordat ze live gaan.
  • Voer opnieuw een audit uit na grote wijzigingen — het toevoegen van authenticatie, betalingen of bestandsuploads introduceert nieuwe aanvalsvectoren.
  • Beperk de scope — audits op specifieke onderdelen zijn sneller en grondiger dan volledige app-controles.