Permissions
Water LLM asks Google for access to your Sheets, Contacts, Gmail, Calendar, Drive, Docs and Tasks. Here is every permission it requests, what each one is actually used for, and why a narrower one would not do the job.
The short version
Grouped by the Google service you already know, rather than by the scope strings Google shows you on the consent screen. If you only read one section, read this one.
| Service | What Water LLM does with it | What it does not do |
|---|---|---|
| Google Sheets | Reads and writes your Water LLM spreadsheet — the CRM, invoices, clients, pipeline and dashboard. This is the product. | Nothing in any other spreadsheet. |
| Google Contacts | Two-way sync. Pulls your contacts into the CRM and pushes your edits back, so the two stay in step instead of drifting apart. | Never deletes a contact outright — deletions go through an archive you can reverse. |
| Gmail — reading | Reads who you exchanged mail with and when, to work out your last contact with each person. Subject lines, timestamps and addresses. | Does not read message bodies, with two named exceptions: the Newsletter Digest (only mail you have labelled) and the Weekly Client Recap (your correspondence with active clients). Both can be switched off. Detail. |
| Gmail — drafting | Writes outreach emails, invoice emails, reminders and follow-ups into your Drafts folder. | Never sends them. You press send, every time. |
| Gmail — sending | Sends your own briefings and reports to your own address. | Sends nothing else to anyone else. Everything addressed to a third party is a draft you approve. |
| Gmail — labels and filters | Creates one label, Subscriptions, and optional filters that route newsletters into it. |
Does not touch your existing labels, filters or settings. |
| Google Calendar | Reads events to count meeting hours, work out last and next meetings, and build your briefings. Writes events when you ask it to — task blocks. | Does not read event descriptions or private notes on events. |
| Google Drive | Creates and manages one folder, Water LLM/, holding invoice PDFs, templates, your per-contact notes docs and your LinkedIn import. |
Does not list, open or scan anything outside that folder. Why it still asks for full Drive access. |
| Google Docs | Creates your per-contact notes documents and reads your Style Guide, so drafted emails sound like you. | Only documents it created or you pointed it at. It cannot browse your documents. |
| Google Tasks | Creates the Follow Up task after a matched meeting, and tasks you ask the Chat Assistant to add. | Does not read or alter tasks you made yourself. |
| Google Chat | Lets the Chat Assistant reply to you when you message it. | Only replies. It cannot start a conversation or message anyone else. |
| Your email address | Identifies you, so your subscription can be checked and your settings kept separate from anyone else's. | This is the only thing about you stored on our servers. Full field list. |
Every scope, in full
All 20 OAuth scopes Water LLM declares, exactly as they appear in the add-on manifest and on Google's consent screen. This is the complete list — the add-on cannot request a scope that is not here, and every one below is exercised by shipping code.
appsscript.json by
tools/gen-permissions-table.py, which refuses to emit if the manifest, this
page and the consent-screen registration disagree in any direction. Restricted scopes
are covered by an independent CASA security assessment.
Restricted 4 scopes
Google’s strictest category, for the data it considers most sensitive. Each one needs a documented justification, OAuth verification, and an independent annual security assessment (CASA) before the add-on can be published.
| Scope | What it is used for | Features that need it |
|---|---|---|
https://www.googleapis.com/auth/gmail.readonly |
Reads sender, recipient, timestamp and subject to work out when you last spoke to each contact. Reads message bodies only for the Newsletter Digest and the Weekly Client Recap. | Comms & Meeting Sync, Newsletter Digest, Weekly Client Recap, Gmail add-on |
https://www.googleapis.com/auth/gmail.compose |
Creates Gmail drafts. Nothing it drafts is ever sent by the add-on. | Email Outreach, invoice emails and reminders, Meeting Follow-Ups, Workflow Engine, Birthday Notes |
https://www.googleapis.com/auth/drive |
Creates and manages the Water LLM/ folder tree in your Drive, and reads the LinkedIn export ZIP you place in it. |
Invoice PDFs, document templates, per-contact notes docs, LinkedIn import |
https://www.googleapis.com/auth/gmail.settings.basic |
Creates the optional Gmail filters that route newsletters into the Subscriptions label. |
Subscription Filter Setup |
Sensitive 12 scopes
Access to private data, reviewed by Google during OAuth verification with a written justification for each.
| Scope | What it is used for | Features that need it |
|---|---|---|
https://www.googleapis.com/auth/script.external_request |
Makes the outbound calls listed under What leaves your Google account. Every destination is declared in the manifest allowlist. | AI features, subscription check, exchange rates |
https://www.googleapis.com/auth/spreadsheets |
Reads and writes your Water LLM spreadsheet. The core of the product. | Everything |
https://www.googleapis.com/auth/contacts |
Two-way sync with Google Contacts: import, push your edits back, and archive contacts you remove. | Sync to Google, Sync to CRM, contact composer |
https://www.googleapis.com/auth/calendar |
Reads events for meeting hours, last and next meeting, and the briefings. Writes an event only when you ask the Chat Assistant to add one to your calendar. A calendar booking page we are testing might use it later to put bookings on your calendar — opt-in, and not available today; see the note below. | Client Tracker, Daily Assistant, Meeting Prep, Calendar Invite Parser, Chat Assistant |
https://www.googleapis.com/auth/tasks |
Creates task items in your Google Tasks list: the Follow Up task after a matched meeting, and tasks you ask the Chat Assistant to add. | Meeting Follow-Ups, Chat Assistant |
https://www.googleapis.com/auth/gmail.send |
Sends your own briefings and reports to your own address. It does not email anyone else. A calendar booking page we are testing might later use it to send whoever books a confirmation and a reminder — opt-in, off unless you switch it on, and not available today; see the note below. | Daily Assistant, Weekly and Monthly briefings, Task Manager digest, Health Report |
https://www.googleapis.com/auth/script.container.ui |
Draws the menu, the sidebar and the dialogs inside Google Sheets. | Every screen in the add-on |
https://www.googleapis.com/auth/script.scriptapp |
Installs the two background triggers: the hourly scheduler, and the edit trigger that timestamps CRM rows. | All scheduled automation |
https://www.googleapis.com/auth/documents |
Creates per-contact notes documents, and reads the Style Guide doc you provide. | Google Doc Notes, Weekly Client Recap, Voice & Writing Style |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly |
Reads the message you currently have open, while you have it open. | Gmail add-on |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata |
Reads the sender and recipients of the message you currently have open. | Gmail add-on |
https://www.googleapis.com/auth/chat.messages.create |
Lets the Chat Assistant post its replies back to you in Google Chat. | Chat Assistant |
Non-sensitive 4 scopes
Scopes that need no separate Google verification. Listed anyway, because a complete list is more useful than a curated one.
| Scope | What it is used for | Features that need it |
|---|---|---|
https://www.googleapis.com/auth/userinfo.email |
Reads your Google account email address, to identify you. | Subscription check, per-user settings |
https://www.googleapis.com/auth/gmail.labels |
Creates and applies one label, Subscriptions. |
Subscription Filter Setup, Newsletter Digest |
https://www.googleapis.com/auth/gmail.addons.execute |
Lets the Gmail add-on panel run at all. | Gmail add-on |
https://www.googleapis.com/auth/gmail.addons.current.action.compose |
Lets the add-on appear while you are composing, so you can look a contact up. | Gmail add-on |
Why not a narrower scope
For most of the list there is a narrower version Google offers, and where one works we took it. Where we did not, here is the reason — including the one that is a genuine trade-off rather than a technical necessity.
| Instead of | We could have asked for | Why we did not |
|---|---|---|
drive |
drive.file |
This is the broad one, and it is deliberate. drive.file can only see files the add-on itself created. Two things break under it: finding your Water LLM/ folders by name during setup, and reading the LinkedIn export ZIP — which you put in Drive, so the add-on did not create it and cannot see it. Water LLM reads and writes only inside its own folder tree. Moving the LinkedIn import to Google's file picker would let us drop to drive.file; that is a tracked improvement, not a promise. |
gmail.readonly + gmail.send + gmail.compose + gmail.labels |
gmail.modify |
Here we took the narrower path. One gmail.modify scope would have covered all four and been less to explain — but it also permits altering and deleting your mail, which Water LLM never does. Four precise scopes instead of one broad one means the permission you grant matches the behaviour you get. |
calendar |
calendar.readonly |
Read-only covers most of it — meeting hours, last and next meeting, the briefings. Write access is needed when you ask the Chat Assistant to add an event to your calendar — and would be needed by the calendar booking page we are testing, if it is added. |
contacts |
contacts.readonly |
Read-only would make the sync one-way. Pushing your CRM edits back to Google Contacts is half the point — otherwise the two copies drift apart and you maintain both. |
documents |
documents.readonly |
Read-only could read your Style Guide but could not create the per-contact notes documents, or append this week's recap to one. |
spreadsheets |
spreadsheets.currentonly |
The narrower scope exists and does not fit: the add-on has to reconnect to your Water LLM sheet from the Gmail add-on, the Chat Assistant and the mobile hub — all of which run when that spreadsheet is not the document in front of you. |
What leaves your Google account
Permissions govern what the add-on can reach. This governs what it can send, which is the question most people actually mean. The add-on is only able to make outbound calls to the destinations declared in its manifest — there are six, and this is all of them.
| Destination | What goes there | Why |
|---|---|---|
aiplatform.googleapis.comGoogle Vertex AI (Gemini) |
The structured prompt for whichever AI feature you ran. Exactly what each feature sends. | Every AI feature. Runs under Google Cloud's enterprise terms for Vertex AI: nothing you send is used to train or improve a model. |
firestore.googleapis.comWater LLM's own database |
Your email address, to look up your subscription. Nothing else. The record it reads. | Checking you have an active subscription. |
oauth2.googleapis.comwww.googleapis.com |
Authentication tokens and ordinary Google API traffic. | Signing in to the two services above, and the Google APIs the add-on already has your permission for. |
api.frankfurter.appPublished exchange rates |
Nothing about you. It asks for a rate on a date — "what was EUR to USD on 3 March" — and gets a number back. | Multi-currency invoicing. |
www.loom.com |
Nothing about you. Checks that a tutorial video link is valid. | In-product help videos. |
Taking the permissions back
You granted these and you can withdraw them, in one place, without asking us.
- Go to myaccount.google.com/permissions, find Water LLM, and choose Remove Access.
- Every permission above stops working immediately. Not at the end of a billing period — immediately.
- Your spreadsheet keeps working. It is a Google Sheet in your Drive; without the add-on it is a very well-organised spreadsheet, and all your data is still in it.
- Revoking access does not delete the subscription record we hold, and does not cancel billing. Both are handled separately — see Full data deletion.
Last checked against the shipped manifest on 19 September 2026 — 20 scopes. Questions about any of them: support@waterllm.com. See also Security, Data & Privacy and the licence agreement.