eu-central-1 · fra1

Beveiliging & de gegevens van je klanten

Standplanning betekent namen, functies, contactgegevens en aantekeningen over gesprekken. Dat zijn gegevens van andere mensen, die bij jou liggen. Deze pagina vertelt precies hoe ze beschermd zijn en wie erbij kan — zodat je zelf kunt oordelen in plaats van ons op ons woord te geloven.

Alles hieronder is gecontroleerd op het draaiende productiesysteem.

Waar je gegevens staan

Database in Frankfurt
PostgreSQL in AWS-regio eu-central-1 — Frankfurt, Duitsland.
Applicatie in Frankfurt
De servercode draait in regio fra1, ook Frankfurt. Eerder draaide die in Washington DC terwijl de database hier stond — persoonsgegevens werden dus bij elk verzoek in de VS verwerkt. Dat hebben we veranderd. Je kunt de header x-vercel-id zelf nakijken: daar staat fra1::fra1.
Niets wordt buiten de EU verwerkt
Geen analytics, geen advertentietrackers, geen scripts van derden in de applicatie.

Waarom het ene bedrijf niets van het andere ziet

Dit is het punt dat het meest telt, dus hier het mechanisme in plaats van een slogan.

De database weigert, niet de code
Elke tabel heeft Row Level Security: PostgreSQL zelf hangt aan elke opvraging een filter dat controleert of de rij hoort bij een bedrijf waar jij lid van bent. Het is geen if-statement in onze applicatie dat we kunnen vergeten — een fout in de app kan geen rijen uitdelen die de database niet vrijgeeft.
Alle 22 tabellen, geen uitzonderingen
Klanten, afspraken, bezoekershistorie, personeel, ruimtes, roosters, reizen, aanwezigheid, voorkeuren — elke tabel. We controleren dat op productie in plaats van het aan te nemen.
Twee onafhankelijke sloten
Bovenop Row Level Security zijn de rechten per tabel beperkt tot wat die tabel echt nodig heeft. Anonieme bezoekers hebben nergens rechten, en een ingelogd account heeft alleen de rechten die zijn werk vereist — het kan geen tabel leegmaken en niet verwijderen uit een tabel waar de applicatie nooit uit verwijdert. Een verzoek wordt dus twee keer tegengehouden, door twee onafhankelijke mechanismen. Één fout is niet genoeg om iets bloot te leggen.
Gescheiden omgevingen
Elk bedrijf werkt op een eigen subdomein. Inloggen met een geldig account op andermans subdomein geeft geen toegang — lidmaatschap wordt per verzoek gecontroleerd.

Wie waarbij kan

Een account per persoon
Geen gedeelde logins. Je beheerder maakt accounts aan en bepaalt wie beheerder is.
Rollen worden door de server afgedwongen
Alleen beheerders kunnen collega’s toevoegen of een beurs verwijderen. Een menu verbergen is geen beveiliging — daarom controleert de server de rol bij elke zo’n actie, niet de browser.
Verwijderen is bewust
Een beurs verwijderen neemt alle afspraken mee. Daarom moet je de naam exact overtypen — en de server controleert dat ook.
Wachtwoorden
Alleen opgeslagen als bcrypt-hash — niemand kan je wachtwoord lezen, wij ook niet. Wijzigen vereist je huidige wachtwoord, zodat een onbeheerd openstaande sessie niet genoeg is om een account over te nemen.
Service-role-toegang wordt geroteerd en gelogd
Eén pad in onze eigen servercode kan de scheiding tussen bedrijven omzeilen — alleen gebruikt voor accountbeheer, het beheerderspaneel en het doorsturen van collega-pages, altijd achter een rolcontrole. Elk gebruik wordt vastgelegd in een logboek dat een beheerder kan inzien, en de sleutel zelf wordt periodiek geroteerd, voor het laatst in september 2026.

Versleuteling en back-ups

