PrivaSearch

Security & vertrouwen

Wat wij beveiligen, en waar je het naloopt.

Jouw dossiers blijven van jou; de zorg ervoor ligt bij ons. Hier staat per thema welke maatregelen in PrivaSearch zitten, en per kader hoe ze daarop aansluiten. Onze aanpak is afgestemd op de kaders hieronder. Dat is geen keurmerk: bij elke eis staat waar je het bewijs vindt.

Maatregelen per thema

Zes thema's, in de applicatie zelf.

Dit is het overzicht. De formele lijst van maatregelen, in de vorm van de verwerkersovereenkomst, staat op de pagina beveiliging.

Toegang

  • Wachtwoord plus verplichte tweestapsverificatie (TOTP) voor iedere gebruiker, zonder uitzondering.
  • Een nieuw apparaat bevestig je met een code per e-mail; het blijft daarna dertig dagen vertrouwd.
  • Inloggen is begrensd op vijf pogingen per minuut per account. Ook de code van de authenticator en de apparaatcode hebben een grens.
  • Wachtwoorden worden alleen als hash opgeslagen (bcrypt), nooit als leesbare tekst.

Scheiding per organisatie

  • Iedere organisatie heeft een eigen database en een eigen adres.
  • De databases staan op dezelfde databaseserver: het is een scheiding per database, geen eigen server per klant.
  • Een sessie of een koppeling van de ene organisatie bestaat niet op het adres van de andere.
  • Een sessiecookie geldt alleen voor het eigen adres en is niet uit te lezen door scripts.
  • Wij beheren het platform vanuit een aparte beheeromgeving met eigen accounts. Een account van een organisatie kan daar niet aanmelden, en een account van de beheeromgeving kan niet aanmelden in een werkruimte.
  • Aanmelden in de beheeromgeving vraagt een wachtwoord en een authenticator, of een passkey; op een nieuw apparaat komt daar een code per e-mail bij.
  • Vanuit de beheeromgeving kunnen wij een organisatie aanmaken, tijdelijk blokkeren en verwijderen. Tijdens een blokkade kan niemand in haar werkruimte aanmelden; haar gegevens blijven staan.
  • Van wat een organisatie in PrivaSearch heeft staan toont de beheeromgeving alleen aantallen, statussen en tijdstippen, zoals het aantal documenten en accounts en de omvang van de opslag. Ze toont geen namen van projecten, mappen of documenten, geen tekst uit een document, geen pseudoniemen en geen regels uit het activiteitenlog van de organisatie.
  • De ene uitzondering zijn de accounts: wij kunnen van een organisatie de naam, het e-mailadres, de rol en de status van elk account zien, een account blokkeren of deblokkeren en een openstaande uitnodiging opnieuw versturen. Elke keer dat die lijst wordt geopend en elk van die handelingen komt in een log van het platformbeheer; de handelingen staan ook in het activiteitenlog van de organisatie, op naam van Platformbeheer.
  • Wij kunnen vanuit de beheeromgeving meekijken in de werkruimte van een organisatie, als het supportaccount Platformbeheer. Dat vraagt telkens het wachtwoord van de platformbeheerder en een reden uit een vaste lijst; het begin, de reden en het einde komen in een log van het platformbeheer.
  • Meekijken is alleen-lezen en duurt hoogstens een uur: elke wijziging wordt geweigerd, en na zestig minuten eindigt de sessie vanzelf. Zolang ze loopt staat bovenaan elk scherm van de werkruimte een balk die zegt dat Platformbeheer meekijkt.
  • Het supportaccount ziet wat een beheerder van de organisatie ziet die van geen enkel project lid is, zoals de accounts, het activiteitenlog en de instellingen. Het kan geen document, origineel of uitgelezen tekst openen, niet zoeken en geen pseudoniem terugvertalen.
  • Een poging van het supportaccount die wordt geweigerd staat in het activiteitenlog van de organisatie, op naam van Platformbeheer. Het begin en het einde van het meekijken staan daar niet; die staan in het log van het platformbeheer.
  • Het supportaccount is geen account van de organisatie: het staat niet in haar lijst van gebruikers, telt nergens mee en kan niet aanmelden met een wachtwoord, een authenticator of een passkey. Als een gebruiker van een organisatie aanmelden kunnen wij niet.

