Beveiliging
Concept. Deze tekst wordt nog juridisch gecontroleerd en kan daarna wijzigen. Vragen? Mail hallo@blokscout.nl.
Hoe we de gegevens in Blokscout beveiligen. We schrijven op wat we echt doen, en ook wat we (nog) niet hebben. Vragen, een beveiligingsvragenlijst of een kwetsbaarheid melden: hallo@blokscout.nl.
1. Hosting en opslag
- Blokscout draait bij Google Cloud in Nederland (regio europe-west4, datacenter Eemshaven). De database staat op een schijf die Google standaard versleutelt (AES-256).
- Back-ups: elke nacht om 03:00 maakt Google automatisch een momentopname van de hele server. We bewaren er 14; ze staan versleuteld in de EU.
- De applicatie draait in een afgeschermde container. Van buiten zijn alleen de website (HTTPS) en beheertoegang via SSH bereikbaar; SSH werkt alleen met sleutels die Google per beheerder uitgeeft. De database is van buiten niet bereikbaar.
- AI draait via Google Vertex AI in dezelfde Nederlandse regio. Google gebruikt die gegevens niet om modellen te trainen.
2. Verbindingen
- Alleen HTTPS met automatisch vernieuwde certificaten. HTTP wordt doorgestuurd en HSTS dwingt een jaar lang HTTPS af.
- Strenge browserbeveiliging in de app: een Content Security Policy die alleen onze eigen scripts toestaat, geen inbedding in andere sites (X-Frame-Options), geen MIME-sniffing en een beperkte referrer.
3. Inloggen en sessies
- Wachtwoorden van minstens 10 tekens, opgeslagen met scrypt en een unieke salt. Wij kunnen je wachtwoord niet zien.
- Na te veel foute pogingen wordt inloggen een kwartier geblokkeerd, per IP-adres en per e-mailadres, zonder dat een vreemde jouw account op slot kan zetten. Inloggen en wachtwoordherstel verraden niet of een e-mailadres bij ons bekend is.
- Sessies zijn willekeurige sleutels in een cookie die JavaScript niet kan lezen (HttpOnly, Secure, SameSite). Op de server staat alleen een SHA-256-vingerafdruk. Een sessie verloopt na 30 dagen.
- Wachtwoord wijzigen logt je overal anders uit; wachtwoord herstellen logt je overal uit. Een herstellink werkt één uur en één keer.
- Wordt iemand uit een team verwijderd, dan vervallen zijn sessies direct.
4. Scheiding tussen klanten
- Elk gegeven hoort bij één account en elke opvraging filtert op dat account. Alleen openbare gegevens (gebouwen, vergunningen, openbaar vastgoednieuws) zijn gedeeld.
- Bij elke wijziging draaien ruim 1.400 geautomatiseerde controles, waaronder tests die proberen bij de gegevens van een ander account te komen. Een wijziging gaat alleen live als alles slaagt.
- Links voor huurders en vakmensen zijn lange, willekeurige sleutels, geven alleen toegang tot hun eigen deel en kunnen door de klant worden ingetrokken.
5. Wie heeft toegang
- Alleen de twee oprichters van Blokscout. Er zijn geen andere medewerkers of externe beheerders.
- Toegang tot de server en de Google Cloud-omgeving heeft alleen de technisch oprichter, met zijn persoonlijke Google-account. Er zijn geen gedeelde wachtwoorden of accounts.
- In klantaccounts kijken we alleen als de klant om support vraagt, bij een storing of beveiligingsprobleem, of bij Done-for-you. Done-for-you werkt alleen zolang de klant dat in de app toestaat, en elke wijziging die we dan doen, komt in een logboek dat de klant kan inzien. Betaling en teambeheer van de klant kunnen we daarbij niet aanraken.
- Geheime sleutels (betalingen, AI) staan alleen op de server, niet in de code.
6. Gegevens beperken
- We tonen nooit eigenaren uit onszelf. Kadaster-resultaten blijven in het account dat ze opvroeg.
- Van doorgestuurde nieuwsbrieven bewaren we alleen de gevonden deals; van CRM-mail alleen onderwerp en begin, nooit bijlagen. CRM-mail zonder eigenaar verdwijnt na 90 dagen.
- Naar AI gaat per taak alleen de tekst die nodig is. Tekst van huurders en uit mail geldt voor het model als gegeven, nooit als opdracht.
- Geen tracking-, analyse- of advertentiecookies. We houden geen bezoekerslogboek bij; de server bewaart alleen technische foutmeldingen.
- Herstel- en uitnodigingslinks komen nooit in serverlogs terecht.
7. Ontwikkeling en updates
- Alle code staat in versiebeheer. Er gaat alleen code live die in versiebeheer staat en waarvoor alle tests slagen.
- Invoer van gebruikers, huurders en uit e-mail wordt overal behandeld als data. Database-opvragingen gebruiken vaste parameters.
- Betalingen lopen via Stripe; wij zien en bewaren geen kaartgegevens. Tegoed wordt alleen bijgeschreven na een door Stripe ondertekende bevestiging, of door een handmatige correctie van ons die met reden wordt vastgelegd.
8. Incidenten
- Bij een beveiligingsincident sluiten we eerst het lek, beoordelen we welke gegevens en klanten het raakt, en leggen we alles vast in een incidentregister.
- Raakt het persoonsgegevens van een klant, dan melden we dat aan de klant zonder onredelijke vertraging en uiterlijk binnen 48 uur na ontdekking, zoals in de verwerkersovereenkomst staat.
- Een kwetsbaarheid gevonden? Mail hallo@blokscout.nl. We reageren binnen twee werkdagen, lossen het zo snel mogelijk op en vertellen je wanneer het is opgelost. Zoek je te goeder trouw en meld je het ons eerst, dan doen we geen aangifte.
9. Wat we (nog) niet hebben
Eerlijk is eerlijk. Blokscout is een jong product van een klein team. Daarom hebben we op dit moment:
- geen ISO 27001-certificaat en geen externe audit;
- nog geen externe penetratietest;
- nog geen tweestapsverificatie (2FA) voor het inloggen in Blokscout;
- geen inloggen via je eigen bedrijfsaccount (SSO);
- één serverlocatie: bij een grote storing in die regio herstellen we vanaf de back-up van de afgelopen nacht, dus je kunt de wijzigingen van maximaal één dag kwijtraken.
Heeft je organisatie een van deze punten nodig, laat het ons weten. We bespreken graag wat er nodig is en wanneer.
10. Subverwerkers
| Partij | Waarvoor | Welke gegevens | Waar | Status |
|---|---|---|---|---|
| Google Cloud (Google Cloud EMEA Ltd., Ierland) | Hosting van de applicatie en database, back-ups, AI via Vertex AI (Gemini) | Alle gegevens in Blokscout; voor AI alleen de tekst die voor die ene taak nodig is | Nederland (regio europe-west4, Eemshaven); back-ups in de EU | Actief |
| Stripe (Stripe Payments Europe Ltd., Ierland) | Abonnementen, facturen, opwaarderen van tegoed (iDEAL, kaart) | Bedrijfsnaam, naam en e-mailadres van de betaler, factuur- en betaalgegevens. Geen gegevens van eigenaren of huurders | EU; Stripe kan gegevens doorgeven aan de VS (EU-VS Data Privacy Framework en modelcontractbepalingen) | Actief |
| Resend (Resend, Inc., VS) | Versturen van e-mail: meldingen, uitnodigingen, wachtwoordherstel, berichten aan huurders en vakmensen die jij verstuurt | E-mailadres van de ontvanger en de inhoud van die e-mail | EU-regio (Ierland); Resend is een Amerikaans bedrijf (modelcontractbepalingen) | Nog niet actief |
| Forward Email (Forward Email LLC, VS) | Ontvangen van mail op je eigen adressen bij in.blokscout.nl (nieuwsbrieven, CRM-mail, huurdersmail) en die doorgeven aan Blokscout | De doorgestuurde e-mail, alleen tijdens het doorgeven | VS (modelcontractbepalingen) | Nog niet actief |
| Push-diensten van Apple, Google en Mozilla | Meldingen op je telefoon of computer, als je die zelf aanzet | Een versleuteld bericht; de push-dienst kan de inhoud niet lezen | Afhankelijk van je apparaat en browser | Actief |
Niet in deze lijst, omdat ze geen persoonsgegevens van jou of je relaties krijgen: PDOK, CBS, de gemeente Amsterdam, EP-Online, het Rijksmonumentenregister en officielebekendmakingen.nl (wij halen daar openbare gegevens op en sturen alleen adressen of pand-id's mee) en Google Fonts (laadt lettertypes; ziet je IP-adres).
Nog niet ingeschakeld en daarom ook geen subverwerker: de API van de KvK (zou alleen KvK-nummers en bedrijfsnamen krijgen waar jij op zoekt), een live bankkoppeling (PSD2, aanbieder nog niet gekozen) en WhatsApp voor de AI-inbox. Voordat we een van deze aanzetten, passen we deze lijst aan en laten we het je minstens 30 dagen vooraf weten.