Handleidingen›Beveiliging & naleving

Beveiliging en privacyrecht · Verenigde Staten, Europese Unie, Verenigd Koninkrijk

Eerst de wet, en dan de software die haar uitvoert.

Een ggz-dossier is een van de best beschermde soorten gegevens die er zijn. Eén verkeerde blik in één dossier kan een meldingsplichtige inbreuk worden. Deze pagina begint met de drie wetten die bepalen wat u moet doen — HIPAA in de Verenigde Staten, de AVG in de Europese Unie, en UK GDPR in het Verenigd Koninkrijk. Daarna laat zij precies zien welk deel van het platform elke plicht uitvoert. Vervolgens behandelt zij hoe de software zelf gebouwd is, hoe Odoo Community beheerst wie wat ziet, hoe de server gehard is, en, aan het eind, de delen die bij uw organisatie blijven.

Zij is met opzet in gewone taal geschreven. U zou haar moeten kunnen geven aan een functionaris voor gegevensbescherming, aan een beveiligingsbeoordelaar, of aan een leidinggevende die nog nooit een regeling gelezen heeft, en alle drie zouden haar moeten kunnen volgen.

Functionarissen voor gegevensbescherming Beoordelaars van informatiebeveiliging Geneesheer-directeuren Kopers die een due diligence doen
3rechtsstelsels behandeld 5eigenschappen van elk dossier 0manieren om toegang te doorbreken AES-256-GCMversleuteling op elk bestand 20 jrlangste bewaartermijn gemodelleerd
Begin hier

Kies het land waarin u werkt

Het meeste van wat volgt is overal hetzelfde — de versleuteling, de toegangscontrole, het auditlogboek, het harden van de server. Wat per land verschilt is de rechten- en governancemachinerie daar bovenop, en die heeft een eigen pagina. Doet u een due diligence, begin dan met uw eigen land en kom daarna terug voor het gedeelde materiaal.

Verenigde Staten VS HIPAA · HITECH · 42 CFR Part 2 · recht van de staten De grootste van de drie. Elke Amerikaanse regel die tot een ggz-praktijk reikt, wat er voor elke regel gebouwd is, en — aan het eind — zeven stap-voor-stapdoorlopen van wat er werkelijk binnen de software gebeurt.
  • Privacy Rule: elk recht van de patiënt, inclusief de delen die de meeste systemen weglaten
  • Security Rule: alle acht technische waarborgen, plus de organisatorische en fysieke registers
  • Melding van inbreuken: vier factoren, 60 dagen, drempels per staat, beide leveranciersklokken
  • 42 CFR Part 2 inclusief de regel van 2024
  • Zeven stromen — een dossierverzoek, een geweigerde correctie, een verstrekking, een inbreuk, een nieuwe patiënt, een inactief scherm, en het nalevingsjaar
Europese Unie GDPR Verordening (EU) 2016/679 Verwerkingsgrondslag onder artikel 9 lid 2 onder h in plaats van toestemming, wissen uitgevoerd door de encryptiesleutel te vernietigen, overdraagbaarheid als gelogde export, en de twee inbreuktermijnen met de uitzondering die u moet verdienen.
  • Waarom behandeldossiers niet op toestemming mogen rusten
  • Wissen dat het recht eerbiedigt zonder het bewijs te vernietigen
  • De klok van 72 uur en de vraag of de sleutels gecompromitteerd zijn
  • Verwerkingsregister en effectbeoordeling als levende vastleggingen
Deutschland Duitsland § 203 StGB · § 630f BGB · NIS2 · SGB V De Europese regels gelden hier ongewijzigd — en dan legt Duitsland er een eigen laag bovenop, waarvan één stuk strafrecht is en bepaalt of een praktijk überhaupt rechtmatig bij ons mag kopen.
  • § 203 StGB: waarom de keuze van de leverancier het juridische risico van de therapeut is
  • Wat een § 203-verklaring zegt, clausule voor clausule
  • Tien jaar vanaf het einde van de behandeling, niet vanaf de dossierdatum
  • NIS2 voor praktijkgroepen, en het programma dat er al is
  • Een eerlijk verslag over het wettelijke spoor dat wij niet hebben
Verenigd Koninkrijk UK GDPR DPA 2018 · NHS Code of Practice 2021 Wat het Verenigd Koninkrijk boven op de AVG legt: de toets op ernstige schade gebouwd als workflow die vanzelf verloopt, het NHS-bewaarschema als meegeleverde data, en een recht op de dossiers van mensen die overleden zijn.
  • Achterhouden dat een professional met naam verlangt en na zes maanden vervalt
  • Twintig jaar na het laatste contact voor ggz-dossiers
  • Access to Health Records Act 1990
  • Caldicott-beginsel 7 en waarom break-glass een functie is
Australia Privacy Act 13 APP's · NDB-schema · bewaarrecht van de staten Eén federale wet zonder vrijstelling voor kleine bedrijven bij een zorgaanbieder, acht sets regels van de staten over bewaren, en — sinds juni 2025 — een patiënt die kan procederen zonder op een toezichthouder te wachten.
  • Alle dertien Australian Privacy Principles, stuk voor stuk
  • APP 8: waarom er niets het land uit hoeft
  • Zeven jaar vanaf de laatste aantekening, en tot 25 voor een kind
  • De inbreukstroom, stap voor stap, plus melding van ransomware binnen 72 uur
  • Essential Eight, ISO 27001, RACGP C6.4 — en waarom SOCI niet geldt
Canada PIPEDA & PHIPA 10 beginselen · provinciale wetten · bewaartermijnen van colleges Geen HIPAA, geen enkele wet: een federale wet, een zorgwet die met de provincie meeverandert, en een beroepscollege boven op allebei dat bepaalt hoe lang u een dossier bewaart.
  • Welke wet en welke commissaris, provincie voor provincie
  • De tien beginselen van PIPEDA, en PHIPA custodian voor custodian
  • De lockbox — het ene Canadese begrip dat wij nog niet hebben
  • Twee inbreukklokken, en de jaarlijkse statistiekmelding in maart
  • Het provinciale declaratiespoor waar wij niet op rijden, in hoofdstuk 09
Gedeeld door alle zes Beveiligde documenten De machinerie waar elke landenpagina op leunt Hoe een klinisch dossier versleuteld wordt, wie er een kan openen, het hele leven van een document van indienen tot vernietiging — en, aan het eind, zeven risico's waar geen technische oplossing voor is.
  • Envelopversleuteling, en waarom er twee sleutels zijn en niet één
  • Toegang die de behandelrelatie volgt
  • Vernietiging door een sleutel te vernietigen in plaats van een regel te verwijderen
  • Zeven risico's onomwonden benoemd, met wat er bij u blijft
01 — Begin bij de wet

Wat HIPAA, de AVG en UK GDPR werkelijk van u vragen

De meeste beveiligingsdocumenten beginnen bij de techniek en laten de wet tot het eind liggen. Dit document doet het omgekeerde, want de wet is waaraan u afgemeten wordt. Hieronder staat elk stelsel in gewone taal: wat het is, voor wie het geldt, en welke plichten het bij een praktijk legt. Onder elk stelsel staat het deel van het platform dat die plicht uitvoert.

Verenigde Staten

HIPAA

HIPAA is de Health Insurance Portability and Accountability Act. Zij geldt voor zorgaanbieders in de Verenigde Staten en voor de bedrijven die namens hen zorggegevens behandelen. Zij is opgebouwd uit twee hoofddelen. De Privacy Rule zegt wie zorginformatie mag zien en wat een patiënt mag vragen. De Security Rule zegt hoe elektronische zorginformatie beschermd moet worden.

  • Het minimum dat nodig is. Medewerkers mogen alleen de informatie zien die zij voor de klus voor hen nodig hebben. In het platform wordt dit afgedwongen door behandelrelaties: een therapeut komt bij de cliënten op zijn eigen caseload, niet bij de hele praktijk.
  • De designated record set. Een patiënt mag om een kopie van zijn dossier vragen, maar niet om alles wat de praktijk bewaart. Elk documenttype is gemarkeerd als binnen of buiten die set, en een verzoek kan niet teruggeven wat erbuiten valt.
  • Psychotherapienotities staan apart. HIPAA behandelt de eigen procesaantekeningen van een therapeut anders dan het dossier. In het platform zijn zij onder een andere sleutel versleuteld, zodat de sleutel die het gewone dossier opent ze niet opent.
  • Opgave van verstrekkingen. Een patiënt mag vragen met wie zijn informatie de afgelopen zes jaar gedeeld is. Het verstrekkingsregister beantwoordt dat uit opgeslagen vastleggingen.
  • Melding van inbreuken. Wordt beschermde zorginformatie blootgelegd, dan moeten mensen ingelicht worden — tenzij de gegevens naar behoren versleuteld waren. Die vrijstelling heet de safe harbour, en zij is de reden dat de versleuteling gebouwd is zoals zij gebouwd is.
  • 42 CFR Part 2 is een aparte Amerikaanse regel voor dossiers uit de verslavingszorg. Zij is strenger dan HIPAA en verlangt een waarschuwing tegen verder verstrekken bij alles wat gedeeld wordt. Het platform brengt die mededeling voort in plaats van medewerkers te vragen haar in te tikken.
Europese Unie

GDPR

De AVG is de Algemene verordening gegevensbescherming. Zij geldt voor elke organisatie die persoonsgegevens over mensen in de Europese Unie behandelt. Zorggegevens zijn wat de AVG bijzondere categorieën van persoonsgegevens noemt, en dat betekent dat verwerken verboden is tenzij een specifieke voorwaarde opgaat. Waar HIPAA vooral over bescherming gaat, gaat de AVG ook over de rechten van het individu op zijn eigen gegevens.

  • Een verwerkingsgrondslag voor elk documenttype. Voor behandeldossiers is de juiste voorwaarde artikel 9 lid 2 onder h, het verlenen van gezondheidszorg — niet toestemming. Toestemming die iemand niet vrijelijk kan weigeren is geen geldige toestemming, en in een zorgsetting kan hij meestal niet weigeren. Het platform legt de grondslag vast bij het documenttype, zodat het later nooit gissen is.
  • Het recht op inzage (art. 15). Iemand mag om een kopie van zijn gegevens vragen, en er is een wettelijke termijn om te antwoorden. Het verzoek loopt als bijgehouden workflow met die klok erop.
  • Het recht op wissing (art. 17). Vaak het recht om vergeten te worden genoemd. Het platform eerbiedigt het door de encryptiesleutel te vernietigen in plaats van de databaseregel, zodat de inhoud weg is maar het bewijs dat er een dossier bestond en vernietigd is blijft.
  • Het recht op overdraagbaarheid (art. 20). Iemand mag zijn gegevens vragen in een vorm die hij elders naartoe kan meenemen. Het platform bouwt in het geheugen een zip-bestand en streamt het, en logt elk document erin afzonderlijk.
  • Melding van inbreuken (art. 33 en 34). De toezichthouder moet binnen 72 uur na het bekend worden ingelicht worden. De getroffen mensen moeten ook ingelicht worden, tenzij de gegevens versleuteld waren.
  • Governancepapierwerk (art. 30 en 35). U moet een register van uw verwerkingsactiviteiten bijhouden, en voor werk met een hoog risico een gegevensbeschermingseffectbeoordeling uitvoeren. Beide wonen in het systeem als levende vastleggingen, niet als een Word-bestand dat veroudert.
