Beveiliging
De klantwebsite is alleen de ingang.
Het architectuurprincipe is kort: onze SaaS blijft de bron van waarheid, de tenant krijgt een white-label frontend en nooit backendcode of infrastructuurgeheimen.
Browserintegratie
- 01 Publieke identifier pub_live_…
- 02 Origin-validatie tegen de domeinlijst
- 03 Kortlevende sessie met smalle scopes
- 04 Centrale API
- 05 Tenantconfiguratie
- 06 Pricing-, technische en AI-engines
Server-to-server (Enterprise)
- 01 Privaat credential sk_live_… of OAuth
- 02 Centrale API
- 03 Dezelfde engines, ruimere scopes
De browser krijgt nooit een privaat credential. Origin-validatie is aanvullende beveiliging, niet de enige authenticatie.
Maatregelen
| Maatregel | Toelichting |
|---|---|
| HTTPS en HSTS | Al het verkeer loopt over TLS; HSTS staat aan in productie. |
| Veilige cookies | HttpOnly, SameSite en Secure in productie. |
| CSRF-bescherming | Voor alles wat op cookie-authenticatie steunt. |
| RBAC | Zeven rollen met een expliciete permissiematrix. |
| Tenant-isolatie | Elke query wordt in de datalaag aan één omgeving gebonden. |
| Rate limiting | Per IP en per endpoint, met strengere limieten op inloggen en registreren. |
| Validatie | Alle invoer wordt server-side gecontroleerd, ongeacht wat de browser al deed. |
| Ondertekende URL's | Foto's en documenten zijn alleen bereikbaar via tijdelijke, ondertekende links. |
| Secret manager | Sleutels staan in de omgeving, nooit in de codebase of in logs. |
| Audit logging | Wijzigingen worden vastgelegd met gebruiker, tijdstip en IP. |
| Back-ups | De database wordt geback-upt volgens de instellingen van de databasedienst. |
| Monitoring | API-latency, fouten, AI-storingen, wachtrijen, PDF, webhooks en billing. |
Wat er nooit in de frontend staat
De harde grens.
Deze categorieën verlaten de server niet, in geen enkele vorm en ook niet in logbestanden.
- Wachtwoorden
- Private API-secrets
- Betaalgegevens
- AI-sleutels
- Databasegegevens
- Marges en interne prijslogica
- Databank-ID's van andere omgevingen
Tenant-isolatie, getest
Isolatie is geen belofte maar een testbaar gegeven: de testsuite controleert expliciet dat omgeving A geen enkele rij van omgeving B kan lezen of wijzigen, ook niet wanneer het verzoek een vreemd tenant-id meestuurt.
De datalaag weigert bovendien elke query op een tenantgebonden tabel zonder tenantcontext. Dat is een technische barrière, niet een afspraak.
Een securityvraag?
We beantwoorden vragen over architectuur, verwerking en bewaartermijnen graag concreet.