Partijen
Deze verwerkersovereenkomst geldt tussen de klant als verwerkingsverantwoordelijke en ProductTickler B.V., handelend onder de naam Klusvang, Meerwijkselaan 5, 6571 CM Berg en Dal, KvK 98314696, als verwerker („wij”).
Ze maakt deel uit van de algemene voorwaarden van Klusvang en komt tot stand wanneer de klant die bij de registratie aanvaardt. Ze regelt de afspraken van art. 28 AVG.
1. Onderwerp en duur
Wij verwerken in opdracht van de klant de gegevens die hij zelf in zijn werkruimte vastlegt (artikel 3).
Deze overeenkomst geldt zolang de klant een account heeft, en daarna tot de gegevens volgens artikel 9 zijn verwijderd.
Niet onder deze overeenkomst vallen:
- de openbare bekendmakingen in de feed. Daarvoor zijn wij zelf verwerkingsverantwoordelijke;
- de accountgegevens van de klant en de betaling. Daarvoor zijn wij zelf verwerkingsverantwoordelijke;
- wat de klant buiten Klusvang doet met gegevens uit de feed, bijvoorbeeld na een export. Daarvoor is de klant zelf verwerkingsverantwoordelijke.
Dit staat beschreven in de privacyverklaring.
2. Aard en doel van de verwerking
- Doel: de klant volgt met Klusvang bouwprojecten in zijn werkgebied. Hij slaat zoekopdrachten op, bewaart projecten, geeft ze een fase en maakt er notities bij.
- Aard: opslaan, tonen, doorzoeken, exporteren op verzoek van de klant, versturen van de dagelijkse e-mailmeldingen die de klant heeft aangezet, en verwijderen.
3. Soorten gegevens en betrokkenen
Soorten gegevens:
- Zoekopdrachten: naam van de zoekopdracht, filters (gemeente, soort werk, status, periode, zoektekst) en of er meldingen voor aanstaan.
- Bewaarde projecten zijn gedeeld binnen het team. Wij bewaren welke bekendmaking is bewaard, de fase, wie het project bewaarde, wie het laatst iets wijzigde en het tijdstip van de laatste wijziging.
- Notities: vrije tekst die de klant bij een project schrijft.
Betrokkenen:
- personen over wie de klant iets in een notitie of zoekopdracht vastlegt, bijvoorbeeld aanvragers of bewoners van een adres;
- de klant zelf, voor zover hij een natuurlijke persoon is;
- teamleden van de klant, voor zover hun naam aan een bewaard project of wijziging is verbonden.
De klant legt in notities alleen vast wat hij voor zijn werk nodig heeft. Hij legt er geen bijzondere persoonsgegevens (art. 9 AVG), strafrechtelijke gegevens of burgerservicenummers in vast.
4. Instructies
- Wij verwerken de gegevens alleen op schriftelijke instructie van de klant. De instructies staan in deze overeenkomst en in de algemene voorwaarden. Elke handeling die de klant in Klusvang uitvoert, zoals opslaan, exporteren of verwijderen, is ook een instructie.
- Verdere instructies geeft de klant per e-mail aan privacy@klusvang.nl.
- Vinden wij een instructie in strijd met de wet, dan melden wij dat de klant meteen. Tot dat is opgehelderd, mogen wij de uitvoering opschorten.
- Wij gebruiken de gegevens niet voor eigen doeleinden en geven ze niet aan derden, behalve volgens deze overeenkomst of als een wet ons daartoe verplicht. Moeten wij gegevens aan een overheidsinstantie geven, dan melden wij dat de klant vooraf, tenzij de wet dat verbiedt.
- Wij analyseren de gegevens niet over meerdere klanten heen, ook niet geanonimiseerd.
5. Geheimhouding
Iedereen die voor ons toegang heeft tot de gegevens, is tot geheimhouding verplicht, ook na het einde van zijn werkzaamheden. Alleen wie toegang nodig heeft voor de werking van Klusvang, krijgt die.
6. Beveiliging
Wij nemen de technische en organisatorische maatregelen uit bijlage 1 (art. 32 AVG). Wij houden ze bij volgens de stand van de techniek. Een maatregel mag worden vervangen door een gelijkwaardige; het niveau van beveiliging daalt daarbij niet.
7. Subverwerkers
- De klant geeft toestemming voor de subverwerkers in bijlage 2.
- Willen wij een subverwerker toevoegen of vervangen, dan melden wij dat minstens 30 dagen vooraf per e-mail. De klant kan binnen 14 dagen bezwaar maken om een gegronde reden op het gebied van gegevensbescherming. Komen wij er samen niet uit, dan kan elke partij de overeenkomst opzeggen tegen het moment waarop de wijziging ingaat.
- Wij leggen elke subverwerker dezelfde verplichtingen op als in deze overeenkomst.
- Gegevens gaan alleen naar een land buiten de Europese Economische Ruimte als aan de artikelen 44 tot en met 49 AVG is voldaan.
8. Bijstand aan de klant
- Rechten van betrokkenen: wij helpen de klant bij verzoeken volgens de artikelen 12 tot en met 22 AVG. De klant kan notities, projecten en zoekopdrachten zelf inzien, wijzigen en verwijderen, en zijn gegevens downloaden als JSON-bestand. Komt een betrokkene met een verzoek over deze gegevens bij ons, dan sturen wij het door naar de klant.
- Artikelen 32 tot en met 36 AVG: wij helpen de klant voor zover de aard van de verwerking en onze informatie dat toelaten, bijvoorbeeld bij een gegevensbeschermingseffectbeoordeling (DPIA).
- Datalekken: een inbreuk in verband met persoonsgegevens melden wij de klant zonder onnodige vertraging en uiterlijk 48 uur nadat wij ervan weten, per e-mail aan de eigenaar van het team. De melding bevat, voor zover bekend, de informatie van art. 33 lid 3 AVG. Wat nog ontbreekt, sturen wij na zodra wij het weten. Zo kan de klant zijn eigen meldtermijn van 72 uur halen. Wij nemen meteen de maatregelen die nodig zijn om de gevolgen te beperken.
9. Verwijderen en teruggeven
- Iedere gebruiker kan de eigen accountgegevens, de gedeelde projecten en de lijst met teamleden downloaden als JSON-bestand via „Instellingen”. Factuurgegevens zijn alleen beschikbaar voor de eigenaar.
- Alleen de eigenaar kan het hele team met alle gebruikersaccounts, zoekopdrachten, projecten, notities en uitnodigingen verwijderen via „Instellingen”. Dit is de instructie om alle gegevens uit deze overeenkomst te verwijderen. Wij doen dat meteen en in één keer.
- Verwijdert een teamlid het eigen account, of verwijdert de eigenaar dat lid, dan verdwijnen de persoonlijke zoekopdrachten en accountgegevens van dat lid. Gedeelde projecten en notities blijven bij het team. De verwijzing naar het lid als auteur verdwijnt en wordt „voormalig teamlid”. De klant blijft verantwoordelijk voor persoonsgegevens die in vrije tekst staan.
- Na de verwijdering bewaren wij alleen een notitie met het nummer van ieder verwijderd account en de datum, zonder andere gegevens. Die gebruiken wij om de verwijdering opnieuw uit te voeren als wij ooit een ouder herstelpunt terugzetten.
- Herstelpunten van de database worden na 30 dagen automatisch verwijderd.
- Een export die de klant heeft gedownload, staat op zijn eigen systemen. Die valt buiten onze invloed.
10. Informatie en audits
- Op verzoek geven wij de klant de informatie die hij nodig heeft om aan te tonen dat aan art. 28 AVG is voldaan, in het bijzonder de maatregelen uit bijlage 1 en de lijst uit bijlage 2.
- De klant kan één keer per jaar, na een redelijke aankondiging en tijdens kantooruren, een audit uitvoeren of laten uitvoeren door een onafhankelijke deskundige die tot geheimhouding is verplicht. Wij kunnen vragen om eerst documenten en inlichtingen te beoordelen. Na een datalek of bij een andere concrete aanleiding kan een audit ook vaker. De klant draagt de kosten van de audit.
11. Aansprakelijkheid en slotbepalingen
- Voor de aansprakelijkheid geldt artikel 13 van de algemene voorwaarden. Art. 82 AVG blijft onverlet.
- Zijn deze overeenkomst en de algemene voorwaarden op het gebied van gegevensbescherming met elkaar in strijd, dan gaat deze overeenkomst voor.
- Voor het overige gelden de algemene voorwaarden, ook voor het toepasselijk recht en de bevoegde rechter.
Bijlage 1: Technische en organisatorische maatregelen
Hosting
- De applicatie draait op Cloudflare Workers. De database (Cloudflare D1) staat in de Europese Unie.
- Beheerderstoegang tot het Cloudflare-account alleen voor het bestuur, met tweestapsverificatie.
- Geheime sleutels staan in de beveiligde opslag voor geheimen van Cloudflare, niet in de broncode.
Toegang tot het account
- Wachtwoorden alleen opgeslagen als scrypt-hash met een eigen salt per gebruiker.
- Sessies via een cookie dat niet leesbaar is voor scripts (HttpOnly, SameSite=Lax, Secure). Van de sessiesleutel slaan wij alleen een hash op.
- Sessies verlopen na 14 dagen. Uitloggen, een nieuw wachtwoord en het verwijderen van het account beëindigen ze meteen.
- Links om een nieuw wachtwoord in te stellen zijn een uur geldig en één keer bruikbaar.
- Grenzen aan het aantal pogingen om in te loggen, per IP-adres en per e-mailadres, opgeslagen als hash.
- API-sleutels alleen opgeslagen als hash. De klant kan ze zelf intrekken en vervangen.
Scheiding tussen klanten
- De gebruiker en het team bij een verzoek volgen alleen uit de sessie of de API-sleutel. Toegang tot gegevens van een ander team wordt geweigerd. Persoonlijke zoekopdrachten zijn alleen voor de gebruiker; projecten en notities zijn gedeeld binnen het team.
- Geautomatiseerde tests controleren deze scheiding.
Versleuteling
- Verbindingen alleen via HTTPS.
- Mail verlaat onze applicatie via de e-maildienst van Cloudflare. Verzoeken aan Stripe lopen via HTTPS. Meldingen van Stripe accepteren wij alleen met een geldige handtekening.
- Afmeldlinks in e-mails zijn ondertekend, zodat niemand een ander kan afmelden.
Dataminimalisatie
- Logbestanden bevatten alleen het soort fout, geen wachtwoorden, sessiesleutels, e-mailteksten of notities.
- Het logboek van gebeurtenissen bevat geen inhoud van notities of zoekopdrachten en wordt na 90 dagen verwijderd.
- Verzonden e-mailopdrachten worden na 30 dagen verwijderd.
Beschikbaarheid en herstel
- Herstelpunten van de database via Cloudflare D1 Time Travel, 30 dagen.
- Een aparte, afgeschermde lijst van verwijderde accounts buiten de database. Bij het terugzetten van een herstelpunt worden verwijderingen opnieuw uitgevoerd, sessies en API-sleutels ingetrokken en e-mailmeldingen uitgezet.
- Een beschreven herstelprocedure, getest met een geautomatiseerde test.
Veilige applicatie
- Content Security Policy met een nieuwe nonce per verzoek. Geen scripts van derden, behalve de controle tegen robots van Cloudflare op formulieren en, alleen met toestemming van de bezoeker, Google Analytics.
- Geautomatiseerde typecontrole en tests bij elke wijziging.
Bijlage 2: Subverwerkers
- Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, VS. Dienst: hosting van de applicatie, database (D1), taakwachtrijen (Queues), opslag (R2) en het taalmodel (Workers AI) dat openbare bekendmakingen leest. Dat taalmodel krijgt geen gegevens uit de werkruimte. Cloudflare verstuurt ook de e-mails (Email Service), waaronder de dagelijkse meldingen met de naam van de zoekopdracht en de gevonden bekendmakingen: het e-mailadres van de ontvanger, het onderwerp en de tekst gaan daarvoor door de e-maildienst van Cloudflare. Met Turnstile controleert Cloudflare de publieke formulieren op robots; dat verwerkt het IP-adres, het browsertype en de TLS-vingerafdruk van de bezoeker. Plaats van opslag van de database en van R2: Europese Unie. Cloudflare ziet ook IP-adressen en verzoekgegevens. Doorgifte naar de VS op grond van het EU-US Data Privacy Framework (art. 45 AVG) en de standaardcontractbepalingen (art. 46 lid 2 sub c AVG).
Met elke subverwerker is een overeenkomst gesloten volgens art. 28 lid 4 AVG. Bij Cloudflare maakt die deel uit van de voorwaarden die wij bij het openen van het account hebben aanvaard.
Geen subverwerkers zijn:
- Stripe: Stripe verwerkt de betalingen van de klant aan ons en krijgt alleen gegevens van de klant zelf, geen notities, projecten of zoekopdrachten.
- Google (Google Analytics): meet voor ons het gebruik van de website, alleen bij bezoekers die dat toestaan. Google krijgt geen gegevens uit de werkruimte: van een pagina alleen het pad zonder zoektermen. Bij een publicatie krijgt Google ook de titel niet, omdat daarin een adres kan staan.
- PDOK / Kadaster en OpenFreeMap: leveren kaarttegels en kaartbestanden via onze eigen server en krijgen geen gegevens uit de werkruimte.