Juridisch

Verwerkersovereenkomst priceq

Versie 1.3

Dit is de bindende tekst. De Engelse en Duitse vertalingen zijn er voor het gemak.

Vorm: de standaardcontractbepalingen van de Europese Commissie, met ingevulde bijlagen.


Over deze overeenkomst

De Europese Commissie heeft modelbepalingen vastgesteld voor de verhouding tussen verwerkingsverantwoordelijke en verwerker: Uitvoeringsbesluit (EU) 2021/915 van 4 juni 2021, op grond van artikel 28 lid 7 AVG. Wij nemen die bepalingen integraal over in plaats van er zelf een te schrijven.

Dat betekent voor u twee dingen. De bepalingen zijn door de Commissie zelf vastgesteld en voldoen dus aan artikel 28. En uw juridische afdeling herkent de tekst en hoeft hem niet regel voor regel te beoordelen.

Het inhoudelijke werk zit in de bijlagen. Het besluit eist dat de beveiligingsmaatregelen concreet worden beschreven; een algemene omschrijving volstaat niet. Bijlage III is daarom een beschrijving van wat het systeem werkelijk doet.


De overeenkomst

Partijen

VerwerkingsverantwoordelijkeDe klant, zoals vermeld in Bijlage I
VerwerkerOutflanq B.V., Boekweitstraat 62, 2153 GL Nieuw-Vennep, Nederland, KvK 42160759, btw-id NL869980646B01

Artikel 1: Wat van toepassing is

Op de verwerking van persoonsgegevens die de verwerker namens de verwerkingsverantwoordelijke uitvoert, zijn de standaardcontractbepalingen uit de bijlage bij Uitvoeringsbesluit (EU) 2021/915 integraal van toepassing. Die bepalingen maken deel uit van deze overeenkomst alsof zij hier volledig zijn opgenomen.

Artikel 2: Keuzes binnen die bepalingen

  • Inschakelen van subverwerkers (bepaling 7.7): algemene schriftelijke toestemming. De verwerker houdt de lijst in Bijlage IV actueel en meldt een voorgenomen wijziging ten minste dertig dagen vooraf. De verwerkingsverantwoordelijke kan binnen die termijn bezwaar maken; komen partijen er niet uit, dan mag hij de overeenkomst opzeggen tegen de ingangsdatum van de wijziging.
  • Bij het einde van de verwerking (bepaling 8.5): de verwerker verwijdert de persoonsgegevens, tenzij de verwerkingsverantwoordelijke vóór het einde van de overeenkomst schriftelijk om teruggave verzoekt. Een volledige export is op elk moment zelf op te halen in de applicatie.
  • Melden van een inbreuk (bepaling 9): de verwerker meldt een inbreuk in verband met persoonsgegevens zonder onredelijke vertraging en uiterlijk binnen 24 uur nadat hij daarvan kennis heeft genomen, met de informatie die op dat moment beschikbaar is; ontbrekende informatie volgt zodra die er is.
  • Toepasselijk recht en forum (bepalingen 12 en 13): Nederlands recht, bevoegde rechter: Rechtbank Noord-Holland.

Artikel 3: Audits (bepaling 7.6)

De verwerkingsverantwoordelijke mag de naleving controleren. Dat gebeurt in eerste instantie op basis van de informatie die de verwerker aanlevert. Een controle ter plaatse is mogelijk, ten hoogste eenmaal per jaar, aangekondigd met een redelijke termijn, tijdens kantooruren en op zodanige wijze dat de dienst voor andere klanten niet wordt verstoord. Kosten van een controle die geen tekortkoming aantoont, komen voor rekening van de verwerkingsverantwoordelijke.


Bijlage I: Partijen

VerwerkingsverantwoordelijkeVerwerker
Naamde klant zoals geregistreerd in het account (bedrijfsnaam)Outflanq B.V.
Adreshet factuuradres zoals geregistreerd in het account, zodra dat bekend isBoekweitstraat 62, 2153 GL Nieuw-Vennep, Nederland
Contactpersoonde beheerder van het accountPrivacy: [email protected]
RolVerwerkingsverantwoordelijkeVerwerker
ActiviteitenAfname van priceq voor prijsmonitoring en prijsbepalingLevering van priceq

Deze overeenkomst wordt niet met de hand ondertekend. Zij komt tot stand op het moment dat de klant bij het aanmelden akkoord geeft. Wij leggen daarvan vast: welk document, welke versie, de vingerafdruk (SHA-256) van de tekst zoals die op dat moment werd getoond, het tijdstip, het IP-adres en de browser. Wie zijn eigen ondertekende exemplaar wil, vraagt dat aan via het contactadres op /legal/bedrijfsgegevens.

Bijlage II: Beschrijving van de verwerking

Betrokkenen

