KENNISBANK · DATA EN BEVEILIGING

Data-isolatie in financiële software: hoe ziet een organisatie alleen haar eigen cijfers?

Hoe zorgt cloudsoftware ervoor dat een organisatie uitsluitend haar eigen financiële data ziet? Uitleg van beveiliging op rijniveau (row level security) in de database, en waarom afscherming in de app alleen niet genoeg is.

In dit artikel: Twee manieren om af te schermen · Waar je op let bij een leverancier · Zo werkt het in Easyclose · Afgedwongen in de database, niet alleen in de app · Binnen je organisatie: rollen · Veelgestelde vragen

In cloudsoftware staan de gegevens van veel klanten in dezelfde database. Dat is efficiënt, maar het roept de vraag op die elke controller hoort te stellen: hoe weet ik zeker dat een andere klant mijn cijfers niet kan zien? Het antwoord zit niet in de schermen van de app, maar in de laag eronder.

Twee manieren om af te schermen

De zwakke manier is afscherming in de applicatie: de software filtert bij elke opvraag op de organisatie van de gebruiker. Dat werkt zolang elke programmeur bij elke opvraag aan dat filter denkt. Eén vergeten filter, één nieuwe functie, één rapport dat rechtstreeks de database bevraagt, en de scheiding is weg.

De sterke manier is afscherming in de database: beveiliging op rijniveau (row level security). Elke tabel draagt per rij het kenmerk van de organisatie waar de rij bij hoort, en de database zelf weigert elke rij die niet bij de ingelogde gebruiker hoort, ongeacht wie of wat de vraag stelt. Een vergeten filter in de app levert dan een leeg scherm op, geen datalek. Ook AI-functies, koppelingen en exportfuncties vallen automatisch onder dezelfde regel, omdat ze door dezelfde database gaan.

Waar je op let bij een leverancier

Vraag of de isolatie in de database is afgedwongen of alleen in de applicatie, of dat aantoonbaar wordt getest (kan gebruiker A de data van organisatie B bewijsbaar niet lezen of schrijven), en of beheerders van de leverancier zonder toestemming bij klantdata kunnen. Een leverancier die deze drie vragen niet kort kan beantwoorden, heeft er niet over nagedacht.

Zo werkt het in Easyclose

Hieronder lees je hoe dit in Easyclose is uitgewerkt. Dit deel komt uit ons helpcentrum en beschrijft de schermen zoals gebruikers ze zien. Liever eerst zelf kijken? Open de demo, zonder account.

Data-isolatie is bij Easyclose de allerhoogste prioriteit. Elke organisatie ziet uitsluitend haar eigen gegevens. Iemand van een andere organisatie kan jouw cijfers niet zien, niet wijzigen en niet wissen.

Afgedwongen in de database, niet alleen in de app

De afscherming hangt niet af van de schermen of de knoppen. Diep in de database zit per tabel een regel die bij elke rij controleert of die rij bij jouw organisatie hoort. Hoor je er niet bij, dan bestaat de rij voor jou simpelweg niet. Dit heet beveiliging op rijniveau. Ook langs een omweg kun je dus nooit bij andermans cijfers.

Organisatie A

Vermeulen Groep
Vermeulen Techniek B.V.✓ ziet
Vermeulen Service & Onderhoud B.V.✓ ziet
Cijfers van organisatie B✕ afgeschermd

Organisatie B

een andere klant
Eigen administraties✓ ziet
Vermeulen Techniek B.V.✕ afgeschermd
Vermeulen Service & Onderhoud B.V.✕ afgeschermd
Twee organisaties op hetzelfde platform. Elk ziet alleen de eigen administraties; de cijfers van de ander zijn op databaseniveau afgeschermd.

Binnen je organisatie: rollen

Binnen je eigen organisatie bepaalt je rol wat je mag. Een eigenaar of beheerder kan meer dan een lezer. Wat elke rol mag, lees je in Gebruikers en rollen.

Ook AI ziet nooit meer dan jijOnze eigen AI-functies en de MCP-server werken binnen exact dezelfde afscherming. Ze bevragen de database met jouw rechten en kunnen dus nooit meer zien dan jij zelf. Meer hierover in Wat is de MCP-server?.

Verder lezen: Waar staat mijn data? · Al mijn data exporteren.

Veelgestelde vragen

Wat is row level security?

Beveiliging op rijniveau: een mechanisme in de database waarbij elke rij van elke tabel is gekoppeld aan een organisatie, en de database zelf bij elke opvraag alleen de rijen teruggeeft die bij de ingelogde gebruiker horen. De afscherming werkt daardoor ongeacht welke applicatie, koppeling of AI de vraag stelt.

Waarom is afscherming in de app alleen niet genoeg?

Omdat die afhangt van een filter dat bij elke opvraag door een programmeur moet worden toegevoegd. Eén vergeten filter, een nieuwe functie of een rapport dat rechtstreeks de database bevraagt, en gegevens van andere klanten worden zichtbaar. Afscherming in de database vangt precies die fouten op: een vergeten filter geeft dan een leeg scherm, geen datalek.

Kan de leverancier van cloudsoftware mijn cijfers zien?

Dat hangt af van hoe de leverancier zijn beheer heeft ingericht. De juiste inrichting is dat beheerders standaard geen toegang tot klantdata hebben en pas bij expliciete, tijdelijke toestemming van de klant kunnen meekijken, waarbij elke toegang wordt vastgelegd in een logboek dat niet kan worden gewist.

Hoe test je data-isolatie?

Met een geautomatiseerde test die als gebruiker van organisatie A probeert data van organisatie B te lezen en te schrijven, op elke tabel, en die faalt zodra er ook maar één rij doorkomt. Die test hoort bij elke wijziging van de software opnieuw te draaien.

Zie het met echte cijfers, zonder account

De demo bevat de fictieve Vermeulen Groep: twee BV's, een holding, een complete maandafsluiting en een bewust verstopt rekening-courant-verschil. Klik erdoorheen zoals je in je eigen omgeving zou doen.

Probeer de live demo
  • Werkt met elk boekhoudpakket: auditfile, Excel of koppeling
  • Elk bedrag klikt door tot op de boekingsregel
  • Consolidatie met zichtbare eliminaties en RC-check
  • EU-hosting, elke organisatie strikt gescheiden