1. Parties and scope
This Data Processing Agreement ("DPA") is between PlentyLabs UG (haftungsbeschränkt) & Co. KG, Brunnenstr. 169, 10119 Berlin, Germany ("we"), and the business, organization, or public body that uses Chat with Work's hosted service at chatwithwork.com for its work ("you").
- It applies whenever we process personal data on your behalf while providing the hosted service. It's part of the Terms of Service: by agreeing to them for an organization, you agree to this DPA. There's one DPA for every business customer, and no separate signature is needed. If you'd like a signed copy for your records, email support@chatwithwork.com.
- Where this DPA and the Terms of Service differ on personal data, this DPA prevails. Words like "personal data", "processing", "controller", "processor", and "personal data breach" mean what they mean in the GDPR (Regulation (EU) 2016/679).
2. Roles
- You're the controller of the personal data your people and your bots bring into the service, and we're your processor. If you yourself process the data for someone else, we're your sub-processor, and you pass on their instructions through yours.
- We're a controller ourselves only for what our Privacy Policy describes as ours: sign-in security records, billing, invoices and tax records, support requests, error reports, and our own website's analytics. This DPA doesn't cover those.
- Services you connect. Google, Microsoft, Slack, and the other services your people connect, the MCP servers they add, and the chat platforms where they talk to their assistant are your own chosen services. We connect to them on your instruction, with your people's own accounts and credentials, and their vendors act under your own agreements with them, not as our sub-processors.
- Your computers and your servers. Chat with Work Desktop runs on your computers, and a self-hosted install on your servers, under your control. We don't process personal data there. What Chat with Work Desktop sends the hosted service for a chat is processed under this DPA like any other chat; its crash reports, sent only if turned on, carry no personal data. A self-hosted install sends us only a daily release check and, if its administrator turns them on, error reports; for those, and for access you give us for support, this DPA applies as the Self-Hosted Licence Terms say.
3. Subject matter, duration, nature, and purpose
- Subject matter: providing Chat with Work: an assistant that searches, reads, and, with approval, changes things in the services your people connect, answers with AI models, runs bots and triggers, runs code in a sandbox, and keeps chats, files, and settings.
- Duration: as long as you use the service, and until the data is deleted under section 12.
- Nature: collecting, storing, organizing, reading, searching, transmitting to the AI models and services in the list of sub-processors, displaying, and deleting.
- Purpose: only to provide, secure, and support the service for you, as the Terms of Service, your settings, and your people's use of it direct. We don't sell the data, use it for advertising, or train AI models on it, and our model providers' terms say they don't either.
4. Personal data and the people it's about
- People: your owners, admins, members, and guests; bots' contacts (people who write to your bots or in channels they read); and people named in what your people ask, upload, or read through the service, such as colleagues, customers, suppliers, and other contacts.
- Data: names, email addresses, profile pictures, roles, and settings; questions, answers, chat titles, instructions, and memories; files, attachments, and text read from connected services, MCP servers, and computers, including the personal data in them; messages to bots and trigger events; integration tokens and credentials; usage, approval, and audit records; IP addresses and device descriptions.
- Special categories (Art. 9 GDPR) and criminal records data aren't needed by the service. They reach it only if your people put them in or read them from a connected service; you decide whether that's lawful.
5. Instructions
- We process the data only on your documented instructions: the Terms of Service, this DPA, what your owners and admins set in the service, what your people do in it, and anything else you tell us in writing, including by email. EU or German law may require us to process it otherwise; we'll tell you first unless that law forbids it.
- If we think an instruction breaks the GDPR or other data protection law, we'll tell you and may wait to follow it until you confirm or change it.
6. Confidentiality and our staff
- Everyone at PlentyLabs who can reach the data is bound to confidentiality by contract or by law.
- Staff screens never show chat or document text. We read your content only when a person in your organization shares a chat with us through an answer's rating, when you ask us to in a support request, to investigate abuse or a security incident, or when the law requires it.
7. Security
We keep the technical and organizational measures in Annex 1, which meet Art. 32 GDPR. We may improve them, but never lower the protection they give.
8. Sub-processors
- You give us general written authorization to engage sub-processors. The current list, with what each does, what data it receives, and where, is at chatwithwork.com/subprocessors.
- We tell you about any new or replaced sub-processor at least 30 days before it starts processing your data, by email to your organization's owners and on that page. You may object on reasonable data protection grounds within those 30 days. We'll try to resolve it, for example by not using it for your data; if we can't, you may cancel the affected service before the change, and we refund any fees you prepaid for the time after it.
- If we must replace a sub-processor urgently, because of a security problem or because it stops its service, we tell you as soon as we can, and you keep the same right to object.
- We bind each sub-processor by contract to data protection obligations that protect the data as this DPA does (Art. 28(4) GDPR), and remain responsible to you for its work.
9. Where the data is processed
- The service runs on our servers in Germany, with off-site backups in Finland, and the AI models it calls run in the EU: Gemini on Google Vertex AI's EU endpoint, GPT on Microsoft Azure's EU Data Zone, Claude on Amazon Web Services Bedrock's EU profiles, and the free model on Hetzner in the EU. When a model is busy, another of these answers in its place, still in the EU.
- Google, Microsoft, and Amazon belong to US groups. For any access from outside the EU, their data processing terms include the European Commission's standard contractual clauses, and their groups are certified under the EU-US Data Privacy Framework. The list of sub-processors says the safeguard for each.
- Web search is off unless your owners or admins allow it and a person turns it on in a chat. Then the search queries the model writes, which can contain words from the chat, go to Google Search (Gemini) or Microsoft Bing (GPT), outside the EU, under those providers' own terms as search providers, not as our sub-processors. Turning it on is your instruction to make that transfer.
- What your people send to the services they connect, to their MCP servers, or through Slack, Discord, and Basecamp's Campfire goes where those services run, under your agreements with them (section 2).
- We don't move your data outside the EU/EEA otherwise, except as this section and the list of sub-processors say.
10. Helping you
- People's rights. The service lets you and your people see, correct, and delete what they hold: chats, files, instructions, memories, integrations, and accounts. For anything else, including a copy of an organization's chats, email support@chatwithwork.com, and we'll help within the time the GDPR gives you. If someone writes to us directly about your data, we'll send them to you and tell you.
- Impact assessments and authorities. We give you the information we have for a data protection impact assessment or a consultation with a supervisory authority (Arts. 35 and 36 GDPR).
- Security. We help you meet Art. 32 GDPR with the measures in Annex 1.
11. Personal data breaches
- We tell you of a personal data breach affecting your data without undue delay, and within 48 hours of becoming aware of it, by email to your organization's owners.
- We say what happened, what data and how many people are affected as far as we know, the likely consequences, what we've done and will do, what you should do, and whom to contact. What we don't know yet, we send as soon as we learn it.
- We help you notify the supervisory authority and the people affected (Arts. 33 and 34 GDPR). Telling you isn't an admission of fault.
12. Deletion and return
- Your owners and admins and your people delete data in the service as they go, and it's deleted as section 7 of our Privacy Policy describes. A deleted chat disappears at once and is permanently deleted 30 days later. Cached text from connected services is deleted after 30 days without use, and at once when an integration is disconnected. A removed person's private chats are deleted 30 days after removal.
- When you stop using the service, ask us at support@chatwithwork.com before then for a copy of your organization's chats and files, and we'll send it. Your owners can delete the organization by deleting it with the last account in it, or by asking us; we then delete its data within 30 days.
- Encrypted backups keep deleted data until they expire, at most two years. We never restore deleted data from a backup back into the service without deleting it again.
- We keep invoices and the records tax law requires for as long as it requires (10 years in Germany).
13. Information and audits
- We make available what you need to check that we meet Art. 28 GDPR: this DPA and its annex, our security page, and answers to your security questionnaires. Our CASA Tier 2 assessment covers the Google scopes. Our SOC 2 Type I audit is in progress, not finished; once its report is issued, we'll share it on request under a confidentiality agreement.
- If that isn't enough, or a supervisory authority asks, you or an auditor you name may audit us once a year, remotely or at our premises, with 30 days' notice, during business hours, at your cost, without access to other customers' data or our trade secrets. The auditor must be bound to confidentiality and not be our competitor. After a personal data breach, or when an authority requires it, you may audit sooner.
14. Liability
Liability under this DPA follows section 10 of the Terms of Service, or for a self-hosted install section 13 of the Self-Hosted Licence Terms. It doesn't limit either party's liability to the people whose data it is (Art. 82 GDPR).
15. Term, changes, and law
- This DPA lasts as long as we process personal data for you.
- We may update it to follow the law, an authority's guidance, or changes to the service, and post the new version here; a change that reduces your protection needs your agreement. Changes to sub-processors follow section 8.
- German law applies. The courts of Berlin have jurisdiction, as in the Terms of Service.
Annex 1: Technical and organizational measures
Where the data is - The app, its database, stored files, malware scanning, and the code sandbox run on a dedicated server at Hetzner in Nuremberg, Germany. - AI models run in the EU (section 9). No index of your company is built: connected services are searched live, when someone asks.
Encryption - In transit: HTTPS (TLS) for every connection to the service, and to the model providers and services it calls. - At rest, by the application: chat content (questions, answers, titles, summaries, tool calls and results), instructions, memories, integration tokens and credentials, MCP server secrets, cached text from connected services, trigger events, and stored files (attachments, files the assistant and its code make, pictures, templates). Columns use AES-256-GCM through Active Record encryption; files are encrypted in chunks with a key each. Some columns stay plaintext on purpose (for example email addresses and record ids). Records and files stored before this encryption was introduced are being encrypted in place. - Backups are encrypted with restic before they leave the server.
Access control - Sign-in by password (at least 12 characters, hashed), Google, Microsoft, Slack, or Dropbox; two-step verification with passkeys or an authenticator app, which owners and admins can require of everyone in the organization; a login locked after ten wrong tries; a record of every sign-in and change to how someone signs in. - Within an organization: roles (owner, admin, member, guest), private chats visible only to their creator, project chats only to the people on the project, guests only to what's shown to them; one organization's records never reachable from another's. Each person's integrations, tool results, and tokens stay theirs, even in shared chats. - Integrations start read-only; every change waits for the person's approval unless they or their admins chose otherwise, within the limits owners and admins set. - Our staff: personal accounts with two-step login at every vendor; SSH keys only; the database publishes no port; staff screens need two-step login, re-checked every 12 hours, and never show chat or document text; console sessions on production are recorded with a reason; access is reviewed every quarter and removed the same day someone leaves.
Availability and backups - Daily encrypted backups of the databases and stored files to two places: a Hetzner Storage Box in Helsinki, Finland, and a backup server PlentyLabs operates itself in Berlin, Germany, which can only add snapshots, never delete them. Each backup is checked after it's taken; a restore is rehearsed every quarter. - Recovery point 24 hours; monitoring and alerts for uptime and capacity.
Logs - Logs and error reports record what happened by ids, counts, sizes, and kinds: never names, titles, paths, queries, email subjects, content, or error messages that could quote them. Error reports are rebuilt from an allowlist before they're stored, on our own Bugsink server in Germany. - Changes made through the assistant are audited with which tool ran, when, and what it changed, without the content.
Development and change - Every release passes automated tests, dependency audits, a security scan, and secret scanning; production releases are signed and need the founder's approval. - Uploads are scanned for malware before the assistant reads them.
Deletion - As section 12 says.
Annex 2: Sub-processors
The list at chatwithwork.com/subprocessors, as it stands, is Annex 2.