Privacy Policy
This policy explains what personal data Baton (the web app at baton.grapph.com, the Baton Android app, and the Baton chat widget that businesses embed on their websites) collects, why, where it is stored, who it is shared with, and how you can have it deleted.
1. Who we are
Baton is operated by Ing. Miloš Wikarski, Slovakia (“we”, “us”). For any privacy question or request, email ceo@grapph.com.
2. Two kinds of people use Baton
- Operators — people who sign in to the Baton dashboard or Android app to configure a chatbot and monitor or take over its conversations. For operator account data, we are the controller.
- Website visitors — people who chat with a business through the Baton widget on that business’s website. The business that owns the workspace decides what the chatbot asks and does with the conversation, so it is the controller of visitor data and we process that data on its behalf. Visitors should also read the privacy policy of the website they are chatting on.
3. What we collect
3.1 Operators
- Account: email address and password. The password is handled by Google Firebase Authentication; Baton’s servers never see or store it.
- Workspace data: workspace name, team memberships and roles, pending invitations (the invitee’s email address), chatbot and widget settings, and the credentials for the AI backend you connect.
- Messages you send when you take over a conversation.
- Push notifications: a Firebase Cloud Messaging token and a random device identifier per device, plus your notification preferences.
3.2 Website visitors
- Conversation content: the messages exchanged with the chatbot and with human operators, and a conversation title.
- Information you choose to give: a display name, answers to any pre-chat form the business sets up, and an email address if you ask to be contacted outside business hours.
- Files: files you attach are passed straight to the business’s AI backend and are not stored by Baton; the conversation keeps a reference to them.
- Voice input: if you dictate a message, the recording is sent for transcription either to the business’s AI backend or to the Google Gemini API, held in memory only for the duration of that request, and never stored by Baton. Only the resulting text is kept.
- Page context: the website may pass details to the widget, such as the page you are on, or a customer ID or plan it already knows about you. These are stored with the conversation so operators can see them.
3.3 Technical data (everyone)
- IP address: used in memory for rate limiting and abuse prevention; it is not written to our database. It does appear in the hosting provider’s request logs (see section 7).
- Aggregate usage counts per workspace and day (number of conversations, messages, takeovers, errors, AI tokens used and response time). These counts contain no message content and do not identify any person.
We do not use advertising, third-party analytics or tracking cookies, and we do not sell or rent personal data.
4. Why we use it
| Purpose | Legal basis (GDPR) |
|---|---|
| Running the service: signing you in, delivering conversations, storing them for operators, sending push notifications and invitation emails | Performance of a contract (operators); the business’s legitimate interest or contract with the visitor (visitors) |
| Security: rate limiting, preventing abuse, debugging errors | Legitimate interest |
| Workspace usage statistics shown to the workspace’s own operators | Legitimate interest |
| Responding to lawful requests | Legal obligation |
5. Who we share it with
We share data only with the service providers needed to run Baton:
| Provider | What for | Location |
|---|---|---|
| Google Cloud Run | Hosting the Baton server | Netherlands (EU) |
| Google Cloud Firestore | Database for workspaces and conversations | Frankfurt, Germany (EU) |
| Google Firebase Authentication | Operator sign-in | Google global infrastructure |
| Google Firebase Cloud Messaging | Push notifications to operators | Google global infrastructure |
| Google Gemini API | Transcribing voice messages, when the AI backend cannot | Google global infrastructure |
| Resend | Sending workspace invitation emails | United States |
| The workspace’s AI backend | Generating chatbot replies | Chosen by the business |
AI backend. Each workspace connects its own AI backend (for example Dify, Flowise, n8n, or an OpenAI-compatible API, hosted by the business or by a provider it chooses). Visitor messages, files, pre-chat answers and page context are sent to that backend to produce replies. That backend’s own privacy terms apply to what it does with the data.
We may also disclose data where required by law.
6. International transfers
Our database and servers are in the EU. Some of the providers above may process data outside the European Economic Area (in particular in the United States). Where they do, the transfer relies on the European Commission’s Standard Contractual Clauses or the EU–US Data Privacy Framework, as offered by those providers.
7. How long we keep it
- Conversations are kept until the workspace is deleted. Individual conversations can be deleted on request (see section 9).
- Workspaces, with all their conversations, members, invitations, settings and usage statistics, are deleted immediately and permanently when an owner deletes the workspace.
- Operator accounts are kept until you ask us to delete them (see section 9).
- Server logs are kept by Google Cloud Logging for about 30 days.
- Voice recordings and attached files are not stored by Baton.
8. Storage on your device
Baton does not set cookies. It uses your browser’s local storage, IndexedDB and a service worker cache to:
- keep you signed in (Firebase Authentication);
- remember your selected workspace, language and a random device identifier for notifications;
- in the widget, remember your current conversation and whether you accepted the chat notice;
- load the app quickly and offline.
Clearing your browser or app data removes all of these.
9. Your rights and how to delete your data
Depending on where you live (including under the GDPR and the CCPA), you can ask to access, correct, export or delete your personal data, to restrict or object to its processing, and to withdraw consent. Email ceo@grapph.com; we answer within 30 days.
- Delete a workspace: a workspace owner can do this in Settings → Team → Delete workspace.
- Delete your operator account: see baton.grapph.com/delete-account.html.
- Turn off notifications: in Settings → Notifications or in your device settings.
- Website visitors: contact the business whose website you chatted on, as it controls your conversation. You may also write to us, and we will pass your request to that business.
You also have the right to lodge a complaint with a data protection authority. In Slovakia this is the Úrad na ochranu osobných údajov SR (dataprotection.gov.sk).
10. Security
All traffic uses HTTPS. Data is encrypted at rest by Google Cloud. Access to a workspace is limited to its members and checked by the server on every request, and AI backend credentials are never sent to the browser. Businesses can restrict their widget to the website domains they allow, and requests are rate-limited. No system is perfectly secure, but we will notify affected users and authorities of a breach as the law requires.
11. Children
The Baton dashboard and app are tools for businesses and are not directed at children under 16. We do not knowingly collect children’s data for operator accounts. If you believe a child has given us personal data, contact us and we will delete it.
12. Changes
We will post any change on this page and update the effective date. If a change materially affects how we use your data, we will also tell operators by email or in the app.