Beveiliging bij Lendbox
Lendbox is het administratiesysteem van kredietinstellingen. Deze pagina beschrijft hoe wij de gegevens van kredietnemers en portefeuilles beschermen die onze klanten ons toevertrouwen, welke controles in het product beschikbaar zijn, en welke derden betrokken zijn bij het leveren van de dienst.
Gegevensbescherming
- Lendbox draait op Amazon Web Services in de regio us-east-1, Verenigde Staten. De applicatie, de database en de geüploade documenten in Amazon S3 bevinden zich allemaal in die regio.
- Gegevens worden tijdens transport versleuteld met TLS 1.3.
- Gegevens worden in rust versleuteld met AES-256. De opslagvolumes van database en applicatie zijn versleuteld met AWS EBS-versleuteling. Geüploade documenten en back-ups worden serverzijdig versleuteld in Amazon S3. Versleutelingssleutels worden beheerd via AWS Key Management Service.
- Klanten kunnen hun volledige gegevensset op elk moment vanuit het product exporteren. Een verzoek aan ons is niet nodig.
Bij opheffing van een account worden de klantgegevens 60 dagen bewaard en daarna definitief verwijderd. Binnen die periode kan het account op verzoek worden hersteld.
Infrastructuur
- Applicatie en database draaien op geïsoleerde AWS-infrastructuur. Databases zijn niet publiek bereikbaar en accepteren geen verbindingen vanaf het internet. De weblaag wordt geleverd door Vercel.
- Al het inkomende verkeer loopt via Cloudflare, dat DDoS-mitigatie en een webapplicatiefirewall levert.
- Omgevingen zijn gescheiden: productie, staging en ontwikkeling draaien op aparte infrastructuur zonder gedeelde inloggegevens. Ontwikkeling en staging bevatten geen productiegegevens.
Toegangsbeheer binnen het product
De controles in deze sectie worden door de klant beheerd, niet door ons. De instelling configureert ze zelf en kan op elk moment nagaan wat elke medewerker mag doen.
- Gelaagde rechten per module. Elke module kan per medewerker op een van de zes onderstaande niveaus worden ingesteld.
- Rollen per filiaal. Eén medewerkersaccount kan toegang krijgen tot meerdere filialen en in elk daarvan een andere rol hebben, zodat een filiaalmanager op de ene locatie elders een alleen-lezengebruiker is.
- Scheiding tussen aanvrager en fiatteur. Gevoelige handelingen worden verdeeld tussen de medewerker die ze aanvraagt en de medewerker die ze goedkeurt. Goedkeuringsstromen zijn per instelling instelbaar, inclusief het aantal stappen en welke rollen bij elke stap mogen handelen.
- Multifactorauthenticatie. Beschikbaar bij elke aanmelding en per gebruiker en medewerker afzonderlijk in te schakelen.
- Sessies verlopen na 5 dagen en vereisen opnieuw authenticatie.
Rechtenniveaus
Elke module wordt afzonderlijk ingesteld, per medewerker.
Geen — Niveau 1 van 6
De module is niet beschikbaar en verschijnt niet in de navigatie van de medewerker.
Alleen lezen — Niveau 2 van 6
Kan records openen en lezen. Kan niets wijzigen.
Mag aanvragen — Niveau 3 van 6
Kan een handeling ter goedkeuring indienen. Kan die niet zelf goedkeuren.
Mag goedkeuren — Niveau 4 van 6
Kan handelingen goedkeuren die door andere medewerkers zijn ingediend.
Mag bewerken — Niveau 5 van 6
Kan records rechtstreeks aanmaken en wijzigen.
Volledige toegang — Niveau 6 van 6
Volledige toegang, voor modules die niet zijn opgesplitst in aanvraag- en goedkeuringsstappen.
Audittrail
- Elke handeling in het product wordt vastgelegd met de handelende gebruiker, het betrokken record en een tijdstempel.
- Auditrecords zijn alleen-toevoegen. Ze kunnen niet vanuit de applicatie worden bewerkt of verwijderd, ook niet door beheerders van de instelling.
- Afgesloten boekingsperioden zijn vergrendeld tegen wijziging met terugwerkende kracht.
- Beheerders van de instelling kunnen de auditgeschiedenis op elk moment exporteren.
De auditgeschiedenis wordt bewaard gedurende de volledige levensduur van het account, vanaf de aanmaakdatum. Er is geen voortschrijdend venster en geen afkapping.
Back-ups en herstel
- Databases worden elk uur geback-upt.
- Back-ups zijn versleuteld en worden 6 maanden bewaard.
- Recovery point objective (RPO): 1 uur.
Herstelacties worden wekelijks getest tegen een niet-productieomgeving. Een back-up die nooit is teruggezet, is geen back-up.
Interne toegang en secrets
- Toegang tot productiegegevens is beperkt tot één met naam genoemde persoon, de oprichter. Geen enkele andere werknemer, opdrachtnemer of derde beschikt over productie-inloggegevens. Dit is een bewuste ontwerpkeuze: het is de kleinst mogelijke groep mensen die bij klantgegevens kan komen.
- Productietoegang is persoonsgebonden en beschermd met multifactorauthenticatie. Nergens in de organisatie worden gedeelde accounts of inloggegevens gebruikt.
- Applicatiesecrets en inloggegevens worden beheerd in Doppler. Ze worden niet opgeslagen in versiebeheer of op machines van ontwikkelaars.
- Continuïteit: een gedocumenteerde noodprocedure dekt het geval waarin de persoon met de productie-inloggegevens niet beschikbaar is. Herstelgegevens liggen verzegeld in bewaring bij een met naam genoemde tweede partij, worden vrijgegeven bij een vastgelegde aanleiding, en elk gebruik wordt gelogd. De procedure herstelt de toegang van klanten tot hun eigen gegevens; zij verleent niemand permanente toegang.
Kwetsbaarheden- en patchbeheer
Beveiligingskwetsbaarheden worden verholpen binnen termijnen op basis van ernst, gerekend vanaf het moment waarop is bevestigd dat de kwetsbaarheid Lendbox raakt.
- Applicatieafhankelijkheden worden doorlopend bewaakt met Renovate, dat automatisch patch-pull requests opent zodra upstream-releases verschijnen.
- Updates van afhankelijkheden worden in een wekelijkse cyclus beoordeeld en samengevoegd. Adviezen met een bekende exploit slaan die cyclus over en worden onmiddellijk opgepakt.
- Basisimages van besturingssysteem en containers worden maandelijks opnieuw gebouwd en uitgerold, en direct bij bekendmaking van een kritieke kwetsbaarheid.
| Ernst | Hersteltermijn |
|---|---|
| Kritiek | 48 uur |
| Hoog | 7 dagen |
| Gemiddeld | 30 dagen |
| Laag | Volgende geplande release |
Subverwerkers
De hier vermelde diensten verwerken gegevens namens ons, onder contract.
| Subverwerker | Doel | Benaderde gegevens | Locatie |
|---|---|---|---|
| Amazon Web Services | Applicatiehosting en database | Alle klant- en kredietnemergegevens | United States (us-east-1) |
| Amazon Web Services (S3) | Opslag van documenten en back-ups | Geüploade documenten, databaseback-ups | United States (us-east-1) |
| Vercel | Hosting en levering van de webapplicatie | Verzoekmetadata, IP-adres | United States, global edge |
| Cloudflare | DNS, CDN, DDoS-mitigatie, webapplicatiefirewall | Verzoekmetadata, IP-adres | Global edge |
| Google Firebase | Authenticatie van medewerkers, inclusief multifactor | Naam, e-mailadres en authenticatietokens van de medewerker | United States |
| Doppler | Beheer van applicatiesecrets en inloggegevens | Geen klantgegevens. Uitsluitend service-inloggegevens. | United States |
| Paddle | Kaartabonnementen, merchant of record | Facturatiecontact van de instelling en betaalgegevens | United Kingdom |
| Lenco | Abonnementsbetalingen via mobiel geld | Facturatiecontact van de instelling, transactiereferentie | Zambia |
| PostHog | Productanalyse en feature flags | Gebruikers-id van de medewerker, e-mailadres, gebeurtenissen in het product | United States |
| Bugsnag (SmartBear) | Foutrapportage van de applicatie | Gebruikers-id van de medewerker, foutdiagnostiek | United States |
| OneSignal | Web- en mobiele pushmeldingen | Apparaattoken, gebruikers-id van de medewerker | United States |
| Typesense | Zoekindex binnen het product | Navigatie- en helpinhoud. Geen gegevens van kredietnemers. | United States |
| OpenRouter | Modelrouting voor de AI-functies in het product | De tekst van een vraag die een medewerker indient | United States |
| Google reCAPTCHA | Botbescherming op authenticatieformulieren | IP-adres, browsersignalen | United States |
| Google Tag Manager | Beheer van marketingtags op de publieke website | Analyse van websitebezoekers. Geen productgegevens. | United States |
Klanten worden minstens 30 dagen van tevoren per e-mail geïnformeerd voordat een nieuwe subverwerker wordt toegevoegd of een bestaande wordt vervangen, op het administratieve contactadres van het account.
Zelfgehoste componenten
De volgende draaien op infrastructuur die wij beheren. Ze worden genoemd omdat ze zichtbaar zijn voor wie het product inspecteert, maar het zijn geen subverwerkers: geen enkele derde ontvangt via hen gegevens.
| Component | Doel | Host |
|---|---|---|
| Chatwoot | Supportchat | support.lendbox.io |
| Seq | Applicatielogging | logs.lendbox.io |
| Shlink | Verkorte links voor het ondertekenen van documenten | s.lendbox.io |
| Squidex | Beheer van marketinginhoud. Geen productgegevens. | cms.popsicleai.com |
Monitoring en incidentrespons
- De gezondheid van infrastructuur en applicatie wordt doorlopend bewaakt met Prometheus, Alertmanager en cAdvisor, waarbij meldingen naar een dienstdoende engineer gaan.
- Bij een beveiligingsincident dat klantgegevens raakt, worden getroffen klanten binnen 72 uur na bevestiging geïnformeerd. De meldingen vermelden wat er is gebeurd, welke gegevens zijn geraakt, wat wij hebben gedaan om het in te dammen, en welke actie de klant eventueel moet ondernemen.
- Beschikbaarheidsincidenten worden op de statuspagina geplaatst terwijl eraan wordt gewerkt, niet pas na oplossing.
Beschikbaarheid en incidentgeschiedenis zijn openbaar
Voor elke dienst zijn 90 dagen dagelijkse status en de duur van elke storing gepubliceerd op status.lendbox.io. Wij publiceren storingen in plaats van ze te verbergen.
Een kwetsbaarheid melden
- Mail naar [email protected]. Vermeld de stappen om het te reproduceren.
- Wij bevestigen elke melding binnen 3 werkdagen en geven binnen 10 werkdagen een inschatting van de ernst en de verwachte hersteltermijn.
- Wij ondernemen geen juridische stappen tegen onderzoekers die te goeder trouw melden, privacyschendingen en dienstverstoring vermijden, en ons redelijke tijd geven om te herstellen vóór openbaarmaking.
- Onze machineleesbare contactgegevens zijn gepubliceerd op /.well-known/security.txt.