Verenigd Koninkrijk

UK GDPR en de DPA 2018

Na het vertrek uit de Europese Unie heeft het Verenigd Koninkrijk de AVG vrijwel ongewijzigd overgenomen en noemt die UK GDPR. De Data Protection Act 2018 staat ernaast en voegt Britse regels toe, waarvan er verschillende in de zorg zwaar wegen. De toezichthouder is het Information Commissioner's Office, de ICO.

  • Alles wat de AVG verlangt geldt nog steeds. Inzage, wissing, overdraagbaarheid, melding van inbreuken en de governancevastleggingen zijn dezelfde plichten als in de EU.
  • De toets op ernstige schade. Zorggegevens mogen achtergehouden worden bij het eigen inzageverzoek van een persoon waar vrijgeven hem waarschijnlijk ernstige schade zou toebrengen. Voor een ggz-dienst is dit het equivalent van de Amerikaanse uitzondering voor psychotherapienotities, en de procedure eromheen is streng.
  • NHS-bewaartermijnen. De NHS Records Management Code of Practice 2021 bepaalt hoe lang dossiers bewaard worden — voor de ggz 20 jaar na het laatste contact. Dat schema wordt als startgegevens meegeleverd.
  • Access to Health Records Act 1990. Nabestaanden van iemand die overleden is mogen in sommige gevallen zijn dossiers opvragen. De AVG bestrijkt overledenen helemaal niet, dus dit is een uitsluitend Brits recht met eigen regels over wie mag vragen.
  • Caldicott-beginsel 7. De Britse richtlijnen in de zorg zeggen dat de plicht om informatie te delen even belangrijk kan zijn als de plicht om haar te beschermen. Alles blokkeren is op zijn eigen manier ook een falen, en daarom bestaat noodtoegang en wordt zij vastgelegd in plaats van verboden.
Waar alle vier het over eens zijn

Onder de verschillen willen de vier stelsels dezelfde vijf dingen. Bescherm de gegevens zodat een gestolen kopie nutteloos is. Laat alleen de juiste mensen erbij. Houd bij wie ze gezien heeft. Bewaar ze alleen zolang u ze nodig hebt, en vernietig ze daarna naar behoren. Kun achteraf alle vier aantonen. Die gedeelde lijst is wat het platform één keer in de opslaglaag bouwt, voor elke implementatie. De rechtenmachinerie daar bovenop is wat per land verandert, en die komt als aparte module die u voor uw rechtsgebied installeert.

Niemand is hiervoor gecertificeerd, en wie iets anders zegt verkoopt u iets

Een HIPAA-gecertificeerd of AVG-gecertificeerd product bestaat niet. Geen enkele autoriteit geeft dat certificaat af. Wat er wel bestaat is een lijst technische en organisatorische beheersmaatregelen. Software kan de technische uitvoeren en de organisatorische makkelijk te draaien en makkelijk aantoonbaar maken. Zij kan een organisatie niet in haar eentje conform maken. Het laatste hoofdstuk van deze pagina zet precies uiteen welke delen bij u blijven.

02 — Naast elkaar

Overal dezelfde technische kern. Andere rechtenmachinerie daar bovenop

Versleuteling, toegangscontrole, het auditlogboek en de bewaartermijnen zijn in elk land gelijk. Zij zijn één keer gebouwd, in de gedeelde kern, en elke implementatie krijgt ze. Wat tussen de Verenigde Staten, de Europese Unie, het Verenigd Koninkrijk, Australië en Canada verandert is het rechten- en governancewerk dat boven op die kern zit. Daarom voldoet een systeem dat naar een Amerikaanse norm gebouwd is niet automatisch aan de EU, en daarom komt elk land als een eigen installeerbare module.

De laatste twee kolommen dragen de eerlijkste merktekens. De Australian Privacy Principles vragen op twee plekken minder dan Europa, en er is nog geen Australische module — de rechtenmachinerie die een Australische implementatie vandaag gebruikt is de gedeelde kern plus delen van de Europese en de Britse module. De Australiëpagina noemt elke naad.

Canada is het nieuwst, en de enige kolom waarin het regelboek binnen het land verandert. Er is ook geen Canadese module, en één verplichting heeft nergens anders in deze tabel een equivalent — de lockbox, een patiëntinstructie die een deel van zijn eigen dossier binnen de circle of care afschermt. De Canadapagina zet uiteen wat het bouwen ervan inhoudt, en welke provinciale wet waar geldt.

Wat er vereist is Verenigde Staten
HIPAA · 42 CFR Part 2
Europese Unie
GDPR
Verenigd Koninkrijk
UK GDPR · DPA 2018
Australia
Privacy Act 1988 · APP's
Canada
PIPEDA · PHIPA en provinciaal
Versleuteling, toegangscontrole, auditlogboek, bewaartermijnen ✓ gedeelde kern ✓ gedeelde kern ✓ gedeelde kern ✓ gedeelde kern ✓ gedeelde kern
Een vastgelegde juridische reden om elk documenttype te bewaren — zo werkt HIPAA niet ✓ art. 9 lid 2 onder h voor behandeldossiers, niet toestemming ✓ hetzelfde, onder UK GDPR ✓ APP 3.3 en s16B, vastgelegd per documenttype § doel en toestemming, geen opgesomde juridische grondslag
Iemand mag om een kopie van zijn dossier vragen ✓ 45 CFR 164.524, beperkt tot de designated record set ✓ art. 15, met een wettelijke termijn ✓ art. 15, plus de toets op ernstige schade ✓ APP 12, een redelijke termijn, en geen kosten om te vragen ✓ PIPEDA-beginsel 9 en PHIPA s. 52 — 30 dagen, te verlengen
Bepaald materiaal kan voor hem achtergehouden worden ✓ psychotherapienotities staan buiten de record set § smal, en het hangt van de lidstaat af ✓ toets op ernstige schade, gedraaid als workflow die verloopt ◐ APP 12.3-gronden bestaan; de workflow komt met de Britse lijst ◐ PHIPA-gronden bestaan; de workflow komt met de Britse lijst
Iemand mag vragen zijn gegevens te wissen § HIPAA geeft geen algemeen recht; de bewaartermijn beslist ✓ art. 17, gedaan door de sleutel te vernietigen ✓ hetzelfde, met Britse uitzonderingen § geen algemeen recht op wissing; vernietiging onder APP 11.2 doet het werk § geen algemeen recht; bewaren en vernietigen doen het werk
Iemand mag zijn gegevens elders naartoe meenemen § via het inzagerecht; HIPAA heeft er geen apart ✓ art. 20, gestreamde zip, elk bestand gelogd ✓ hetzelfde § geen recht op overdraagbaarheid; het inzagerecht draagt het ✓ het recht uit Québecs Law 25 landt op de AVG-export; geen federaal equivalent
Een register van wat er gedeeld is, en met wie ✓ zes jaar, op verzoek ✓ wat er wegging, aan wie, op welke grondslag ✓ hetzelfde ✓ APP 6, wat er wegging en op welke grondslag ✓ wat er wegging, aan wie, op welke grondslag en waarom
De toezichthouder en de getroffen mensen inlichten na een inbreuk ✓ beoordeling met vier factoren, melding binnen 60 dagen, drempels voor media en HHS ✓ art. 33 en 34, 72 uur, twee klokken, sleutelvraag vastgelegd ✓ hetzelfde, gemeld aan de ICO ✓ NDB-schema: 30 dagen om te beoordelen, daarna melden zodra het praktisch mogelijk is ◐ de vastlegging is compleet; de twee indieningen en de maarttelling worden niet voortgebracht
Geschreven governancevastleggingen actueel gehouden ✓ beleidsregister, met versies, zes jaar per versie ✓ effectbeoordeling (art. 35) en verwerkingsregister (art. 30) ✓ hetzelfde ✓ APP 1: beleidsregister, risicoregister, klachten als vastleggingen ✓ beleidsregister, risicoregister, klachten als vastleggingen
Een bewaarschema dat klaar voor gebruik wordt meegeleverd ⚙ verschilt per staat, dus u stelt de termijnen in ⚙ verschilt per lidstaat, dus u stelt de termijnen in ✓ NHS Records Management Code of Practice 2021 ◐ de termijnen zijn landelijk bekend, en er wordt niets voorgezaaid ⚙ bepaald door uw college, dus er is geen landelijk schema om voor te zaaien
Dossiers van mensen die overleden zijn ⚙ HIPAA beschermt ze 50 jaar; regel niet voorgezaaid — de AVG geldt niet voor overledenen ✓ Access to Health Records Act 1990 § de federale wet houdt op bij de dood; NSW beschermt nog 30 jaar daarna ⚙ de wetten lopen door na overlijden; de termijn is die van uw college
Extra bescherming voor dossiers uit de verslavingszorg ✓ 42 CFR Part 2, met de mededeling tegen verder verstrekken — geen vergelijkbare regel — geen vergelijkbare regel — geen vergelijkbare regel — geen vergelijkbare regel
✓GebouwdZit nu in de rechtsgebiedmodule, en is aantoonbaar. ⚙Gebouwd — u stelt de waarde inHet mechanisme is er en het getal is van u, want de wet laat het aan u of aan uw staat. Geen tekortkoming. §Dat stelsel vraagt minderEr ontbreekt niets. Het recht van dit land geeft een nauwer recht, of komt langs een andere weg op dezelfde plek uit. ◐Deels gebouwdEr ontbreekt werkelijk iets. De landenpagina noemt precies wat. —Helemaal niet in dat stelselDe wet bevat dit recht eenvoudigweg niet.

De twee middelste merktekens waren tot voor kort één merkteken, dat las als één soort tekortkoming terwijl er maar ◐ een is. Een bewaartermijn die u instelt omdat uw staat haar instelt is geen ontbrekende functie, en HIPAA die een recht niet geeft dat de AVG wel geeft evenmin.

03 — Wat er beschermd wordt

Drie soorten gegevens, en maar één ervan is gewoon

