Beveiligingsbijlage — EA Transport
Bijlage bij de verwerkersovereenkomst: concrete technische en organisatorische maatregelen (art. 32 AVG).
Technische maatregelen
| Maatregel | Status | Toelichting |
|---|---|---|
| Tenant-scheiding per transportbedrijf | Geïmplementeerd | Row Level Security in PostgreSQL/Supabase; iedere query is automatisch beperkt tot company_id = current_company_id() van de ingelogde gebruiker (zie supabase/migrations/0002_auth_and_rls.sql) |
| Encryptie in transit | Geïmplementeerd | HTTPS/TLS voor alle verkeer naar het dashboard, de n8n-webhooks en Supabase |
| Encryptie at rest | Geïmplementeerd | Standaard encryptie-at-rest van de Supabase/PostgreSQL-hostingprovider |
| Authenticatie | Geïmplementeerd | Supabase Auth (e-mail/wachtwoord); geen publieke self-registratie — accounts ontstaan alleen via uitnodiging door een bedrijfsbeheerder |
| Least-privilege rollen | Geïmplementeerd | Rolgebaseerde navigatie en servergezijdige rolcontrole in het dashboard (admin/planner/finance/driver); zie components/DashboardNav.tsx en de per-pagina rolchecks |
| Beveiligde order-intake | Geïmplementeerd | De publieke order-intake-webhook vereist een geheime sleutel (X-EA-Transport-Secret) — niet vrij aanroepbaar zonder autorisatie |
| Service-role-scheiding | Geïmplementeerd | De n8n-workflows gebruiken een service-role-sleutel/directe databasetoegang die buiten RLS om schrijft; elke query daarin filtert zelf op company_id |
| Betalingsverwerking | Uitbesteed aan Mollie | Kaartgegevens en betaalgegevens worden nooit door EA Transport zelf opgeslagen — Mollie is PCI-DSS-gecertificeerd en verwerkt de daadwerkelijke betaling |
| Gescheiden omgevingen | Aanbevolen | Gebruik een apart Supabase-project voor demo's/tests, gescheiden van de productieomgeving |
| MFA voor gevoelige rollen | Nog niet geïmplementeerd | Voorzien als uitbreiding zodra de eerste betalende klant met financiële rollen (finance) live gaat — zie docs/mvp-roadmap.md |
| SSO | Nog niet geïmplementeerd | Niet relevant voor de doelgroep (2-10 trucks); mogelijke latere uitbreiding bij grotere klanten |
Organisatorische maatregelen
- Toegang tot de Supabase service-role-sleutel en de n8n-omgeving is beperkt tot de leverancier (Elhoucine Automation) en, na oplevering, de door de klant aangewezen bedrijfsbeheerder(s).
- Nieuwe gebruikers worden alleen toegevoegd via een expliciete uitnodiging door een bedrijfsbeheerder (geen self-serve registratie) — zie
app/api/internal/users/invite/route.ts. - Zie
docs/juridisch/incidentprocedure.mdvoor de te volgen stappen bij een (vermoeden van een) datalek.
Wat nog ontbreekt voor een volwaardig productiebeveiligingsniveau
- Onafhankelijke security-review/pentest vóór eerste betalende productie-oplevering aan een klant.
- Formele incident-response-oefening met het team.
- MFA voor de rollen admin en finance, zodra er meerdere klanten met echte financiële gegevens op draaien.