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 Settings-pagina.

Beveiliging in Proyecta wordt verzorgd door een combinatie van platformstandaarden, AI-gedreven reviews en een aantal gewoontes die je zelf moet opbouwen. Hier lees je hoe je erover kunt nadenken.

Open het Command Palette (Cmd+K / Ctrl+K) en kies Run Security Audit. Dit stuurt een uitgebreide beveiligingsprompt naar de AI, die je volledige codebase doorleest en kwetsbaarheden naar voren brengt met geprioriteerde bevindingen en concrete 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ëscapede gebruikersinhoud (XSS-risico’s)
  • Kwetsbaarheden in afhankelijkheden
  • Mixed content of hardgecodeerde http://-URL’s
  • Ontbrekende validatie bij 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"

Geheimen veilig bewaren

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

Toegang beperken

  • 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

Overal HTTPS gebruiken

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

Afhankelijkheden actueel houden

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

Audit na grote wijzigingen

  • Voer een audit opnieuw uit na het toevoegen van authenticatie, betalingen, bestandsuploads of alles wat gebruikersgegevens aanraakt
  • Doe een volledige controle voordat je voor het eerst naar productie publiceert
  • HTTPS en certificaten voor je *.proyecta.live-subdomein
  • Waar je app-data staat — de inhoud, records en catalogus van je app worden opgeslagen in de Proyecta-platformdatalaag (gebaseerd op Postgres), afgeschermd per organisatie en versleuteld opgeslagen. Je gepubliceerde app bereikt deze data met een publishable key (pk_pub_*) die veilig in de pagina mag staan: de server beperkt anonieme verzoeken tot gepubliceerde inhoud, en voor adminacties is bovendien een ingelogde sessie met de juiste rol vereist. Elk verzoek wordt geautoriseerd op basis van je organisatie — een app kan nooit de data van een andere app inzien.
  • Omgevingsvariabelen — geheimen worden opgeslagen in een aparte secrets store, waar van toepassing gesynchroniseerd met de backend van je app, en nooit gecommit in je codebase. Let op: geheimen zijn zichtbaar voor workspaceleden met projecttoegang.
  • Geïsoleerde runtimes — elk project draait in zijn eigen container, zodat problemen in de dev-omgeving geen invloed hebben op andere gebruikers
  • Voer een audit uit vóór je eerste publicatie — een volledige controle pakt problemen aan voordat ze live gaan.
  • Herhaal de audit na grote wijzigingen — het toevoegen van auth, betalingen of bestandsuploads introduceert nieuw aanvalsoppervlak.
  • Beperk de scope — audits op specifieke onderdelen zijn sneller en grondiger dan volledige app-sweeps.