Niet alles in een praktijk heeft dezelfde bescherming nodig. Behandelt u elk veld als maximaal gevoelig, dan wordt het systeem traag en onhandig en gaan medewerkers hun aantekeningen in plaats daarvan in een spreadsheet bijhouden. Dat is in de meeste praktijken het werkelijke lekrisico. Behandelt u niets als gevoelig, dan is het systeem eenvoudigweg onveilig. Het platform sorteert gegevens dus in drie soorten en past de zware machinerie alleen toe op de soort die haar nodig heeft.

Soort gegevensVoorbeeldenHoe ze bewaard wordenWie erbij kan
Gewone bedrijfsgegevens Contactgegevens, bestellingen, facturen, boekingen, chatberichten In de database, beschermd door de eigen toegangsregels van Odoo Medewerkers wier werk het nodig heeft. De cliënt zelf, via het portaal
Klinische en beroepsmatige dossiers Sessieverslagen, incident- en veiligheidsdossiers, identiteitsbewijzen Als beveiligde documenten: versleuteld per versie, bewaard buiten het gewone bestandsgebied Alleen het behandelteam van die cliënt, door een uitdrukkelijke regel. Geen enkele functietitel geeft het
Financiële vastleggingen Facturen, uitbetalingen aan behandelaars, contractversies, boekingen In het grootboek, dat niet bewerkt kan worden zodra een boeking verstuurd is Financiën en leiding. Een correctie laat een spoor achter in plaats van te overschrijven
Waarom de grens bij het dossier getrokken wordt en niet bij het veld

Elk afzonderlijk veld versleutelen zou zoeken onmogelijk maken. Medewerkers zouden hun werkaantekeningen dan ergens buiten het systeem bewaren, waar niets gelogd wordt en niets beschermd is. Het platform trekt de grens dus bij het soort dossier in plaats van bij het afzonderlijke veld. Gevoelig materiaal blijft binnen het systeem, waar elke leesactie vastgelegd kan worden.

04 — Het dossiermodel

Vijf dingen die van elk beschermd dossier waar zijn

Deze vijf zijn eigenschappen van hoe de gegevens bewaard worden. Het zijn geen beleidsregels die aan medewerkers gevraagd worden. Dat verschil is het hele betoog van deze pagina. Een beheersmaatregel die ervan afhangt dat mensen zich goed gedragen is een maatregel die u een beoordelaar niet kunt tonen. Een maatregel die in de opslag ingebouwd zit is dat wel.

Eigenschap één

Elke versie wordt afzonderlijk versleuteld

Het platform gebruikt envelopversleuteling met AES-256-GCM. Dat betekent dat elke documentversie een eigen willekeurige sleutel krijgt, en dat die sleutel vervolgens op slot gaat met een tweede sleutel die bij de hele implementatie hoort. Die tweede sleutel wordt nooit in de database bewaard.

  • Wie alleen een kopie van de database steelt heeft niets leesbaars
  • De versleutelde bestanden wonen buiten de gewone bestandsopslag van Odoo en worden nooit via de normale downloadroute geserveerd
  • De implementatiesleutel rouleren zet de kleine sleutels opnieuw op slot zonder één versleuteld bestand te herschrijven
  • De software weigert te starten als die sleutel ontbreekt, voor iedereen leesbaar is, van het verkeerde account is, of ergens bewaard wordt waar hij samen met de gegevens die hij beschermt gekopieerd zou worden
Eigenschap twee

Gesloten tenzij een regel het opent

Elke leesactie moet een regel vinden die haar toestaat en geen regel die haar verbiedt. Dit wordt elke keer gecontroleerd, niet één keer bij het aanmelden. Beheerder zijn, leidinggevende zijn, of degene zijn die het document geschreven heeft, geeft op zichzelf niets.

  • Er is geen hoofdsleutel en geen supergebruikersroute naar klinische inhoud
  • Toegang volgt het behandelteam van de cliënt, niet het organogram
  • Wanneer medewerkers een document indienen, vertelt het venster hun in gewone woorden wie het zal kunnen openen, voordat het opgeslagen wordt
Eigenschap drie

Elke leesactie wordt opgeschreven

Openingen worden gelogd, niet alleen bewerkingen. Het logboek groeit alleen aan en is hash-geketend, en dat betekent dat elke regel wiskundig aan de vorige gebonden is. Een regel verwijderen of wijzigen breekt de keten en wordt zichtbaar.

  • De regel wordt weggeschreven voordat de inhoud afgegeven wordt, niet erna
  • Niemand kan hem bewerken of verwijderen, ook de mensen die het systeem beheren niet
  • Een volledige lijst van wie een dossier geopend heeft kan geproduceerd worden voor een cliënt, een toezichthouder of uw eigen juristen
  • Leesacties in het portaal zijn per gebruiker in snelheid begrensd, geteld uit datzelfde logboek, zodat de limiet ook over verschillende serverprocessen heen standhoudt
Eigenschap vier

Correcties voegen toe, zij overschrijven nooit

Wanneer er iets gecorrigeerd wordt, wordt er een nieuwe versie ingediend. De eerdere blijft precies zoals zij was, inclusief haar metadata. Een dossier dat stilletjes bewerkt kan worden is als bewijs niets waard, en op een dag moet het uwe misschien iets waard zijn.

  • Een verzoek om een dossier te wijzigen voegt eraan toe in plaats van het te vervangen
  • Elke versie draagt een eigen sleutel, zodat vernietiging versie voor versie kan gebeuren
  • Een wijziging is daardoor zichtbaar in de geschiedenis in plaats van iets wat u moet afleiden
Eigenschap vijf

Vernietiging vernietigt de sleutel

Wanneer een bewaartermijn afloopt, vernietigt het platform de encryptiesleutel in plaats van de regel te verwijderen. De inhoud wordt blijvend onleesbaar. De lege huls en het auditspoor blijven. Deze techniek heet crypto-shredding.

  • Vernietiging is aantoonbaar in plaats van alleen beweerd
  • Het bewijs dat een dossier ooit bestond, en op tijd vernietigd is, blijft bestaan
  • De bewaartermijn telt vanaf een echt anker: het laatste contact, de geboortedatum of de overlijdensdatum
Het bewuste gat

Wat het niet zal doen, open gezegd

Het platform kan niet in versleutelde documenten zoeken. Dit is een rechtstreeks gevolg van de versleuteling, geen ontbrekende functie. Documenten worden gevonden op over wie ze gaan, van welk type ze zijn, en wanneer ze ingediend zijn.

  • Het staat hier omdat een leverancier die zowel sterke versleuteling als volledige tekstzoekfunctie op dezelfde inhoud belooft, er één van ten onrechte belooft
  • Het is een beveiligde documentdienst, geen elektronisch patiëntendossier: geen statusvoering, geen HL7- of FHIR-berichten, geen elektronisch voorschrijven
  • De kern weet niets van zorgrecht. De regels van elk land komen als aparte module daar bovenop
05 — Wie een dossier kan openen

Toegang volgt de behandelrelatie, niet de functietitel

Dit is veruit de belangrijkste gedachte op de pagina, en het is het ene ding dat een gewoon documentbeheersysteem niet kan uitdrukken. Een behandelrelatie is een vastgelegde koppeling tussen één behandelaar en één cliënt, met een soort, een begindatum en een einddatum. Een therapeut komt bij de dossiers van de mensen op zijn eigen caseload. Niet die van de praktijk. Zijn eigen. Eindigt de relatie, dan eindigt de toegang, na een korte coulanceperiode die lang genoeg is om openstaande aantekeningen af te maken.

Dit is wat van « het minimum dat nodig is » een beleidsregel uit een handboek maakt tot iets wat de software werkelijk afdwingt, en iets wat u in een audit kunt tonen.

Wat er bij elke afzonderlijke leesactie gebeurt

Vijf stappen, elke keer, voor elk document

  1. Wie vraagt het?Een aangemelde gebruiker, herleid tot één bepaalde persoon. Geen rol en geen groep.
  2. Is er een regel die het toestaat?Omdat hij de betrokkene is, omdat hij in het behandelteam zit, of omdat iemand hem bij naam toegang verleend heeft. Geen regel, geen toegang.
  3. Is er een regel die het verbiedt?Een weigering wint altijd van een toestemming. Psychotherapienotities, verzegelde documenten en achtergehouden dossiers weigeren op elke route naar binnen.
  4. Schrijf de logregelToegevoegd aan het alleen aangroeiende logboek voordat er inhoud teruggestuurd wordt.
  5. Ontcijfer in het geheugen en stroom hetEr wordt op de weg naar buiten niets naar schijf geschreven en er wordt niets uit het gewone bestandsgebied geserveerd.

Waar u niet mee binnenkomt

Uitdrukkelijk opgesomd, want kopers vragen er altijd naar

  1. Beheerder zijnEen beheerdersaccount opent uit zichzelf geen klinische inhoud. Er is geen achterdeur voor support of onderhoud.
  2. Het zelf geschreven hebbenIncident- en veiligheidsdossiers zijn zelfs gesloten voor degene die ze ingediend heeft, want ze worden bij de praktijkdirecteur ingediend.
  3. Hooggeplaatst zijnKlinische rollen bepalen welke schermen van de toepassing iemand bereikt. Zij bepalen nooit wat iemand kan openen.
  4. De cliënt zijnEen cliënt ziet een dossier over zichzelf alleen wanneer een regel dat uitdrukkelijk toestaat. Dat is een klinische en juridische beslissing, met opzet genomen en vastgelegd met de reden en de naam van degene die haar nam.
  5. Een documentverwijzing radenEen document dat u niet mag zien geeft « niet gevonden » terug, nooit « verboden ». Anders wordt verwijzingen raden een manier om te ontdekken wie er dossiers heeft.
Noodtoegang bestaat, en zij is nooit stil

Soms heeft een behandelaar werkelijk een dossier nodig waarmee hij geen relatie heeft — een crisis, een telefoontje buiten kantooruren, een collega die ziek geworden is. Staat uw organisatie het toe, dan is er een route voor noodtoegang. Haar gebruiken wordt als gebeurtenis vastgelegd en achteraf door de privacy officer beoordeeld.

Dat is het ontwerp in één zin: toegang is er wanneer iemand haar werkelijk nodig heeft, en zij is nooit stil. Dit is bewust zo. Een systeem dat alleen maar blokkeert faalt op zijn eigen manier. De Britse richtlijnen (Caldicott-beginsel 7) zeggen dat de plicht om te delen even belangrijk kan zijn als de plicht om te beschermen, en daarom is noodtoegang een ontworpen functie van de kern in plaats van een gat dat erin is blijven zitten.

06 — De bedrijfskern

Hoe Odoo Community bepaalt wie u bent, en wat u ziet