Medewerkers van de verwerkingsverantwoordelijke die een account hebben in de applicatie, en personen bij wie hij namens de organisatie contact opneemt via de applicatie.

Categorieën persoonsgegevens

  • Naam en zakelijk e-mailadres
  • Rol binnen de organisatie (beheerder, supervisor, medewerker, lezer)
  • Een met Argon2id gehashte weergave van het wachtwoord, en een versienummer waarmee een sessie kan worden ingetrokken
  • Persoonlijke instellingen: taal, weergave, welke meldingen iemand ontvangt
  • In het auditlogboek: gebruikers-id, tijdstip, handeling, IP-adres en browser, en de gegevens waar de handeling over ging, zoals het e-mailadres van wie werd uitgenodigd
  • Tijdstip en IP-adres van de laatste keer inloggen
  • Of e-mail aan iemands adres onbestelbaar terugkwam: tijdstip en de reden die de ontvangende mailserver opgaf

Bijzondere categorieën

Geen. De dienst is er niet op ingericht en er is geen veld waarin ze passen.

Wat uitdrukkelijk géén persoonsgegevens zijn

De prijzen, beschikbaarheid en productaanduidingen die van openbare winkelpagina's worden opgehaald, en de catalogus die de klant aanlevert. Dat zijn markt- en productgegevens. Zij vallen niet onder deze overeenkomst en worden hier alleen genoemd om misverstanden te voorkomen.

Aard en doel van de verwerking

Het verlenen van toegang tot de applicatie, het toewijzen van rechten, het versturen van de meldingen en overzichten die de gebruiker zelf instelt, het beveiligen van de dienst (inlogbeperking, sessiebeheer, auditlogboek) en het oplossen van storingen.

Duur

Voor de duur van de overeenkomst. Na beëindiging worden persoonsgegevens geanonimiseerd bij het afsluiten van het dossier, uiterlijk dertig dagen na beëindiging. Vraagt een beheerder van de verwerkingsverantwoordelijke in de applicatie zelf om verwijdering, dan gaat eerst een bedenktijd van dertig dagen in, waarin het account blijft werken en het verzoek kan worden ingetrokken; daarna worden de gegevens gewist. Eerder wissen gebeurt op uitdrukkelijk verzoek van de verwerkingsverantwoordelijke.

Het auditlogboek volgt een eigen termijn: elke regel wordt twaalf maanden nadat hij is geschreven automatisch verwijderd, ook als de overeenkomst eerder is geëindigd. Tot dat moment blijven de persoonsgegevens die erin staan bewaard, omdat het logboek juist dient om achteraf vast te kunnen stellen wat er is gebeurd.

Frequentie

Doorlopend, zolang de applicatie wordt gebruikt.

Bijlage III: Technische en organisatorische maatregelen

Concreet beschreven, zoals het besluit vereist.

Scheiding tussen klanten De database dwingt per rij af tot welke klant een gegeven behoort (row-level security), op elke tabel met klantgegevens, met één bewuste uitzondering: de tabellen met gebruikersaccounts en met eenmalige codes voor uitnodigingen en wachtwoordherstel. Die worden bij het inloggen op e-mailadres opgezocht, voordat bekend is bij welke klant iemand hoort. Daar borgt de applicatie de scheiding: elk account hoort bij precies één klant, en de applicatie zoekt accounts op met het klantnummer of gebruikersnummer uit de ingelogde sessie, nooit met een nummer uit het verzoek. De applicatie filtert daarnaast expliciet, en in de bouwstraat draait bij elke wijziging een test die probeert de gegevens van een andere klant op te halen; slaagt die poging, dan gaat de wijziging niet door. De applicatie draait met een databaserol die deze scheiding niet kan omzeilen. Ook cache-sleutels en opslagpaden zijn per klant gescheiden.

Toegang en authenticatie Wachtwoorden worden gehasht opgeslagen met Argon2id. Tweefactorauthenticatie is beschikbaar. Wachtwoorden worden bij het instellen gecontroleerd tegen bekende gelekte wachtwoorden. Herhaalde mislukte inlogpogingen worden geblokkeerd. Sessies zijn per gebruiker direct in te trekken. Rechten zijn ingedeeld in vier rollen; de zwaarste handelingen (volledige export, abonnement wijzigen, account verwijderen) zijn voorbehouden aan een beheerder.

Meekijken in het account van de klant Voor support kan een medewerker van de verwerker de applicatie zien zoals de klant hem ziet. Dat kan uitsluitend vanuit zijn eigen ingelogde account (niet met een systeemsleutel) en pas nadat hij een reden heeft ingevuld. Die reden wordt vastgelegd en aan de klant getoond. Zo'n sessie is alleen-lezen: de server weigert elke handeling die iets wijzigt, ongeacht welk scherm de medewerker opent. Zij duurt dertig minuten en kan niet worden verlengd; wie langer nodig heeft, begint opnieuw en legt opnieuw een reden vast. In het logboek blijft de medewerker zichzelf: wat hij doet wordt nooit aan een medewerker van de klant toegeschreven. Vier schermen blijven ook tijdens het meekijken gesloten: de lijst met teamleden, het activiteitenlogboek, de volledige export en de API-sleutels.

