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

  1. 01 Publieke identifier pub_live_…
  2. 02 Origin-validatie tegen de domeinlijst
  3. 03 Kortlevende sessie met smalle scopes
  4. 04 Centrale API
  5. 05 Tenantconfiguratie
  6. 06 Pricing-, technische en AI-engines

Server-to-server (Enterprise)

  1. 01 Privaat credential sk_live_… of OAuth
  2. 02 Centrale API
  3. 03 Dezelfde engines, ruimere scopes

De browser krijgt nooit een privaat credential. Origin-validatie is aanvullende beveiliging, niet de enige authenticatie.

Maatregelen

MaatregelToelichting
HTTPS en HSTSAl het verkeer loopt over TLS; HSTS staat aan in productie.
Veilige cookiesHttpOnly, SameSite en Secure in productie.
CSRF-beschermingVoor alles wat op cookie-authenticatie steunt.
RBACZeven rollen met een expliciete permissiematrix.
Tenant-isolatieElke query wordt in de datalaag aan één omgeving gebonden.
Rate limitingPer IP en per endpoint, met strengere limieten op inloggen en registreren.
ValidatieAlle invoer wordt server-side gecontroleerd, ongeacht wat de browser al deed.
Ondertekende URL'sFoto's en documenten zijn alleen bereikbaar via tijdelijke, ondertekende links.
Secret managerSleutels staan in de omgeving, nooit in de codebase of in logs.
Audit loggingWijzigingen worden vastgelegd met gebruiker, tijdstip en IP.
Back-upsDe database wordt geback-upt volgens de instellingen van de databasedienst.
MonitoringAPI-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.