De klinische machinerie die hierboven beschreven staat zit boven op Odoo 19 Community, en dat is de bedrijfskern met open broncode. Odoo brengt een eigen model voor toegangscontrole mee, en het is het waard dat te begrijpen, want het is wat de gewone bedrijfsgegevens beschermt — de boekingen, facturen, contacten en berichten die het grootste deel van het systeem uitmaken.

Dit hoofdstuk heeft zes delen: de vier lagen van toegangscontrole die bepalen waar een aangemeld persoon bij mag; aanmelden — wachtwoorden, tweefactorauthenticatie, passkeys en het beleid eromheen; wat « op rollen gebaseerd » hier werkelijk betekent , want die uitdrukking wordt overal losjes gebruikt; afzondering van databases; de OWASP Top Ten met het antwoord van Odoo op elk punt; en wat open source werkelijk waard is.

Alles hieronder wordt met Odoo 19 Community meegeleverd. Niets ervan is een betaalde uitbreiding, en het is allemaal leesbare broncode die uw eigen beveiligingsteam kan bekijken.

Het toegangsmodel van Odoo heeft vier lagen. Elke laag beantwoordt een andere vraag, en een verzoek moet alle vier passeren. Zij worden binnen de datalaag zelf gecontroleerd, en dat is het belangrijke deel: dezelfde controles gelden of een dossier nu via de webinterface bereikt wordt, via de gateway van de mobiele app, of via de externe API van Odoo. Er is geen route die ze omzeilt.

Laag één

Groepen — welk deel van het systeem u bereikt

Een groep is een rol. Het lidmaatschap bepaalt welke menu's, schermen en knoppen iemand überhaupt ziet. Groepen kunnen andere groepen impliceren, zodat een supervisor automatisch alles heeft wat een behandelaar heeft, zonder dat de rechten twee keer geschreven worden.

  • Rollen in deze implementatie zijn onder meer behandelend behandelaar, supervisor, praktijkdirecteur, dossierbeheerder, balie en privacy officer
  • De balie krijgt alleen demografie: geen klinische inhoud en geen enkele documenttoegang
  • Een groep geeft bereik, nooit inhoud. De behandelaarsrol hebben opent uit zichzelf geen enkel cliëntdossier — dat doet de behandelrelatie
Laag twee

Toegangsrechten per model — wat u met een soort dossier mag doen

Voor elk type dossier en elke groep bewaart Odoo vier afzonderlijke rechten: lezen, aanmaken, bewerken en verwijderen. Zij staan in platte tekstbestanden die met elke module meekomen, zodat ze gelezen en nagekeken kunnen worden zonder iets te draaien.

  • Deze implementatie verklaart 660 toegangsregels over 35 modules
  • Alles wat er niet in staat wordt geweigerd. Toegang wordt verleend door haar te noemen, nooit door te vergeten haar te blokkeren
  • Lezen zonder bewerken komt met opzet vaak voor: veel rollen mogen een dossier zien dat zij niet mogen wijzigen
Laag drie

Dossierregels — welke afzonderlijke dossiers u mag aanraken

Een dossierregel is een filter dat op elke zoekopdracht toegepast wordt. Het is wat « uw eigen cliënten » en « uw eigen bedrijf » echt maakt in plaats van een kwestie van welk scherm iemand toevallig opent. Algemene regels gelden altijd. Regels die aan een groep hangen verruimen de toegang alleen voor die groep.

  • Deze implementatie definieert 117 dossierregels over de modules voor klinische zorg, boeken, contracten, elektronische handtekening en rapportage
  • Typische voorbeelden: een behandelaar ziet behandelrelaties waarin hij de behandelaar is; een portaalgebruiker ziet alleen boekingen die bij zijn eigen contactdossier horen
  • De regel wordt door de datalaag toegepast, dus zij houdt evengoed stand bij lijstweergaven, rapporten, exports en de externe API
Laag vier

Veldregels en afzondering van het portaal

Afzonderlijke velden kunnen tot bepaalde groepen beperkt worden, zodat twee mensen hetzelfde dossier kunnen openen en er verschillend veel van zien. Daarnaast houdt Odoo portaalgebruikers volledig in een andere klasse dan medewerkers.

  • Een portaalgebruiker — een cliënt of een extern contact — heeft helemaal geen toegang tot de backoffice, alleen tot de pagina's die uitdrukkelijk voor hem gepubliceerd zijn
  • Openbare webpagina's draaien als anonieme gebruiker met vrijwel niets verleend, zodat een fout op een openbare pagina geen gegevens van medewerkers kan blootleggen
  • Elke controllerroute in deze implementatie verklaart of zij een aangemelde gebruiker verlangt of bewust openbaar is: 174 routes verlangen een aanmelding, 57 zijn met opzet openbaar
Bescherming door het raamwerkWat Odoo doetWat het voorkomt
Zoekopdrachten opbouwenAlle databasezoekopdrachten worden door het raamwerk uit gestructureerde filters opgebouwd. Toepassingscode schrijft voor gewoon lezen en schrijven geen ruwe SQLSQL-injectie via zoekvelden, filters en URL-parameters
Sjablonen ontsnappenDe sjabloonmotor van Odoo ontsnapt standaard de waarden die zij in een pagina zet. Om ruwe uitvoer moet uitdrukkelijk gevraagd wordenCross-site scripting, waarbij tekst die door de ene gebruiker bewaard is als code draait in de browser van een andere
FormuliertokensWebformulieren die gegevens wijzigen dragen een token dat aan de sessie van de gebruiker vastzit, en de server weigert een inzending zonder tokenCross-site request forgery, waarbij een andere website stilletjes een formulier indient als uw aangemelde gebruiker
SessiesDe sessiestaat wordt op de server bewaard. De browser houdt alleen een identificatie vast, in een cookie die zo gemarkeerd is dat scripts op de pagina hem niet kunnen lezenSessiediefstal door een script dat in de pagina draait
WachtwoordenAlleen bewaard als eenrichtingshash, nooit in een vorm die terug te draaien is. Het hashschema kan bijgewerkt worden zonder iedereen te vragen zijn wachtwoord opnieuw in te stellenDat een gestolen gebruikerstabel een lijst bruikbare wachtwoorden wordt
DatabasebeheerDe schermen die hele databases aanmaken, kopiëren, terugzetten en verwijderen staan in productie dicht, en één hostnaam is aan precies één database gebondenDat wie de server bereikt een database kan vinden, kopiëren of overschrijven
Verhoogde handelingenCode kan de toegangsregels alleen omzeilen waar een ontwikkelaar dat bewust geschreven heeft, voor een omschreven handeling, op een met naam genoemde plek. Klinische inhoud is niet een van die plekkenBrede, per ongeluk ontstane rechtenverhoging, verstopt in toepassingscode
Open sourceOdoo Community is onder een open licentie gepubliceerd en de addons in dit platform zijn volledig leesbaar. Beveiligingsoplossingen worden door Odoo gepubliceerd en op uw eigen installatie toegepastDat u de beveiligingsbeweringen van een leverancier volledig op vertrouwen moet aannemen

Aanmelden: wachtwoorden, tweede factoren en het beleid eromheen

De vier lagen hierboven bepalen waar een aangemeld persoon bij mag. Dit is het deel daarvóór — hoe Odoo vaststelt dat iemand is wie hij beweert te zijn, en wat het doet wanneer hij dat niet is. Het wordt allemaal met Odoo 19 Community meegeleverd; niets ervan is een betaalde uitbreiding.

BeheersmaatregelStatusWat het doet, en wat u beslist
Wachtwoorden worden gehasht, nooit bewaard ✓ Bewaard als PBKDF2-SHA512-hash met een salt per wachtwoord en een instelbare werkfactor. Een hash valt niet terug te draaien tot een wachtwoord, dus een gestolen gebruikerstabel is geen lijst aanmeldingen. De werkfactor kan verhoogd worden naarmate hardware sneller wordt, en wachtwoorden worden opnieuw gehasht naar de sterkere instelling zodra iedereen zich de volgende keer aanmeldt — niemand wordt gevraagd iets opnieuw in te stellen.

Niemand kan een wachtwoord teruglezen, uw eigen beheerders niet en wij niet: het veld leest altijd als leeg, wie het ook vraagt. Raakt iemand zijn wachtwoord kwijt, dan is de enige route opnieuw instellen, en dat is het juiste antwoord in plaats van een ontbrekende functie.
Tweefactorauthenticatie ⚙ Gebouwd en in elke installatie meegeleverd, met de standaardcodes uit een authenticator-app (TOTP) die werken met Google Authenticator, Authy, 1Password en de rest. Iemand kan zelf een apparaat aanmelden, en vertrouwde apparaten kunnen een tijd onthouden worden.

U stelt in: of zij optioneel of verplicht is. De ene instelling zet haar aan voor iedereen, de andere voor alle medewerkersaccounts — en wie geen authenticator-app heeft krijgt in plaats daarvan een eenmalige code per e-mail, zodat haar verplichten niemand laat stranden. In een Amerikaanse implementatie hoort zij aan te staan: zij wordt onder de Security Rule verwacht en wordt feitelijk verplicht als de voorgestelde herziening doorgaat.
Tweefactor sluit ook de API-deur ✓ Het detail dat haar de moeite waard maakt. Zodra iemand een tweede factor heeft, houdt zijn wachtwoord helemaal op te werken voor toegang van machine tot machine — een koppeling moet in plaats daarvan een API-sleutel met een naam gebruiken. Zonder die regel beschermt tweefactorauthenticatie het aanmeldscherm en laat zij de achterdeur open, en zo wordt zij in de praktijk verslagen.
Passkeys ⚙ Odoo 19 ondersteunt passkeys — aanmelden met een vingerafdruk, een gezicht of een hardwaresleutel in plaats van met een wachtwoord. Er wordt niets getypt wat te phishen valt, dus het neemt de hele klasse aanvallen weg waarin iemand overgehaald wordt zijn wachtwoord op een overtuigende kopie van uw aanmeldpagina in te voeren. U beslist of u het aanbiedt.
API-sleutels in plaats van wachtwoorden voor koppelingen ✓ Elke koppeling krijgt een eigen sleutel met een naam en een eigen reikwijdte, genoteerd bij de persoon die haar aangemaakt heeft, en stuk voor stuk in te trekken. Een sleutel die uitlekt wordt uitgezet zonder dat iemands wachtwoord verandert en zonder dat de andere koppelingen breken.
Wachtwoordbeleid ⚙ Een minimumlengte die afgedwongen wordt op het moment dat een wachtwoord gezet wordt, met een sterktemeter die tijdens het typen meeloopt. U stelt het minimum in. Het staat standaard op nul, en dat betekent dat het bepalen ervan bij de livegang hoort in plaats van iets wat u later ontdekt.

