Data & Privacy
Where your data lives, what Google permissions Water LLM uses, what AI features send to Gemini, and how to revoke access or delete everything.
The Short Version
- Your data stays in your Google account. Contacts, CRM rows, invoices, and calendar events are read from and written to your own Google Sheets, Google Contacts, Gmail, Calendar, Drive, and Tasks. Water LLM doesn't copy your data to its own servers.
- AI features send a structured snapshot to Google's Gemini API. The snapshot is minimal (see the table in the AI Features section below) and is processed using Zero Data Retention — Google doesn't store it or use it for model training.
- Subscription verification sends only your email address to a Firebase Firestore database operated by Water LLM. No contact, invoice, or CRM data is involved.
- No third-party AI providers. All AI processing goes through Google's Vertex AI (the same infrastructure powering Google Workspace AI). There is no OpenAI, Anthropic, or other external API involved.
- You can revoke access or delete everything at any time. Instructions are in the last two sections of this page.
Where Your Data Lives
| Data Type | Where It Lives | Who Controls It |
|---|---|---|
| CRM contacts, notes, status, communication history | Your Water LLM Google Spreadsheet (Google Drive) | You — it's a file in your Drive |
| Invoices, client sessions, deal pipeline | Your Water LLM Google Spreadsheet (Google Drive) | You |
| Contact details (name, email, phone) | Google Contacts (your account) — synced bidirectionally with the spreadsheet | You |
| Invoice and style guide documents | Your Google Drive (in the Water LLM/ folder) |
You |
| LinkedIn connection and message data | Imported into your spreadsheet only — never sent to Water LLM servers | You |
| Add-on settings and preferences | Google Apps Script User Properties (stored in Google's infrastructure, scoped to your account and this script) | Google / cleared by you via Danger Zone → Reset All User Properties |
| Subscription status | Firebase Firestore database operated by Water LLM (Google Cloud). Stores your email address and active/inactive status only. | Water LLM — deletable on request |
If you copy your Water LLM spreadsheet, the sheet data (contacts, invoices) copies with it, but the add-on's User Properties do not. The copy won't be linked to Water LLM and the Contact IDs will still reference your original Google Contacts — syncing from a copy could cause unexpected overwrites. Use copies for archival only, not as a working CRM.
Google Permissions Water LLM Uses
When you install Water LLM, Google asks you to grant a set of permissions (OAuth scopes). Here's what each one is for:
| Permission | Why Water LLM Needs It |
|---|---|
| Google Sheets (read & write) | Read and write your CRM, invoices, and all other spreadsheet data |
| Google Contacts (read & write) | Bidirectional contact sync — read from Google Contacts, write back updated fields |
| Gmail (read) | Communication Refresh: read email subject lines and timestamps to find last-contact dates. Water LLM reads metadata and subject lines — it does not read email body content for CRM purposes. |
| Gmail (send, compose, labels) | Create Gmail drafts for email outreach and invoice emails; create subscription filters (labels) via the Subscription Filters setting |
| Google Calendar (read & write) | Read calendar events for Communication Refresh (last meeting dates) and Daily Briefing; create Tasks calendar blocks if Task Manager is configured to do so |
| Google Drive (read & write) | Create and read the Water LLM/ folder and its contents: invoice documents, style guide, LinkedIn data files |
| Google Docs (read & write) | Create and populate invoice documents from the invoice template |
| Google Tasks (read & write) | Create task items via the Task Manager feature |
| Google Chat | Send messages via the Chat Assistant bot (Experiments feature) |
| User info (email) | Read your Google email address to link the add-on to your account during onboarding |
| Script / external requests | Make outbound API calls to Google Vertex AI, Firebase Firestore, and frankfurter.app (exchange rate data for multi-currency invoices) |
| Script triggers | Install and manage the hourly automation trigger and the onEdit trigger |
Water LLM reads email subject lines, timestamps, and sender/recipient addresses for the Communication Refresh feature (to find your last email contact date per person). It does not read, store, or transmit email body content for CRM purposes. The only exception: the Newsletter Digest feature reads email body content from messages in your "Subscriptions" label to summarize them — and that content is sent to Gemini under the same ZDR policy as all other AI features.
What AI Features Send to Gemini
Water LLM uses Google's Vertex AI platform to access the Gemini language model. When you run an AI feature, Water LLM assembles a structured prompt from your data and sends it to Gemini. The response comes back and is delivered to you as an email or Gmail draft. Nothing is stored in between.
Water LLM uses Vertex AI in Zero Data Retention mode. This means Google does not store your prompts or responses after the API call completes, and your data is never used to train, fine-tune, or improve any AI model. Each call is stateless — Gemini has no memory of previous requests. All processing stays within Google Cloud infrastructure.
| Feature | Data Sent to Gemini |
|---|---|
| Daily Briefing | Today's calendar event titles, times, and attendee names. For CRM-matched attendees: company, title, notes, and last contact date. Recent email subject lines (up to 5 per attendee, last 120 days). |
| Email Outreach | Your email template (subject and body). Filtered contact data for matched contacts: name, company, title, last contact date, and notes. |
| Meeting Prep | Selected contact's CRM fields (name, company, title, notes). Your ICP and products/services description. A summary of recent communication (dates and methods only). |
| Calendar Insights | Next 14 days of calendar event titles, times, attendees, and RSVP statuses. |
| Monthly Business Insights | Aggregated counts: calendar event types (30 days), email volume (no content), invoice totals. No individual contact data. |
| Relationship Manager | Contacts flagged as at-risk (name, last contact date, status). No email content. |
| Newsletter Digest | Email sender names, subject lines, and body content from messages in your Gmail "Subscriptions" label. This is the only feature that sends email body text. |
| Birthday Drip | Contact name and your drafted message template. No private notes or financial data. |
| Task Manager | Contact names and status context for task generation. No email content or financial data. |
Water LLM uses a dedicated service account (a special Google Cloud identity) to authenticate with Vertex AI. This means:
- You don't need your own Google Cloud account or Vertex AI setup
- The service account credentials are stored in Google's Script Properties (not in your spreadsheet)
- Authentication uses signed JWT tokens — no passwords are transmitted
- Calls go directly to
aiplatform.googleapis.com - Vertex AI usage is covered by your subscription — you're not billed separately
Subscription Verification
Water LLM verifies your subscription status against a Firebase Firestore database operated by Water LLM (hosted on Google Cloud). Here's exactly what happens:
-
1Water LLM sends your Google email address to the Firestore subscriptions collection
-
2Firestore returns your active/inactive status
-
3Water LLM stores a cryptographically signed token in your Google Apps Script User Properties. This token encodes the month and year of the check, signed with a secret key — it can't be forged.
-
4For the next ~30 days, verification happens locally using that signed token — no Firestore call needed
What is sent to Firestore: Only your Google email address. No contact data, invoice data, calendar data, or spreadsheet content is ever sent during subscription checks.
What is stored in Firestore: Your email address and your subscription status (active/inactive). Your record is deleted within 30 days of a cancellation request.
What Water LLM Cannot Do
Some boundaries are worth being explicit about:
| Water LLM cannot… | Why |
|---|---|
| Access your spreadsheet without your Google account being active | All access goes through your OAuth session — if you revoke permissions, all API access stops immediately |
| Send emails on your behalf without creating a draft first | Outreach features create Gmail drafts; you send them. The only exception is subscription notification emails, which are handled by the billing system outside the add-on. |
| Access other people's spreadsheets or contacts | OAuth scopes are per-user — Water LLM can only access the data of the account that granted the permissions |
| Store your spreadsheet data on Water LLM's servers | No Water LLM server receives CRM, invoice, or contact data. Processing runs inside Google Apps Script (Google's infrastructure, your account). |
| Train AI models on your data | ZDR mode on Vertex AI prohibits Google from using your prompts for training. Water LLM has no mechanism to receive or store model training data. |
| Read email body content (except Newsletter Digest) | Communication Refresh reads subject lines and timestamps only. Newsletter Digest is the only feature that reads email body text, and only from your labeled "Subscriptions" emails. |
Revoking Add-On Access
You can revoke Water LLM's OAuth permissions at any time. This immediately stops the add-on from accessing your Gmail, Contacts, Calendar, Drive, and Sheets via the API. Your spreadsheet data and Drive files are unaffected — only the API access is removed.
-
1Open your Google Account permissionsGo to myaccount.google.com/permissions
-
2Find Water LLMScroll the list or search for "Water LLM"
-
3Remove accessClick Remove Access and confirm
Revoking access does not delete your spreadsheet or Drive files. It only prevents Water LLM from calling Google APIs. If you reinstall the add-on later, you'll be prompted to re-grant permissions.
Full Data Deletion
To remove all Water LLM data completely:
-
1Revoke add-on accessFollow the steps in "Revoking Add-On Access" above
-
2Delete the spreadsheetMove your Water LLM spreadsheet to Google Drive Trash, then empty the Trash
-
3Delete the Drive folderDelete the
Water LLM/folder from Google Drive (contains invoice documents, templates, LinkedIn data) -
4Request Firestore deletionContact Water LLM support to request deletion of your subscription record. Your record (email address + subscription status) will be deleted within 30 days.
After steps 1–3, no data from your Google account exists outside of Google's own infrastructure. Step 4 removes the only record Water LLM holds on its own servers.
Contacting Water LLM About Privacy
For privacy-related questions, deletion requests, or data subject rights enquiries:
Email: privacy@waterllm.com
For terms of service, see our End User License Agreement.