Vertrouwelijkheid tijdens transport en opslag Al het verkeer verloopt over TLS. De servers zijn niet rechtstreeks vanaf het internet bereikbaar. Back-ups worden versleuteld opgeslagen.

Beschikbaarheid en herstel Elke nacht wordt een volledige back-up gemaakt en versleuteld weggeschreven naar objectopslag, in per klant gescheiden paden. De versleuteling gebeurt vóór het wegschrijven, zodat de opslagpartij uitsluitend cijfertekst ontvangt. De herstelprocedure is beschreven en wordt beproefd; datum en uitkomst van de laatste proef zijn op verzoek beschikbaar.

Logging en controleerbaarheid Handelingen rond accounts en toegang (iemand uitnodigen, een uitnodiging intrekken, een rol wijzigen, een account deactiveren of heractiveren, en een medewerker van de verwerker die gaat meekijken) worden vastgelegd in een auditlogboek dat de applicatie niet kan wijzigen of verwijderen. Die beperking is op databaseniveau afgedwongen: de applicatie heeft geen recht om rijen in het logboek te wijzigen of te verwijderen. Regels die twaalf maanden oud zijn, worden verwijderd door een afzonderlijke onderhoudstaak met een eigen databaserol. De klant kan het logboek zelf inzien in de applicatie.

De regel over een meekijksessie vermeldt de reden, het tijdstip en het moment waarop de toegang vervalt, en wordt geschreven vóórdat de toegang wordt verleend: lukt dat schrijven niet, dan wordt er niet meegekeken. Een meekijksessie zonder regel in het logboek bestaat dus niet.

Beveiliging van de ontwikkeling Broncode staat in een besloten repository. Bij elke wijziging draaien geautomatiseerde controles op geheimen in de code, bekende kwetsbaarheden in afhankelijkheden, en de hierboven genoemde scheidingstest. Geheimen staan in een sleutelkluis en niet in de code.

Foutmonitoring De applicatie meldt fouten aan een externe dienst in de EU-regio. Die is zo ingesteld dat er géén persoonsgegevens en géén inhoud van verzoeken worden meegestuurd.

Toegang tot productie Beperkt tot de beheerder van de verwerker, over een besloten netwerk, met sleutelauthenticatie. Handelingen rechtstreeks op de productieomgeving worden achteraf vastgelegd.

Verwijdering Bij het beëindigen van een account worden gebruikersgegevens geanonimiseerd en worden alle sleutels en tokens verwijderd. Het auditlogboek wordt daarbij niet aangepast: de regels blijven bestaan met de persoonsgegevens die erin staan (gebruikers-id, IP-adres, browser en bijvoorbeeld het e-mailadres van een uitgenodigde), totdat zij twaalf maanden oud zijn en automatisch worden verwijderd.

Bijlage IV: Subverwerkers

Partijen die bij de uitvoering persoonsgegevens kunnen verwerken:

SubverwerkerWaarvoorGegevensLocatieDoorgifte
Hetzner Online GmbHHosting van applicatie, database en achtergrondtakenAlle gegevens uit Bijlage IINürnberg, DuitslandBinnen de EU
Cloudflare, Inc.DNS, toegangstunnel, bescherming tegen misbruik, opslag van de versleutelde back-upVerkeersgegevens (IP-adres, browser, opgevraagde URL) en de versleutelde back-upWereldwijd netwerk; VS-vennootschapStandaardcontractbepalingen en EU-VS Data Privacy Framework
Backblaze, Inc. (B2)Offsite kopie van de nachtelijke back-upUitsluitend de versleutelde databaseback-up; de sleutel blijft bij de verwerkerVerenigde StatenStandaardcontractbepalingen
AhaSend B.V.Verzenden van e-mail: meldingen en overzichten, uitnodigingen, bevestigings- en wachtwoordherstelmailsNaam en e-mailadres van de ontvanger, inhoud van het berichtAmsterdam, Nederland; verwerking binnen de EERBinnen de EER
Functional Software, Inc. (Sentry)FoutmonitoringTechnische foutgegevens; ingesteld zonder persoonsgegevens en zonder inhoud van verzoekenEU-regio, DuitslandBinnen de EU

Dezelfde subverwerkers staan, met meer detail per partij, in de subverwerkerslijst.

Vingerafdruk van deze tekst (SHA-256): bb87d769d05f7b80a67decad16fc92e788aac78fc7f26704e076dfd97149463f