Er is met opzet geen instelling voor verplichte tekensoorten — één hoofdletter, één cijfer, één symbool. Dat is geen weglating. Onderzoek en de huidige NIST-richtlijn kwamen allebei tot de bevinding dat die regels averechts werken: zij duwen mensen naar voorspelbare vervangingen en naar wachtwoorden opschrijven, en zij leveren minder op dan lengte. Lengte plus een tweede factor is de combinatie die werkt.
Bescherming tegen brute kracht ✓ Standaard aan. Na tien mislukte pogingen wordt elke volgende poging zestig seconden geweigerd, geteld vanaf de laatste mislukking — zodat een raadaanval teruggebracht wordt tot één poging per minuut in plaats van duizenden. Beide getallen zijn instellingen die een databasebeheerder kan wijzigen (of uitzetten, door het eerste op nul te zetten). Het werkt zonder dat iemand hoeft te merken dat de aanval gaande is.
Opnieuw aanmelden bij gevoelige handelingen ✓ Beveiligingsinstellingen wijzigen, een tweede factor aanmelden of een API-sleutel aanmaken vraagt de persoon opnieuw te bewijzen wie hij is, ook midden in een sessie. Een onbeheerd scherm kan niet gebruikt worden om het account waarmee het aangemeld is te verzwakken.
Een wachtwoord wijzigen beëindigt elke sessie ✓ De geldigheid van een sessie wordt uit het account zelf afgeleid, dus een wachtwoord wijzigen of een account deactiveren maakt elke bestaande sessie overal tegelijk ongeldig — elke browser, elk apparaat, meteen. Dit is wat van « iemand is vertrokken, sluit hem buiten » één handeling maakt in plaats van een hoop.
Bedrijfsbrede aanmelding, waar u die gebruikt ⚙ Odoo kan authenticeren tegen uw bestaande directory (LDAP of Active Directory) of tegen een OAuth2-identiteitsaanbieder, zodat in- en uitdiensttreding één keer geregeld worden op de plek waar uw organisatie dat al regelt. Optioneel, en alleen de moeite waard als u er al een draait.
Portaaldocumenten achter een tweede factor ⚙ Deze is van ons en niet van Odoo, en zij bestaat omdat de aanmelding van een cliënt het zwakste punt in elk klinisch systeem is. Zet haar aan en een portaalgebruiker die geen tweede factor aangemeld heeft kan zich nog steeds aanmelden en zien dát er documenten zijn — maar kan er geen openen voordat hij dat doet. Het raakt mensen die het portaal al gebruiken, dus vertel het hun voordat u haar aanzet.
✓Standaard aanWerkt vanaf het moment dat het systeem geïnstalleerd is. ⚙Gebouwd — u zet het aanAanwezig en ondersteund. Of u het gebruikt, en hoe streng, is uw beslissing.

Wat « op rollen gebaseerd » hier werkelijk betekent

Vrijwel elk systeem beweert op rollen gebaseerd te zijn. De uitdrukking is het uitpakken waard, want in de meeste producten betekent zij dat het menu verandert en in Odoo betekent zij dat de gegevens veranderen.

Een rol is in Odoo een groep. Groepen kunnen andere groepen bevatten, zodat een supervisor automatisch alles heeft wat een behandelaar heeft zonder dat iemand de rechten twee keer schrijft — en wanneer een recht gecorrigeerd wordt, wordt het één keer gecorrigeerd voor iedereen die het erft. Wat een groep geeft is geen scherm. Het zijn vier afzonderlijke rechten (lezen, aanmaken, bewerken, verwijderen) op elk soort dossier, plus filters die bepalen welke dossiers van dat soort, plus de mogelijkheid om afzonderlijke velden te verbergen.

Het belangrijke gevolg: een menu verbergen is geen recht. In een systeem waarin rollen alleen het menu veranderen, komt iedereen die een webadres leert kennen bij de gegevens erachter. In Odoo wonen de controles in de datalaag, dus dezelfde weigering vindt plaats of het dossier nu via een scherm, een rapport, een export, een zoekopdracht of de externe API bereikt wordt. Er is geen route die ze overslaat.

01Rollen zijn naar het werk genoemd

Behandelend behandelaar, supervisor, praktijkdirecteur, dossierbeheerder, balie, privacy officer, boekhouder, contractbeheerder. De balie krijgt alleen demografie — geen klinische inhoud en geen enkele documenttoegang.

Beantwoordt« Laat mij zien wat een baliemedewerker kan zien »
02Rollen geven bereik, nooit inhoud

De behandelaarsrol hebben opent uit zichzelf geen enkel cliëntdossier. Dat doet de behandelrelatie. Dit is veruit de belangrijkste zin over toegang op deze site.

Beantwoordt« Kan een therapeut de dossiers van de hele praktijk lezen? »
03Vier rechten, niet één

Lezen, aanmaken, bewerken en verwijderen staan voor elk soort dossier los van elkaar. Lezen zonder bewerken komt met opzet vaak voor: heel wat rollen moeten iets zien dat zij niet mogen wijzigen.

Beantwoordt« Wie kan een factuur wijzigen nadat zij verstuurd is? »
04Rijfilters bepalen welke dossiers

« Uw eigen cliënten », « uw eigen bedrijf », « boekingen die bij u horen ». Toegepast op elke zoekopdracht, dus zij houden evengoed stand bij lijsten, rapporten, exports en de API.

Beantwoordt« Wat houdt tegen dat een export alles ophaalt? »
05Algemene regels kunnen niet verruimd worden

Een regel die aan geen enkele groep hangt geldt voor iedereen en wordt met elke andere regel gecombineerd, dus zij versmalt de toegang en er is nooit aan te ontkomen door er een rol bij te nemen. De scheiding tussen bedrijven is zo gebouwd.

Beantwoordt« Kan de ene praktijk de gegevens van een andere zien? »
06Afzonderlijke velden kunnen verborgen worden

Twee mensen kunnen hetzelfde dossier openen en er verschillend veel van zien. Hier gebruikt voor kosten- en margecijfers, en voor de velden die alleen een dossierbeheerder zou mogen lezen.

Beantwoordt« Ziet iedereen die een contract ziet ook de marge ervan? »
07Cliënten zijn een andere klasse gebruikers

Een portaalgebruiker heeft hoegenaamd geen toegang tot de backoffice — geen beperkte weergave ervan, helemaal niets. Hij bereikt alleen de pagina's die voor hem gepubliceerd zijn. Openbare webpagina's draaien als anonieme gebruiker met vrijwel niets verleend.

Beantwoordt« Wat is het ergste geval als een cliëntaanmelding gestolen wordt? »
08Elke route verklaart haar eigen toegang

Elk webadres in deze implementatie zegt of het een aangemelde gebruiker verlangt of bewust openbaar is: 174 verlangen een aanmelding, 57 zijn met opzet openbaar. Niets is per ongeluk openbaar.

Beantwoordt« Welke van uw URL's werken zonder aanmelden? »
09Het is allemaal leesbare inrichting

Rechten worden als platte tekstbestanden binnen elke module meegeleverd. Uw eigen beveiligingsteam kan lezen wie wat krijgt zonder het systeem te draaien, en het tussen releases vergelijken.

Beantwoordt« Kunnen wij de rechten zelf controleren? »

Eén database per praktijk, en geen weg ertussendoor

Uw gegevens wonen in een eigen database. Het is geen gedeelde tabel met een klantkolom erin, en dat is de opstelling waarin één verkeerde zoekopdracht de dossiers van iemand anders teruggeeft.

Odoo dwingt die scheiding af bij de verbinding: een verzoek draagt een hostnaam, de hostnaam kiest precies één database, en er is geen pad van binnen de ene database naar een andere die op dezelfde server draait. Niets in de toepassing kan een database aanspreken waarmee zij niet verbonden is. Daarbovenop staan de schermen die hele databases aanmaken, kopiëren, terugzetten en verwijderen in productie dicht, zodat niemand die de server bekijkt kan opsommen wat er staat.

Binnen uw eigen database doet een tweede laag hetzelfde werk tussen bedrijven: draait u meer dan één praktijk op één installatie, dan is de scheiding tussen bedrijven geschreven als algemene regels — het soort dat voor iedereen geldt en nooit verruimd kan worden door er een rol bij te nemen.

De OWASP Top Ten, en waar Odoo op elk punt staat

Het Open Web Application Security Project publiceert de lijst van de meest voorkomende manieren waarop er in webtoepassingen ingebroken wordt. Het is de lijst die een beveiligingsbeoordelaar afwerkt, dus hier staat zij met het antwoord van Odoo op elk punt. Het patroon dat opvalt is dat de meeste hiervan voorkomen worden door het ontwerp van het raamwerk en niet doordat ontwikkelaars eraan denken voorzichtig te zijn — en dat is de enige soort preventie die het contact met een deadline overleeft.