Gegevens en versleuteling

  • Persoonsgegevens worden vóór indexering vervangen door pseudoniemen. Niets is doorzoekbaar voordat een medewerker de tekst heeft vrijgegeven.
  • De koppeling tussen pseudoniem en persoon staat versleuteld in een aparte kluis.
  • De sleutels voor de kluis en voor de versleutelde velden worden per organisatie afgeleid van een hoofdsleutel; de hoofdsleutels zijn voor alle organisaties dezelfde.
  • Originelen staan in private objectopslag zonder publieke toegang, met een eigen padvoorvoegsel per organisatie.
  • Versleuteling van opgeslagen bestanden is een eigenschap van de opslag waarop de applicatie draait. De applicatie versleutelt originelen niet zelf; haar configuratiecontrole controleert de instelling van de opslag.

Rechten en toezicht

  • Projectlidmaatschap bepaalt wie wat ziet, met de rollen lezer, editor en manager. Beheerders krijgen geen automatische inzage in documenten.
  • Ieder lid van een project kan het origineel van een document openen, ook met de rol lezer. Die rol beperkt wat iemand mag wijzigen. Elke download wordt gelogd.
  • Ieder lid van een project kan de uitgelezen tekst lezen van een document dat op de privacyreview wacht, ook met de rol lezer. Dat is de tekst van het origineel, vóór pseudonimisering. Elke inzage wordt gelogd.
  • Eén pseudoniem in de gepseudonimiseerde tekst terugvertalen vraagt schrijfrecht op het project. Elke terugvertaling wordt gelogd.
  • Ontbreekt een lidmaatschap of een recht, dan is er geen toegang. Geweigerde toegang komt in het activiteitenlog.
  • Elke regel in het activiteitenlog is met een hash aan de vorige regel geketend; een periodieke controle rekent de keten na.
  • Het activiteitenlog bevat geen documentinhoud en geen zoekvragen.

Koppelingen en browser

  • De koppeling met SharePoint is alleen-lezen.
  • Een AI-assistent koppelt via OAuth 2.1 met PKCE en krijgt alleen vrijgegeven, gepseudonimiseerde passages. Toegangstokens verlopen na acht uur.
  • Elke pagina draait onder een strikt beveiligingsbeleid voor scripts en stijlen (Content Security Policy) en kan niet in een frame van een andere site worden geladen.
  • De browser bewaart een antwoord niet en stuurt geen verwijzer mee naar een andere site.

Ontwikkeling

  • Er is één kwaliteitspoort voor de broncode: opmaak, statische analyse op niveau 9 zonder uitzonderingenlijst en een controle op afhankelijkheden.
  • De geautomatiseerde tests draaien op hetzelfde soort database als de dienst zelf. Aparte tests bewaken de scheiding tussen organisaties.
  • Sleutels en wachtwoorden staan niet in de broncode; de applicatie leest ze uit de omgeving.
  • Elke zin over techniek op deze pagina wordt bewaakt door een geautomatiseerde test: klopt de zin niet meer, dan faalt de test.

Incidenten

Een kwetsbaarheid of incident melden.

Zie je iets wat niet klopt, meld het dan. Twee dingen vragen wij: test alleen met je eigen account en niet met gegevens van anderen, en maak een kwetsbaarheid niet openbaar voordat die is verholpen.

  1. Melden Mail security@privasearch.ai met een beschrijving en de stappen om het te reproduceren.
  2. Bevestiging Wij bevestigen de ontvangst en houden je op de hoogte van de oplossing.
  3. Een datalek in jouw omgeving Ben je klant en vermoed je een datalek, dan leveren wij de informatie die je nodig hebt voor je eigen beoordeling en een eventuele melding binnen 72 uur (art. 33 AVG).

Subverwerkers

Welke partijen erbij komen.

Wij schakelen zo weinig mogelijk partijen in. Welke dat zijn, waarvoor en waar zij verwerken, staat in het subverwerkersoverzicht; dat volgt de inrichting die werkelijk draait. De verwerking vindt plaats op Europese infrastructuur.

Wat geen subverwerker van ons is: een AI-assistent die je zelf aan PrivaSearch koppelt. De aanbieder daarvan is een eigen verwerker van jouw organisatie.
Contact

Een vraag over beveiliging, of een document nodig?

Mail security@privasearch.ai voor een vraag over beveiliging, een vragenlijst voor leveranciers of een beveiligingsmelding. De volledige verwerkersovereenkomst en het subverwerkersoverzicht sturen wij op verzoek toe.

Mail security@privasearch.ai