Verwerkersovereenkomst
Versie 1.1
Concept. Deze tekst is nog niet af en geldt nog niet.
Geldig vanaf [[IN TE VULLEN: datum van publicatie]]
In deze overeenkomst staat hoe wij omgaan met de persoonsgegevens die wij voor je verwerken als je Yelm gebruikt. Jij bepaalt waarvoor die gegevens dienen: je bent de verwerkingsverantwoordelijke. Wij verwerken ze voor jou: wij zijn de verwerker. Zo regelen we wat artikel 28 van de AVG vraagt.
1. Wie is wie
- Je: het bedrijf dat Yelm gebruikt met een werkruimte.
- Wij: Smart Software Solutions B.V., de aanbieder van Yelm. KvK 93969562, Pilotenstraat 68, 1059 CR Amsterdam, btw NL866589909B01.
- Beheerder: iemand met de rol Beheerder in je werkruimte. Wie de werkruimte maakt, is Beheerder.
- Subverwerker: een bedrijf dat wij inschakelen en dat daarbij je persoonsgegevens verwerkt.
Vragen over privacy, verzoeken van betrokkenen en datalekken stuur je naar privacy@yelm.app. Al het andere naar support@yelm.app.
2. Onderwerp en duur
Wij verwerken persoonsgegevens voor je om Yelm te leveren. Deze overeenkomst loopt zolang wij dat doen: tot en met het wissen van je werkruimte (artikel 11).
Zolang je werkruimte bestaat, geldt:
- Je items, hun geschiedenis en het logboek hebben geen bewaartermijn. Ze blijven tot een wisactie (artikel 9) of het wissen van je werkruimte.
- Zet je een item in de prullenbak, dan verwijderen we het na 30 dagen definitief. De geschiedenis en het logboek van dat item blijven.
- Gesprekken met de assistent die niet zijn vastgezet en 90 dagen niet zijn gebruikt, verwijderen we.
- De bestanden van een export verwijderen we na 7 dagen.
3. Aard en doel
Wij verwerken je gegevens alleen om Yelm voor je te laten werken:
- We bewaren en tonen wat jij en je mensen in je werkruimte zetten.
- We houden bij wie wat wanneer veranderde: in het logboek en in de geschiedenis van een item, met de oude en de nieuwe waarde.
- We versturen de mail die je uit Yelm verstuurt, ook naar je klanten.
- We maken documenten, zoals een werkbon als pdf.
- De assistent stuurt je vraag, en wat hij voor je leest, naar een AI-model (bijlage 2).
- Vraag je de assistent iets over een sjabloon, formulier, dashboard of automatisering, dan leest hij de inhoud daarvan. Bij een automatisering zijn dat ook de mailtekst, de adressen en de vaste waarden die erin staan.
- Komt er via een gekoppelde mailbox nieuwe mail binnen waarop iemand moet reageren, dan zet de assistent vanzelf een concept klaar. Dat gebeurt hoogstens 50 keer per dag, tenzij je dat aantal verandert; 0 zet het uit. Een concept gaat nooit vanzelf weg.
- We werken met de diensten die je zelf koppelt, zoals Moneybird en Outlook.
- We maken een export van je werkruimte als een Beheerder daarom vraagt.
Wij gebruiken je gegevens niet voor andere doelen.
4. Welke gegevens, van wie
Je bepaalt zelf welke gegevens je in je werkruimte zet. Je kunt eigen objecten en velden toevoegen, dus welke soorten gegevens je werkruimte bevat, ligt niet vast. De startpakketten bevatten deze.
Van wie:
- je eigen mensen: wie in je werkruimte werkt, en je medewerkers;
- je klanten, bedrijven en particulieren, en hun contactpersonen;
- je leveranciers en hun contactpersonen;
- wie een melding doet of een werkbon tekent;
- wie mailt met een mailbox die je koppelt, en wie mail van je krijgt via Yelm;
- iedereen over wie je zelf iets vastlegt.
Welke gegevens:
- Accounts: naam, e-mailadres en rol in de werkruimte, en per apparaat de gegevens om een pushmelding te sturen.
- Klanten en contactpersonen: naam, e-mailadressen, telefoonnummer, adressen, KvK-nummer, btw-nummer, IBAN, functie en notities.
- Leveranciers: vergelijkbare bedrijfs- en contactgegevens.
- Werk: werkbonnen met klant, locatie, monteur, geplande tijd, uitgevoerd werk, foto's en de handtekening van de klant (de getekende lijnen, de naam en het moment); meldingen met de melder en foto's.
- Medewerkers: naam, functie, e-mailadres, telefoonnummer, startdatum, uurtarief, certificaten met nummers en bewijsstukken, beschikbaarheid (Beschikbaar, Vrij, Ziek of Opleiding) en uren.
- Bestanden en foto's, en de tekst die we eruit halen om te kunnen zoeken.
- Mail, als iemand een mailbox koppelt: van binnenkomende mail het onderwerp, de eerste 200 tekens van de tekst, de adressen van afzender en ontvangers, de naam van de andere partij, het tijdstip en de bijlagen. De volledige tekst lezen we live, als iemand de mail opent of de assistent hem nodig heeft, en die slaan we niet op. Koppel je een mailgesprek aan een item, dan bewaren we de nieuwste mail van buiten (tot 10.000 tekens): bij een gedeelde mailbox altijd, bij een persoonlijke alleen als die persoon dat kiest.
- Het logboek en de geschiedenis: wie wat wanneer deed, en de oude en nieuwe waarden.
- Gesprekken met de assistent: de vraag en het antwoord. Alleen wie het gesprek voerde, kan het lezen.
- Wat je zelf toevoegt.
Leg in Yelm geen bijzondere persoonsgegevens vast, zoals gegevens over gezondheid. Beschikbaarheid kent de soort Ziek: die zegt alleen dat iemand er niet is. Leg daarbij geen reden of diagnose vast.
Voor wat je in je werkruimte zet, ben jij verwerkingsverantwoordelijke en zijn wij verwerker. Voor de gegevens van accounts, het inloggen en de facturatie zijn wij zelf verwerkingsverantwoordelijke; daarover gaat onze privacyverklaring.
5. Alleen op jouw instructie
Wij verwerken je gegevens alleen op jouw instructie. Je instructies zijn:
- wat jij en je mensen in Yelm doen;
- de instellingen die je kiest, zoals koppelingen, automatiseringen en het aantal concepten dat de assistent per dag klaarzet;
- wat je de assistent vraagt;
- een andere instructie die je ons stuurt via privacy@yelm.app.
Bijlage 2 zegt waar onze subverwerkers je gegevens verwerken, ook buiten de EU.
Moet een wet ons iets anders laten doen, dan laten we je dat eerst weten, tenzij die wet dat verbiedt. Vinden we dat een instructie in strijd is met de AVG, dan zeggen we dat meteen.
6. Geheimhouding en onze toegang
Iedereen die bij ons met je gegevens kan werken, is tot geheimhouding verplicht. Bij de productieomgeving kan alleen de oprichter van Yelm, met tweestapsverificatie.
Zo kunnen wij in je werkruimte kijken:
- Toegang hebben alleen mensen op onze lijst van hoogstens vijf adressen die zich in het afgelopen uur met een passkey hebben bevestigd. Voor ieder ander bestaat ons beheerscherm niet.
- In ons beheerscherm zien we zonder jouw toestemming alleen tellingen en standen: je abonnement, de status, plaatsen, beurten, tegoed, de naam en het adres van je werkruimte en enkele tijdstippen. Nooit een item, waarde, mail, bestand, of de naam of het adres van een persoon. Elke keer dat we de tellingen bekijken, staat in je logboek.
- Een Beheerder kan ons in Instellingen · Werkruimte 24 uur laten meekijken en dat op elk moment beëindigen. Dan lezen we wat die Beheerder mag lezen. We kunnen niets wijzigen, en alles wat we lezen staat in het logboek.
- Buiten het beheerscherm hebben we beheerscripts die zonder die toestemming in een werkruimte werken. Twee daarvan, een die je werkruimte hernoemt en een die het AI-gebruik leest, werken als een Beheerder van je werkruimte; het logboek toont dan die Beheerder. Een derde stelt je abonnement en de status in; het logboek toont dat als system:ops. Wij gebruiken ze alleen als jij erom vraagt, om een storing of een beveiligingsprobleem te verhelpen, of om je abonnement bij te werken.
7. Beveiliging
Wij beveiligen je gegevens met passende technische en organisatorische maatregelen. Bijlage 1 noemt de maatregelen die Yelm nu heeft.
8. Subverwerkers
Je geeft ons toestemming de subverwerkers in bijlage 2 in te schakelen. Wij leggen elke subverwerker in een overeenkomst de plichten op die de AVG vraagt. [[IN TE VULLEN: welke verwerkersovereenkomsten met subverwerkers getekend zijn (vraag Q2)]] Wij blijven tegenover jou verantwoordelijk voor wat een subverwerker met je gegevens doet.
Buiten de EU komen gegevens bij Resend, dat accountgegevens, logs en metagegevens van berichten in de Verenigde Staten bewaart, en bij de AI Gateway van Vercel, die een verzoek aan het model eerst buiten de EU kan ontvangen. Bijlage 2 noemt ook de regio's die nog niet vaststaan. [[IN TE VULLEN: de grondslag voor die doorgifte, zoals de standaardcontractbepalingen, per subverwerker (vraag Q2)]]
Voegen we een subverwerker toe of vervangen we er een, dan laten we je dat vooraf weten. We mailen dat minstens 30 dagen vooraf aan de Beheerders van je werkruimte. Je kunt bezwaar maken via privacy@yelm.app. Blijf je bij je bezwaar, dan kun je opzeggen voordat de wijziging ingaat.
9. Hulp bij de rechten van betrokkenen
Iemand van wie je gegevens in Yelm staan, kan je vragen om inzage, correctie, verwijdering of overdracht. Jij beantwoordt dat verzoek. Yelm helpt je daarbij:
- Inzage en overdracht: een Beheerder kan de hele werkruimte exporteren, ook als je alleen nog kunt kijken. De export bevat het schema, per object een csv-bestand, het logboek en elk bestand dat die Beheerder mag lezen. Gesprekken met de assistent, de kopie van mail uit een gekoppelde mailbox en persoonlijke items van anderen zitten er niet in. Een export van één persoon apart bestaat niet. Je start de export in Instellingen, onder Werkruimte.
- Correctie: je past de waarde aan in Yelm. De oude waarde blijft in de geschiedenis van het item staan.
- Verwijdering van een item: zie artikel 2. Een bestand blijft bewaard, ook als het item weg is.
- Iemand uit je werkruimte halen: dat doet een Beheerder in Gebruikers. Hoort die persoon daarna bij geen enkele werkruimte meer, dan verwijderen we het account 30 dagen later.
- De wisactie: Yelm heeft een wisactie voor de items over een persoon. Die maakt hun geschiedenis leeg, haalt hun waarden uit aandachtspunten, het logboek en voorstellen, en verwijdert de items. Gaat het om iemand die in je werkruimte werkt, dan haalt ze die persoon ook uit de werkruimte, met de koppelingen en assistentgesprekken van die persoon. Alleen een Beheerder mag haar gebruiken. Ze bereikt geen vrije tekst die iemand in een voorstel of een antwoord typte, geen waarden in andere items die de persoon noemen, en geen bestanden. Nog geen scherm roept de wisactie aan. [[IN TE VULLEN: hoe je de wisactie laat uitvoeren zolang er geen scherm is (vraag Q20)]]
Lukt het niet met deze functies, dan helpen wij. Mail privacy@yelm.app. We helpen binnen 5 werkdagen en rekenen daar niets voor. Komt een verzoek over je werkruimte bij ons binnen, dan sturen we het door naar een Beheerder van je werkruimte.
10. Datalekken
Ontdekken we een inbreuk op de beveiliging die je persoonsgegevens raakt, dan melden we dat aan de Beheerders van je werkruimte. Dat doen we zonder onredelijke vertraging en uiterlijk 48 uur nadat we het hebben ontdekt.
We vertellen wat er gebeurde, welke gegevens en hoeveel mensen het raakt, wat de gevolgen kunnen zijn en wat we eraan doen. Weten we nog niet alles, dan melden we eerst wat we weten en vullen we later aan.
Jij beslist of je het datalek meldt bij de Autoriteit Persoonsgegevens en aan de mensen om wie het gaat. Wij helpen je daarbij. Merk jij een datalek bij ons op, meld het dan via privacy@yelm.app.
Een signaal van een datalek komt van jou, van een leverancier of uit onze eigen logs. Binnen 24 uur beoordelen wij of er persoonsgegevens geraakt zijn, om welke werkruimtes het gaat en hoe ernstig het is. Elk incident leggen wij vast, ook als het geen datalek blijkt.
11. Einde: export en wissen
Je werkruimte eindigt als je opzegt of als je niet meer betaalt:
- Zeg je op, dan kun je vanaf het eind van de lopende periode alleen nog kijken.
- Is een betaling niet gelukt en betaal je niet binnen 14 dagen, dan kun je daarna alleen nog kijken.
Daarna:
- Kun je je werkruimte nog 60 dagen bekijken en exporteren. Wil je je gegevens terug, maak dan in die tijd een export (artikel 9). Daarna wissen we je werkruimte.
- Krijgt elke Beheerder 30, 7 en 1 dag voor het wissen een mail.
- Betaal je voor die dag weer, dan werk je verder en is er niets verloren.
Wissen betekent: alle gegevens van je werkruimte, ook de geschiedenis en het logboek, alle bestanden, de API-sleutels en de toegang van verbindingen en koppelingen. Ook het account van iedereen die daarna bij geen enkele werkruimte meer hoort. Alleen het kenmerk van de werkruimte en het moment van wissen blijven staan, en het webadres geven we nooit aan een ander. Een gewiste werkruimte is niet terug te halen.
Wij kunnen de database tot zeven dagen terug herstellen. [[IN TE VULLEN: of gewiste gegevens daarna nog tot zeven dagen in de herstelgeschiedenis staan, en hoe lang de bestandsopslag gewiste bestanden houdt (vraag Q21)]]
De gegevens van je abonnement bij Stripe (zoals bedrijfsnaam, e-mailadres, adres en btw-nummer) wissen we niet met je werkruimte. Die gegevens en onze facturen aan jou bewaren wij 7 jaar, omdat de wet dat vraagt.
Een werkruimte waarvoor nooit een betaalmethode is opgegeven, wissen we 7 dagen nadat hij is gemaakt, zonder mail vooraf.
12. Informatie, audits en andere hulp
Je krijgt van ons op verzoek de informatie die je nodig hebt om te zien dat wij ons aan deze overeenkomst houden. Vraag het via privacy@yelm.app.
Je mag een audit laten doen. Die is voor jouw rekening, en je kondigt hem een redelijke tijd vooraf aan. Wij werken eraan mee.
Wij helpen je met een gegevensbeschermingseffectbeoordeling (DPIA) en met een voorafgaande raadpleging van de Autoriteit Persoonsgegevens, met de informatie die wij hebben. Die hulp kost niets. Vraagt het buitengewoon veel werk, dan spreken we vooraf een vergoeding af.
13. Aansprakelijkheid
Voor aansprakelijkheid onder deze overeenkomst gelden de algemene voorwaarden van Yelm. Daarin is onze aansprakelijkheid beperkt tot wat je ons in een jaar hebt betaald.
14. Overig
- Spreken deze overeenkomst en de algemene voorwaarden elkaar tegen over persoonsgegevens, dan geldt deze overeenkomst.
- Op deze overeenkomst is hetzelfde recht van toepassing en is dezelfde rechter bevoegd als bij de algemene voorwaarden.
- Deze overeenkomst is deel van de algemene voorwaarden. Ga je akkoord met de algemene voorwaarden, dan ga je ook akkoord met deze overeenkomst.
- Een wijziging van deze overeenkomst mailen we minstens 30 dagen vooraf aan de Beheerders van je werkruimte, zoals bij de algemene voorwaarden.
Bijlage 1. Beveiligingsmaatregelen
Dit zijn de maatregelen die Yelm nu heeft.
Elke werkruimte apart
- Elke rij in de database draagt het kenmerk van zijn werkruimte. De database laat per transactie alleen de rijen van één werkruimte door, en geeft niets als er geen werkruimte is gezet.
- Yelm werkt in de database met één gewone rol, zonder recht om die scheiding te omzeilen, en kan binnen een transactie niet naar een andere werkruimte wisselen.
Inloggen
- Er zijn geen wachtwoorden. Je logt in met een link of een code van 6 cijfers uit een mail, of met Google of Microsoft.
- De link en de code werken 10 minuten en één keer. Na 5 verkeerde pogingen werkt een code niet meer.
- De geheime delen van links, codes, sessies en API-sleutels bewaren we alleen als digest: een vingerafdruk waaruit het geheim niet terug te halen is.
- Bij Google en Microsoft vragen we alleen openid, e-mail en profiel. Hun tokens bewaren we niet.
- Een sessie bewaart geen IP-adres en niet welke browser je gebruikt.
- Inloggen, codes, aanmelden, de MCP- en REST-toegang en de chat hebben een limiet per tijdvak. IP-adressen en e-mailadressen bewaren we daarvoor alleen als digest.
- Een API-sleutel zie je één keer, en hij verloopt na hoogstens 365 dagen.
Opslag en verkeer
- De tokens van koppelingen bewaren we versleuteld (AES-256-GCM), met een sleutel die alleen het onderdeel voor koppelingen kan openen.
- De verbinding met de database loopt over TLS, met controle van certificaat en hostnaam. De app en de site gebruiken HSTS en veilige cookies.
- Bestanden staan in een afgeschermde opslag en gaan altijd via Yelm zelf naar je toe, nooit via een directe link naar de opslag.
- Een document dat je deelt via een deellink, is 30 dagen te openen, tenzij je een andere termijn kiest van hoogstens 365 dagen.
- De bestanden van een export kan alleen de Beheerder downloaden die de export maakte. Elke download wordt vastgelegd.
- Foto's slaan we opnieuw op zonder metadata, dus ook zonder de plek waar ze zijn gemaakt.
- De pagina's van de app laden niets van een ander domein. Yelm bevat geen analyse- of foutmeldingsdienst van derden.
- Bij uitloggen vragen we je browser de opslag en de cache van Yelm te wissen.
Logboek en logs
- Elke wijziging komt in het logboek: wat, wie, wanneer en via welke weg.
- Het logboek en de geschiedenis kan niemand aanpassen. Alleen een wisactie of het wissen van de werkruimte haalt er iets uit.
- Ook lezen komt in het logboek als het via MCP, de REST-API, een agent (ook de assistent) of door ons gebeurt.
- In de logregels die Yelm zelf schrijft, vervangen we elk e-mailadres door [redacted], en de code weigert velden voor geheimen zoals tokens en wachtwoorden. Niets van een vraag aan de assistent komt in een log.
De assistent
- De vaste instructies van het model bevatten geen gegevens uit je werkruimte. Alles wat het model uit je werkruimte, een bestand of een mail krijgt, krijgt het als gegevens, nooit als opdracht.
- De assistent leest waarden alleen met de rechten van de persoon die hem gebruikt.
- Heeft de assistent een bestand of mail gelezen, dan wordt elke wijziging die hij daarna vraagt een voorstel.
Onze toegang en herstel
- Hoe wij in je werkruimte kunnen kijken, staat in artikel 6.
- Wij kunnen de database tot zeven dagen terug herstellen.
[[IN TE VULLEN: of de database en de bestandsopslag versleuteld zijn opgeslagen (vraag Q24)]]
Bijlage 2. Subverwerkers
[[IN TE VULLEN: per subverwerker de rechtspersoon en het land waar die gevestigd is (vraag Q2)]]
[[IN TE VULLEN: bevestig per subverwerker de regio van de productieomgeving (vraag Q3)]]
Vercel
- Taak: draait de app van Yelm, bewaart de bestanden (Vercel Blob, dat op Amazon S3 draait) en levert de AI Gateway waarlangs de assistent het model bereikt.
- Regio: Frankfurt (fra1) voor de app en de bestanden. De AI Gateway kan een verzoek aan het model eerst in een regio van Vercel buiten de EU ontvangen. [[IN TE VULLEN: of Vercel een bestand ooit buiten Frankfurt bewaart of serveert (vraag Q3)]]
Neon
- Taak: de database, met alle gegevens van je werkruimte, de accounts en sessies, en de wachtrij voor werk op de achtergrond.
- Regio: Frankfurt (fra1). Neon draait op AWS.
Upstash
- Taak: limieten per tijdvak, een berichtenkanaal, sessiegegevens van gekoppelde AI-toepassingen (hoogstens 24 uur) en hun antwoord op een bevestigingsvraag. IP-adressen en e-mailadressen komen er alleen als digest.
- Regio: bedoeld is Frankfurt (eu-central-1). [[IN TE VULLEN: de regio waarin de database echt staat (vraag Q3)]]
Resend
- Taak: verstuurt mail: inlogmails, uitnodigingen, de mails voor het einde van een werkruimte, en de mail die je uit Yelm verstuurt. Metingen van klikken en openen staan uit.
- Regio: verstuurt vanuit de EU (Ierland, eu-west-1). Accountgegevens, logs en metagegevens van berichten bewaart Resend in de Verenigde Staten.
Stripe
- Taak: betalingen, het abonnement en de facturen van Yelm aan jou. Stripe krijgt je bedrijfsnaam, een e-mailadres, je adres en je btw-nummer. Kaart- en bankgegevens houdt Stripe zelf; die komen niet bij ons.
- Regio: [[IN TE VULLEN: de Stripe-entiteit en de regio; besloten is Stripe Payments Europe in Ierland (vraag Q2)]]
Anthropic, via de AI Gateway van Vercel
- Taak: het AI-model (Claude) achter de assistent. Het model krijgt je vraag en wat de assistent voor je leest: waarden, bestanden, mails en hulppagina's. Ook facturen van leveranciers die Yelm uitleest, spreadsheets die je inleest, en nieuwe mail waarvoor de assistent een concept klaarzet.
- Regio: Het model van de assistent draait in de EU: het rekent daar, en wat de aanbieder opslaat blijft daar. De aanbieders bewaren niets van wat je vraagt of krijgt en trainen er volgens hun voorwaarden geen AI-modellen mee. De AI Gateway kan een verzoek eerst buiten de EU ontvangen (zie Vercel). [[IN TE VULLEN: wie het model in de EU draait en met welke entiteit wij contracteren (vraag Q4)]]
Niet in gebruik: Claude via Amazon Bedrock in Frankfurt (eu-central-1). Stappen we daarop over, dan wordt AWS subverwerker en melden we dat zoals artikel 8 zegt.
Diensten die je zelf kiest
Deze diensten gebruikt Yelm alleen als jij of je mensen ervoor kiezen:
- Google en Microsoft, als je daarmee inlogt. We vragen alleen openid, e-mail en profiel.
- De pushdienst van je browser (van Google, Mozilla, Apple of Microsoft), als je meldingen aanzet. Een melding bevat alleen "Er wacht iets op je in" met de naam van je werkruimte, en een pad in de app, versleuteld voor je apparaat.
- Moneybird, als je die koppelt. Yelm leest daar klanten, facturen en betalingen, en maakt conceptfacturen alleen via een automatisering die je goedkeurt.
- Outlook (Microsoft Graph), als iemand een eigen mailbox koppelt. Yelm verstuurt dan vanuit die mailbox en leest, als het Postvak aan staat, binnenkomende mail.
- Je eigen AI-toepassing, zoals Claude of ChatGPT, als je die via een verbinding koppelt. Die leest met de rechten van de persoon die haar koppelde, en wat ze leest staat in het logboek.
Dit zijn diensten die je zelf afneemt, met je eigen account. Het zijn geen subverwerkers van ons.