De aanvalStatusWaarom hij hier niet werkt
Injectie, in het bijzonder SQL-injectievijandige invoer die als opdracht behandeld wordt ✓ Toepassingscode schrijft databasezoekopdrachten niet met de hand. Zij worden door het raamwerk uit gestructureerde filters opgebouwd, waarbij elke waarde los van de opdracht zelf doorgegeven wordt, zodat tekst die iemand ingetikt heeft nooit deel van de opdracht kan worden. Een ontwikkelaar zou moeite moeten doen om een ruwe zoekopdracht te schrijven, en de klinische modules doen dat niet.
Cross-site scriptingtekst die door de ene persoon bewaard is en als code draait voor een andere ✓ Alles wat in een pagina gezet wordt, wordt standaard ontsnapt. Om ruwe inhoud in een pagina te zetten moet uitdrukkelijk gevraagd worden, en dat is in de code zichtbaar wanneer het gebeurt. De standaard is veilig, dus het vergeten levert iets lelijks op in plaats van iets gevaarlijks.
Cross-site request forgeryeen andere site dient een formulier in als uw aangemelde gebruiker ✓ Elk formulier dat gegevens wijzigt moet een token dragen dat aan de sessie van die persoon vastzit, en de server weigert een inzending zonder token. Het token bestaat alleen omdat de persoon uw pagina werkelijk geladen heeft, en de site van een aanvaller kan het niet bemachtigen.
Kwaadaardige bestandsuitvoeringde server zover krijgen dat hij code draait die u aangeleverd hebt ✓ Er is geen functie die een bestand van elders insluit. Waar bevoorrechte gebruikers kleine uitdrukkingen mogen schrijven om het gedrag aan te passen, draaien die in een zandbak die toegang tot het bestandssysteem, tot het netwerk en tot alles waarvan de naam met een dubbele laag streepje begint blokkeert — met opzet een korte lijst toegestane handelingen in plaats van een lijst verboden handelingen.
Onveilige rechtstreekse objectverwijzingeen getal in een URL wijzigen om bij het dossier van iemand anders te komen ✓ Dit is degene waar de meeste systemen op sneuvelen, en het antwoord van Odoo is structureel: toegangscontrole is niet in de schermen geïmplementeerd. Een dossiernummer in een webadres wijzigen komt uit bij dezelfde controle in de datalaag als al het andere en wordt daar geweigerd. Er zit geen risico in een verwijzing die zichtbaar is, want de verwijzing is niet wat toegang geeft.
Nalaten de toegang tot URL's te beperkeneen pagina bereiken door haar adres te kennen ✓ Hetzelfde antwoord, en het is het waard twee keer te zeggen, want het is het verschil tussen echte toegangscontrole en een net menu. Beveiliging leunt hier niet op een link die verborgen is. Waar een pagina werkelijk zonder aanmelding moet werken — een cliënt die een afspraak vanuit een e-mail bevestigt — draagt het adres een ondertekend token dat uniek is voor dat dossier en die persoon.
Onveilige cryptografische opslaginloggegevens zwak of helemaal niet beschermd ✓ Wachtwoorden worden gehasht met PBKDF2-SHA512 en sleutelverlenging, zoals hierboven beschreven, en kunnen lokaal helemaal vermeden worden door tegen uw eigen directory of identiteitsaanbieder te authenticeren. Klinische documenten gaan nog verder: per versie versleuteld onder sleutels die buiten de database liggen.
Onveilige communicatieverkeer dat onversleuteld verstuurd wordt ✓ Overal versleutelde verbindingen, waarbij onversleutelde verzoeken omgeleid worden in plaats van bediend, en browserkoppen die een afwaardering weigeren. Omdat dit platform zelf gehost wordt, is dit een beheersmaatregel van de uitrol in plaats van een eigenschap van de software — hij wordt als onderdeel van een standaardinstallatie ingericht en staat beschreven in hoofdstuk 07.
Bij interne onderdelen komen via de APIiets aanroepen dat nooit bedoeld was om aangeroepen te worden ✓ Staat niet op de OWASP-lijst maar is het toevoegen waard, want het is degene waarvan mensen aannemen dat het een gat is. De externe API weigert elke interne methode aan te roepen — alles waarvan de naam met een laag streepje begint, plus een met naam genoemde lijst gevaarlijke methoden. Alleen methoden die bewust gepubliceerd zijn kunnen van buiten bereikt worden, en dat beperkt scherp wat een fout in toepassingscode kan blootleggen.

Open source, en wat dat werkelijk waard is

« Open source » wordt vaak gezegd alsof het op zichzelf een beveiligingsfunctie was. Dat is het niet. Wat het u geeft is concreet en het is het waard dat precies te benoemen.

U kunt nakijken in plaats van geloven

Elke regel van Odoo Community en elke regel van de klinische modules kan gelezen worden door uw eigen beveiligingsteam of door testers die u inhuurt. Rechten worden als platte tekstbestanden meegeleverd. Niets op deze pagina hoeft op vertrouwen aangenomen te worden, en dat is een andere positie dan bij een gesloten product waar dezelfde beweringen alleen beweerd kunnen worden.

Dat is een uitnodiging om te auditen, geen vervanging van auditen.

Er kijken veel meer mensen naar

Odoo wordt wereldwijd doorlopend bekeken door gebruikers, bijdragers en onafhankelijke beveiligingsonderzoekers, en foutmeldingen uit de gemeenschap zijn een echte bron van beveiligingsfeedback. Odoo draait een programma voor verantwoorde bekendmaking en publiceert oplossingen als advisories.

Het eigen ontwikkelproces omvat codebeoordeling waarbij beveiliging een van de beoordeelde punten is, voor nieuwe en voor bijgedragen code gelijk.

U bepaalt wanneer patches binnenkomen

Zelf hosten betekent dat beveiligingsoplossingen op uw schema op uw installatie toegepast worden in plaats van dat ze van de ene op de andere dag verschijnen. Dat is een voordeel voor een klinische dienst die wijzigingen moet valideren — en het is ook een plicht, want een oplossing die niemand toepast beschermt niemand.

Bijblijven staat op de lijst van de beheerder in hoofdstuk 07, en het is veruit de meest voorkomende manier waarop een verder goed gebouwde installatie uiteindelijk gecompromitteerd raakt.

Eén onderscheid waar u voorzichtig mee moet zijn

Odoo publiceert een eigen beveiligingspagina, en delen ervan beschrijven de clouddienst van Odoo — hun geharde serverimages, hun patchen, de kleine groep van hun engineers die bij een machine kan komen en dan alleen over een versleutelde sleutel vanaf een versleutelde laptop. Die zijn echt, en zij zijn niet de uwe, want dit platform wordt zelf gehost op uw eigen infrastructuur.

Alles op deze pagina boven de streep is een eigenschap van de software en geldt voor u precies zoals het er staat. De equivalenten aan serverkant — een gehard besturingssysteem, patchen, wie er SSH-toegang heeft, volledige schijfversleuteling op de machines waarmee beheerd wordt — zijn aan u om te draaien, en zij staan eerlijk uiteengezet in hoofdstuk 07, inclusief de delen die horen bij wie de servers draait. De cloudpagina van Odoo lezen en aannemen dat zij uw implementatie beschrijft is de gewoonste fout die over zelf gehoste Odoo gemaakt wordt, en het is het soort fout dat in een due-diligencebeoordeling uit elkaar valt.

Waar het model van Odoo ophoudt en het klinische begint

De vier lagen van Odoo zijn sterk, goed getest en voldoende voor gewone bedrijfsgegevens. Zij zijn op zichzelf niet voldoende voor een klinisch dossier, om één reden: zij zijn inrichting, en inrichting kan gewijzigd worden door iemand met de juiste rol. Daarom zijn klinische documenten daarbovenop versleuteld onder sleutels die buiten de database liggen, en daarom gebruiken psychotherapienotities weer een andere sleutel. Als morgen elke Odoo-regel in het systeem fout zou zijn, zou de versleutelde inhoud nog steeds niet opengaan.

07 — De server

Hoe de machine zelf gehard is

Beveiliging van de toepassing telt alleen als de server eronder naar behoren dicht zit. Het platform wordt zelf gehost, en dat betekent dat het draait op infrastructuur die u beheerst in plaats van op de cloud van een leverancier. Dat is een echt voordeel voor een zorgdienst, en het komt met een echte plicht: het harden hieronder hoort bij de installatie, en het moet daarna waar gehouden worden.

Alles in de eerste tabel wordt als onderdeel van een standaarduitrol ingericht en staat gedocumenteerd in de installatiehandleidingen. De tweede tabel is het deel dat hoort bij wie de servers draait.

GebiedHoe het ingericht isWaarom het zo gedaan wordt
Er staat niets rechtstreeks blootgesteld De diensten van de toepassing luisteren alleen op de machine zelf. Al het verkeer van buiten komt binnen via een nginx-reverseproxy, en dat is het enige op een openbare poort Eén voordeur in plaats van verschillende. Certificaten, koppen, limieten en logboeken worden allemaal op één plek toegepast
Versleuteling onderweg TLS-certificaten van Let's Encrypt, automatisch uitgegeven en vernieuwd. Gewone HTTP wordt omgeleid naar HTTPS in plaats van bediend Er is geen onversleutelde weg naar binnen, ook niet per ongeluk, en vernieuwing is niet iets wat een mens moet onthouden
Beveiligingskoppen voor de browser Strict-Transport-Security voor een jaar, X-Frame-Options op same-origin, X-Content-Type-Options op nosniff De browser weigert terug te vallen op HTTP, weigert de site door een andere site in een frame te laten zetten, en weigert bestandstypen te raden
Firewall Alleen poort 80 en 443 staan open naar de wereld. De poorten van de toepassing, de database en Redis zijn van buiten de machine niet bereikbaar De database is vanaf het internet nooit aanspreekbaar. Een telefoon zit minstens twee sprongen van elke regel af
Snelheidsbegrenzing Limieten op de proxy voor binnenkomende verzoeken, plus tokenemmers in Redis binnen de gateway voor openbare routes en het lezen van portaaldocumenten De proxy houdt vloedgolven tegen. De tellers in Redis houden stand over verschillende serverprocessen heen, zodat een limiet per gebruiker betekent wat zij zegt
Eén hostnaam, één database Odoo is zo ingericht dat de hostnaam in het verzoek precies één database kiest, en de schermen voor databasebeheer staan dicht Niemand die de server bekijkt kan een database opsommen, kopiëren, terugzetten of verwijderen
Diensten, geen shells De gateway en Odoo draaien als beheerde systeemdiensten onder eigen accounts, automatisch gestart en bij een storing opnieuw gestart Er draait niets onder een beheerdersaccount, en een herstart hangt er niet van af dat er iemand aangemeld is
Geheimen alleen op de server Ondertekensleutels en inloggegevens van derden wonen in een omgevingsbestand dat alleen voor het dienstaccount leesbaar is. De mobiele app wordt met geen ervan uitgeleverd De app kan uit elkaar gehaald worden en er wordt niets geleerd. Een vervangen inloggegeven werkt voor iedereen tegelijk, zonder dat er een nieuwe app hoeft te verschijnen
Versleutelde documenten wonen apart Cijfertekst wordt naar een eigen map met eigen rechten geschreven, buiten de gewone bestandsopslag van Odoo, en wordt nooit door de gewone downloadroute geserveerd Een verkeerd ingestelde webserver kan klinische bestanden niet per ongeluk publiceren
De hoofdsleutel wordt bij het starten gecontroleerd De versleutelingsmodule leest de sleutel van een eigen pad en weigert te starten als het bestand ontbreekt, voor iedereen leesbaar is, van het verkeerde account is, of in een map ligt waarvan samen met de gegevens een back-up gemaakt wordt De meest voorkomende sleutelmisser in de praktijk is dat de sleutel in dezelfde back-up belandt als de gegevens die hij beschermt. De software controleert daarop in plaats van op een procedure te vertrouwen
WebSocket op hetzelfde kanaal Chat, presentie en gesprekssignalering worden via dezelfde proxy en hetzelfde certificaat opgewaardeerd als al het andere Eén verbinding, één beleid, geen tweede luisteraar die apart beveiligd moet worden
Verzoeken volgen Elk verzoek draagt een identificatie door de gateway heen en in de antwoordkoppen weer naar buiten, samen met hoe lang het duurde Een incident kan over diensten heen gereconstrueerd worden in plaats van uit losse logbestanden geraden

Het harden dat hoort bij wie de servers draait