Versleuteld onderweg
Uitsluitend HTTPS, op elke verbinding, HTTP wordt omgeleid.
Versleuteld in opslag
Versleuteling op schijfniveau voor database en back-ups (AES-256, beheerd door AWS in Frankfurt).
Dagelijkse back-ups
Gemaakt en bewaard door Supabase op het Pro-abonnement, in dezelfde Europese regio.
Elke nacht een kopie van je omgeving
Boven op de platformback-ups hierboven maakt BoothManager elke nacht een eigen momentopname van elk bedrijf. Je beheerder kan die zonder ons downloaden of terugzetten — geen verzoek, geen wachttijd.
Zeven dagen per dag, twaalf maanden per maand
De laatste zeven nachten blijven staan, plus de laatste kopie van elke maand, een jaar lang — want een beurs die in januari verdwijnt, wordt vaak pas in maart gemist.
Terugzetten is bewust, en wordt vastgelegd
Bij terugzetten worden rijen in live gegevens geschreven. Daarom moet de beheerder de datum en tijd van precies die kopie overtypen, en de server controleert dat. Daarna staat de actie met naam in het logboek. Beheerders kunnen dat lezen; geen enkel account kan een regel wijzigen of wissen.

Wie de gegevens verder aanraakt (subverwerkers)

Je hebt er recht op dit te weten, dus het staat er gewoon en niet in de kleine lettertjes.

Supabase — database, authenticatie
Draait op AWS in Frankfurt. Supabase Inc. is een Amerikaans bedrijf; de gegevens zelf verlaten de EU niet.
Vercel — hosting van de applicatie
Draait in Frankfurt. Vercel Inc. is een Amerikaans bedrijf; de gegevens zelf verlaten de EU niet.
Resend — agenda-sync mail (optionele functie)
Raakt alleen mail voor de optionele agenda-synchronisatie: de uitnodiging zelf, en alles wat in cc naar het eigen syncadres van een bedrijf gaat. Een Amerikaans bedrijf — wie dat kan lezen staat bij "Wat er nog niet is" verderop.
Anthropic — visitekaartjes lezen met AI (optioneel, standaard uit)
Alleen als een beheerder van het bedrijf het aanzet: de foto van een visitekaartje gaat naar Anthropic, dat de contactgegevens leest en terugstuurt. Die verwerking is niet aan de EU gebonden — ze vindt plaats in de VS of wereldwijd. BoothManager slaat de foto niet op. Staat de schakelaar uit, dan wordt het kaartje op de telefoon zelf gelezen en verlaat de foto die nooit.
Verder niemand
Geen analytics, geen advertenties, geen CRM. Het enige extra zijn de pushdienst van de browser (Google/Apple/Mozilla, alleen als iemand meldingen aanzet) de agenda-sync-mail en het optionele lezen van visitekaartjes met AI hierboven.

Wat er nog niet is

Open gezegd, want je hoort het liever van ons dan dat je het later ontdekt.

Tweefactorauthenticatie is niet verplicht
Je kunt het per account aanzetten bij je persoonlijke instellingen, met een code uit een authenticator-app. We verplichten het niet, dus een account dat het uit laat staan is alleen door zijn wachtwoord beschermd.
Geen externe audit
Geen ISO 27001, geen SOC 2, geen pentest. BoothManager is jong — dat zeggen we liever dan iets anders te suggereren.
Onze nachtelijke kopieën staan naast je live gegevens
Ze staan in dezelfde database als de omgeving waar ze uit komen. Dat beschermt tegen een misgreep — een verwijderde beurs, een gewist rooster — niet tegen verlies van het platform zelf. Daarvoor bestaat de point-in-time-herstelfunctie van de databaseleverancier, die we nog niet hebben afgenomen.
Inkomende sync-mail loopt via een gedeeld mailaccount
Zet je BoothManager-syncadres in cc op een uitnodiging, dan loopt die via Resend, de gedeelde mailprovider achter deze functie. Wie toegang heeft tot dat Resend-account kan het bericht in ruwe vorm lezen — tot 30 dagen lang, Resends eigen bewaartermijn — los van wat BoothManager zelf laat zien. Nu is dat alleen wij; Resend biedt geen manier om een teamlid tot de mail van één klant te beperken.

Vragen die je security officer beantwoord wil zien?

Stel ze. Alles op deze pagina is in het draaiende systeem te laten zien.

← Terug naar home