Dit zijn geen gaten in de software. Het zijn beslissingen en routines die alleen de beheerder kan nemen, en geen enkele leverancier kan ze voor u nemen. Zij staan onomwonden opgesomd zodat niemand aanneemt dat ze gedekt zijn.

  • Het besturingssysteem patchen. Een schema voor beveiligingsupdates op de host, en iemand wiens werk het is te bevestigen dat ze toegepast zijn.
  • Schijfversleuteling op de host. Documenten worden door het platform afzonderlijk versleuteld, maar volledige schijfversleuteling beschermt al het andere op de machine, inclusief logboeken en tijdelijke bestanden.
  • Back-ups, en hun versleuteling. Waar back-ups heen gaan, hoe ze versleuteld zijn, wie ze kan terugzetten, en hoe lang ze bewaard worden. Een back-up is een volledige kopie van uw gegevens zonder een van uw toegangsregels eraan vast.
  • De hoofdsleutel wordt apart geback-upt. Raakt de sleutel kwijt, dan is elk versleuteld document blijvend kwijt — dat is de bedoeling van het ontwerp. Er moet een back-up van gemaakt worden, en die mag niet naast de gegevens gemaakt worden.
  • Beheerderstoegang tot de server. SSH-sleutels in plaats van wachtwoorden, geen rechtstreekse rootaanmelding, een lijst van wie er toegang heeft, en die weghalen op de dag dat iemand vertrekt.
  • Terugzetten testen. Een back-up die nooit teruggezet is, is een hoop en geen beheersmaatregel. Test haar volgens een schema en schrijf op dat u het gedaan hebt.
  • Bewaking en waarschuwingen. Iemand moet ingelicht worden wanneer een dienst stopt, een schijf volloopt, een certificaat bijna verloopt, of een geplande bewaartaak niet meer draait.
  • Meerfactorauthenticatie voor medewerkersaccounts. Sterk aanbevolen voor iedereen die bij klinische inhoud komt, en feitelijk vereist als de voorgestelde herziening van de HIPAA Security Rule doorgaat. Bevestig bij uw beheerder of zij in uw implementatie aanstaat.
  • Plaatsing in het netwerk. Of de database op dezelfde machine staat of op een aparte, wat erbij kan komen, en of beheer over een privénetwerk of een VPN gaat.
  • Penetratietesten. Het landschap is open source en zelf gehost juist zodat uw eigen testers het naar behoren kunnen bekijken. Dat is een uitnodiging, geen vervanging van het werkelijk doen.
08 — Verdediging in lagen

Vier lagen, en elke laag weigert iets wat de volgende nooit ziet

Verdediging in lagen betekent niet op één bescherming leunen. Een verzoek moet alle vier de lagen hieronder passeren. De waarde zit er niet in dat een van hen onmogelijk te breken is. Zij zit erin dat zij op verschillende manieren falen, zodat een fout in de ene hoogst onwaarschijnlijk ook een fout in alle vier is.

1 · Apparaat en oppervlak Wat iemand in zijn hand houdt Niet vertrouwd
Geen geheimen op het apparaatDe app draagt uitsluitend publieke sleutels. Hij kan uit elkaar gehaald worden en er wordt niets geleerd.
Aanmelden met biometrie en appvergrendelingBoven op de vergrendeling van de telefoon zelf, niet in plaats daarvan.
Tokens in beveiligde opslagBewaard in de sleutelhanger van het platform, niet in gewone appbestanden.
De database is onbereikbaarDe app kan de database op geen enkel netwerk aanspreken.
HTTPS · kortlevend token
2 · Gateway De enige backend die de app kent Bewaart de geheimen
Elke sleutel van een derde woont hierInloggegevens voor betalingen, AI, berichten en opslag verlaten de server nooit.
Kortlevende ondertekende tokensElk draagt voor wie het is, wanneer het uitgegeven is, wanneer het verloopt en een uniek nummer. Ze worden vernieuwd in plaats van lang te leven.
Wachtwoorden hashenEenrichting, en het schema is bij te werken zonder dat iemand opnieuw hoeft in te stellen.
SnelheidsbegrenzingTellers bewaard in Redis, gedeeld over elk serverproces.
Invoer validerenMisvormde verzoeken worden hier geweigerd, voordat de bedrijfskern ze ooit ziet.
Ondertekende, verlopende linksMedia gaan via een proxy. Er wordt niets geserveerd vanaf een adres dat u zou kunnen raden.
serviceaccount · zo min mogelijk rechten
3 · Bedrijfskern Waar de regels werkelijk wonen Gezaghebbend
Groepen, toegangsrechten en dossierregelsDe vier lagen van Odoo, toegepast hoe het dossier ook bereikt wordt.
Het behandelteam uitzoekenDe ene plek die bepaalt wie een klinisch dossier mag openen.
Klinische rollenBepalen welk deel van de toepassing iemand bereikt. Nooit wat hij kan openen.
Een grootboek dat niet bewerkt kan wordenEen verstuurde factuur staat vast. Een correctie is een creditnota.
Gedateerde contractversiesVoorwaarden kunnen niet met terugwerkende kracht en de geschiedenis blijft.
versleuteld in rust · sleutels apart bewaard
4 · Opslag en sleutels Wat een gestolen schijf overleeft Cryptografie
CijfertekstmapBuiten de bestandsopslag, buiten de database, met eigen rechten.
De hoofdsleutelOp schijf, van het serviceaccount, nooit in dezelfde back-up als de gegevens.
Een tweede sleutel voor therapieaantekeningenDe gewone sleutel opent ze niet, wat de regels ook zeggen.
Hash-geketend auditlogboekGroeit alleen aan. Knoeien is opspoorbaar, niet alleen ontmoedigd.
09 — Praktijk in de zorgbranche

De beheersmaatregelen waar een klinische beoordelaar specifiek naar vraagt

Firewalls en versleuteling worden van elk systeem verwacht. De negen hieronder zijn de maatregelen die in het bijzonder in een ggz-beoordeling langskomen, en die een documentbeheersysteem voor algemeen gebruik helemaal niet kan uitdrukken. Elk is opgeschreven met de vraag die het beantwoordt, want zo komt het meestal binnen.

01Behandelrelaties

Een vastgelegde koppeling tussen één behandelaar en één cliënt, met een soort, een begin en een eind. Eindigt de relatie, dan eindigt de toegang ook, na een coulanceperiode die lang genoeg is om openstaande aantekeningen af te maken.

Beantwoordt« Hoe dwingt u het minimum dat nodig is af? »
02Indienen bij de directeur

Incidenten, klachten en veiligheidsmeldingen gaan naar de praktijkdirecteur en zijn gesloten voor degene die ze ingediend heeft, en voor iedereen over wie de klacht gaat.

Beantwoordt« Kan een medewerker de klacht over zichzelf lezen? »
03Rechtenverzoeken als workflows

Inzageverzoeken dragen hun wettelijke termijn. Wijzigingsverzoeken voegen een versie toe in plaats van te overschrijven. Beperkingsverzoeken verzegelen de documenten die zij bestrijken.

Beantwoordt« Laat mij een inzageverzoek van begin tot eind zien »
04Verstrekkingsregister

Wat de dienst verlaten heeft, aan wie, en op welke juridische grondslag. Dit is de vastlegging waar iemand in de Verenigde Staten zes jaar van mag opvragen.

Beantwoordt« Met wie hebt u de gegevens van deze persoon gedeeld? »
05Bewaarankers

Het laatste contact, de geboortedatum en de overlijdensdatum worden als datums bewaard om vanaf te tellen, want een regel die in jaren geschreven is zegt niets zonder vertrekpunt.

Beantwoordt« Hoe weet u wanneer u dit moet vernietigen? »
06Nalopen op status, nooit op inhoud

Achterstallige sessieverslagen worden gevonden op hun termijn en hun staat. Een leidinggevende kan zien dát een verslag ontbreekt zonder er een te openen die er wel is.

Beantwoordt« Lezen leidinggevenden klinische aantekeningen om de praktijk te draaien? »
07Identiteits- en leeftijdscontroles

Eerst een automatische gezichtscontrole, en daarna zo nodig een wachtrij voor menselijke beoordeling. De identiteitsbewijzen worden versleuteld zolang ze bewaard worden en automatisch verwijderd zodra de controle klaar is.

Beantwoordt« Wat gebeurt er daarna met het identiteitsbewijs? »
08Klinische elektronische handtekening

Verklaring van wilsbekwaamheid, ondertekenen namens een cliënt, medeondertekening door een supervisor, en toestemming die later ingetrokken kan worden in plaats van een eenmalig vinkje te zijn.

Beantwoordt« Hoe wordt toestemming vastgelegd, en kan zij ingetrokken worden? »
09Ondertekenen blijft in eigen huis

De handtekeningdienst draait op uw eigen servers met een eigen hash-geketend spoor. Er wordt geen document naar een bedrijf buiten uw huis gestuurd om ondertekend te worden, en er is geen leveranciersfactuur per handtekening.

Beantwoordt« Welke derden zien onze getekende documenten? »
10 — Als er iets misgaat

Twee termijnen vanaf één moment, en een uitzondering die u moet verdienen

De versleuteling heeft grotendeels vanwege dit hoofdstuk de vorm die zij heeft. Zowel de AVG als HIPAA aanvaarden dat naar behoren versleutelde gegevens onleesbaar zijn, en dus niet werkelijk een verstrekking. Maar die uitzondering houdt alleen stand als u kunt aantonen dat de sleutels niet óók meegenomen zijn. Het hele ontwerp rond sleutelbewaring bestaat zodat u dat kunt aantonen.

Bekend worden

Beide termijnen hieronder beginnen op het moment waarop u ervan op de hoogte raakt, niet op het moment waarop het incident plaatsvond. Dat maakt van het vaststellen en vastleggen van dat moment het eerste wat u doet, in plaats van iets wat later gereconstrueerd wordt.

Licht de toezichthouder in

Artikel 33 van de AVG geeft u 72 uur vanaf het bekend worden om de toezichthouder te melden — de ICO in het Verenigd Koninkrijk, de betrokken nationale autoriteit in de Europese Unie. Deze termijn geldt ongeacht of de gegevens versleuteld waren.

Licht de getroffen mensen in

Artikel 34 verlangt dat u ook de individuen inlicht, tenzij de gegevens versleuteld waren. Artikel 34 lid 3 onder a behandelt naar behoren versleutelde gegevens als onleesbaar voor wie ze meegenomen heeft. HIPAA kent dezelfde gedachte, en noemt haar de safe harbour.

Zijn de sleutels ook meegenomen?

De uitzondering hangt volledig van die ene vraag af, dus het systeem stelt haar uitdrukkelijk en een onbeantwoorde vraag telt tegen de uitzondering. Een inbreuk als niet-meldingsplichtig afsluiten verlangt het bewijs, want een uitzondering die zonder bewijs geclaimd wordt, stort in zodra zij bekeken wordt.

Eén inbreukdossier, gedeeld, met de regels van elk land erbovenop

Het inbreukdossier zelf zit in de gedeelde kern: wanneer u ervan op de hoogte raakte, wat erbij betrokken was, wie er getroffen zijn, of de gegevens versleuteld waren en of de sleutels meegenomen zijn. Elke rechtsgebiedmodule legt daarna eigen plichten boven op datzelfde dossier. De Europese module voegt de termijn van 72 uur uit artikel 33 toe en de beslissing uit artikel 34. De module voor de Verenigde Staten voegt de risicobeoordeling met vier factoren toe, de termijn van 60 dagen voor de individuen, de mediadrempel boven 500 inwoners van één staat, en de melding aan het Department of Health and Human Services. Eén incident, één keer beoordeeld, tegen welke regels er ook voor u gelden.

Het toegangslogboek ís het onderzoek

Omdat elke leesactie gelogd is voordat er inhoud afgegeven werd, heeft de vraag « wat is er werkelijk blootgelegd, en aan wie? » een echt antwoord in plaats van een schatting. Dat is het verschil tussen elf mensen inlichten en iedereen in de database inlichten.

11 — Beheersmaatregelen van het platform

De gewone vragen, op één plek beantwoord

Niets in deze tabel is ongewoon. Het staat hier omdat een beoordelaar ernaar zal vragen, en omdat een leverancier die deze vragen niet snel kan beantwoorden de moeilijkere meestal ook niet kan beantwoorden.

GebiedWat er aanwezig isWaarom het zo gedaan wordt
AanmeldenWachtwoorden alleen als eenrichtingshash bewaard. Kortlevende ondertekende tokens die dragen wie de gebruiker is, wanneer het token uitgegeven is, wanneer het verloopt en een uniek nummerEen gestolen token verloopt vanzelf, en het hashen kan bijgewerkt worden zonder iemand te vragen zijn wachtwoord opnieuw in te stellen
Bewaring van geheimenElk inloggegeven van een derde woont op de server. De mobiele app draagt uitsluitend publieke sleutelsDe app kan gedecompileerd worden en er gaat niets verloren. Een sleutel vervangen werkt voor alle gebruikers tegelijk, zonder een uitgave in een appwinkel
TransportOveral HTTPS, ook voor de WebSocket die voor chat, presentie en gesprekssignalering gebruikt wordtEén verbinding, één beleid, en geen terugval op platte tekst
SnelheidsbegrenzingLimieten op de proxy, plus Redis-tellers op openbare routes en op het lezen van portaaldocumentenGeteld uit gedeelde staat, zodat een limiet per gebruiker standhoudt over elk serverproces heen in plaats van per proces
MediaVia de gateway geproxyd met ondertekende links die verlopen. Er wordt niets geserveerd vanaf een pad dat te raden isDe opslag wordt nooit rechtstreeks door een apparaat van een cliënt aangesproken
DatabaseVanaf geen enkele cliënt bereikbaar. De gateway verbindt met de kern via een serviceaccount met alleen de rechten die het nodig heeftTwee afzonderlijke sprongen tussen een telefoon en een regel, elk met een eigen kans om te weigeren
Openbare formulierenreCAPTCHA op formulieren op de website, en telefoonnummers die bij het invoeren genormaliseerd wordenSpam en misvormde invoer worden geweigerd voordat ze vastleggingen worden die iemand moet opruimen
Verwijzingen radenEen document dat u niet mag zien geeft « niet gevonden » terug, nooit « verboden »Anders vertelt het verschil tussen die twee antwoorden een aanvaller welke dossiers bestaan
CliëntaccountsPortaalgebruikers hebben hoegenaamd geen toegang tot de backoffice. Tweefactorauthenticatie wordt met het platform meegeleverd en kan met één instelling verplicht gesteld worden voor alle medewerkers, of voor iedereen — en de toegang tot portaaldocumenten kan erachter gezet wordenHet ergste geval bij een gecompromitteerde cliëntaanmelding is de eigen gegevens van die ene cliënt, en met de portaalpoort aan zelfs dat niet
Blootstelling aan derdenBetalingen, kunstmatige intelligentie, berichten en opslag zitten elk achter een interface met aan de andere kant van een schakelaar een nabootsingLeveranciers kunnen gewisseld worden. Demonstraties en tests draaien zonder enig echt leveranciersaccount en zonder enige echte gegevens
Licenties en hostingOdoo 19 Community en overal componenten met open broncode, draaiend op uw eigen infrastructuurUw eigen beveiligingsteam kan de code lezen in plaats van een leverancier op zijn woord te geloven
12 — Wat u kunt aantonen

Het verschil tussen een beheersmaatregel en een belofte

In een audit, een aanbesteding of een klacht telt niet wat u bedoeld hebt. Het telt wat u kunt tonen. Hieronder staan de zes vragen die het vaakst langskomen, en wat het systeem op elk ervan voortbrengt.

Wie heeft dit dossier gelezen?Toegangslogboek
Een volledige, hash-geketende lijst die niemand bewerkt kan hebben — uw eigen beheerders niet
Is dit dossier gewijzigd?Versiegeschiedenis
Correcties zijn nieuwe versies en de eerdere blijft intact, dus een wijziging is zichtbaar in plaats van iets wat u afleidt
Zijn verlopen gegevens vernietigd?Sleutelvernietiging
De sleutel is weg, en de lege dossierhuls bewijst dat het bestand bestond en op schema vernietigd is
Met wie hebben wij het gedeeld?Verstrekkingsregister
Wat de dienst verlaten heeft, aan wie en op welke juridische grondslag — zes jaar ervan, op verzoek
Had een beheerder het kunnen zien?Autorisatiemodel
Standaard gesloten en zonder hoofdsleutel. Een beheerdersaccount geeft niets, en noodtoegang is een gelogde, beoordeelde gebeurtenis
Is het grootboek betrouwbaar?Financiële beheersmaatregelen
Verstuurde facturen kunnen niet bewerkt worden, betalingsregels dragen de contractversie die ze geprijsd heeft, en er wordt niets gefactureerd zonder dat een mens het bevestigt
13 — Waar de software ophoudt

Wat geen enkel platform voor u kan doen

Software maakt een organisatie niet conform. Zij maakt naleving haalbaar, en zij maakt haar aantoonbaar. Daar eerlijk over zijn is in een beoordeling meer waard dan een langere lijst beweringen, dus hier staat de grens volledig.

Dit is geen juridisch advies, en geen enkel product is gecertificeerd

Niets op deze pagina is juridisch advies. Geen enkel softwareproduct is HIPAA-gecertificeerd of AVG-gecertificeerd, want geen enkele autoriteit geeft die certificaten voor producten af. Wat er wel bestaat is een verzameling technische en organisatorische beheersmaatregelen. Dit platform voert de technische uit en ondersteunt de organisatorische. De rest hoort bij uw organisatie, en een goede adviseur zal u precies hetzelfde vertellen.

  • De overeenkomsten tekent u zelf. Business associate agreements in de Verenigde Staten, verwerkersovereenkomsten en subverwerkersvoorwaarden in de EU en het VK. Het platform modelleert ze. Het sluit ze niet voor u.
  • Uw juristen bevestigen de formulering. De mededeling tegen verder verstrekken uit 42 CFR Part 2 wordt voortgebracht in plaats van ingetikt, juist zodat zij in de loop van de tijd niet kan afdrijven. Maar de regeling schrijft haar inhoud voor, en zij heeft juridische toetsing nodig voordat u live gaat.
  • Lokaal recht gaat verder dan de ondergrens. Wetten van Amerikaanse staten — de CMIA van Californië, en regels in onder meer New York en Texas — gaan verder dan HIPAA. In de EU komt het recht van de lidstaat boven op de AVG: het Duitse §203 StGB en §630f BGB zijn voorbeelden. Vooral bewaartermijnen moeten met een jurist voor uw eigen land bevestigd worden.
  • Het gedrag van medewerkers is geen softwaremaatregel. Opleiding, in- en uitdiensttreding, het tuchtproces, en wie er om te beginnen een behandelrelatie krijgt, zijn beslissingen die het systeem vastlegt maar niet neemt.
  • Fysieke en infrastructuurbeveiliging is die van de beheerder. Waar de servers staan, wie erbij kan komen, hoe back-ups versleuteld en buiten de deur bewaard worden, hoe de hoofdsleutel bewaard wordt, en de uitwijktest die u werkelijk draait in plaats van die in het plan.
  • Penetratietesten en kwetsbaarhedenbeheer zijn een programma, geen functie. Het landschap is open source en zelf gehost zodat uw eigen team of uw eigen testers het naar behoren kunnen bekijken. Dat is een uitnodiging, geen vervanging.
  • Organisaties die naar de NHS toe werken vullen de Data Security and Protection Toolkit in. Die beoordeling gaat over uw organisatie en haar mensen, en valt buiten het bereik van welke software dan ook.
  • Iemand moet de bewaarmotor in de gaten houden. Bewaren en vernietigen draaien als geplande taken. Een geplande taak die stilletjes stopt met draaien is een nalevingsprobleem dat pas in een audit bovenkomt, en daarom staat het controleren ervan in de maandelijkse routine.
De hele pagina in één alinea, voor een beoordelaar die haast heeft

Klinische dossiers worden versleuteld, één versie tegelijk, onder sleutels die buiten de database bewaard worden. Zij gaan alleen open wanneer een uitdrukkelijke regel het toestaat, en die regel volgt de behandelrelatie in plaats van de anciënniteit. Elke leesactie wordt naar een logboek geschreven dat niemand kan bewerken. Correcties worden als nieuwe versies toegevoegd in plaats van de oude te overschrijven. Wanneer de bewaartermijn verstrijkt wordt de sleutel vernietigd, en dat maakt de inhoud onleesbaar terwijl het bewijs blijft dat zij bestond en vernietigd is. Boven op diezelfde kern legt een rechtsgebiedmodule de rechten- en governancemachinerie voor de Verenigde Staten, de Europese Unie of het Verenigd Koninkrijk. Eronder beschermt het toegangsmodel van Odoo Community met vier lagen de gewone bedrijfsgegevens, en de server zit dicht achter één proxy met TLS, een firewall en snelheidslimieten.

14 — Waar u hierna heen gaat

De rest van het beeld

Deze pagina is de positie op het gebied van beveiliging en naleving. Het overzicht laat zien hoe de stukken in elkaar passen, de catalogus somt de modules op waarin deze maatregelen werkelijk wonen, en de tekening voor de beheerder behandelt de routine die dit bewijs maand na maand waar houdt.