Chief Privacy Policy
Chief is a private, single-user app. Chief is a personal AI assistant that James Coggan built and runs for himself. It is not offered to the public, nobody else can sign up, and the only Google account connected to it is James's own. This policy explains, as precisely as possible, what Chief does with data from Google APIs and with other personal data, so that anyone reviewing it, including Google, can see exactly what happens.
Controller: James Coggan, Seville, Spain. James is both the controller and the only user of Chief.
Contact: [email protected]
1. Google data Chief accesses
Chief connects to one Google account, James's, through Google OAuth. It requests three permissions.
Gmail (gmail.modify)
Chief uses this permission for three things only:
- Search. When James asks, Chief searches his mail. For each matching thread it reads the subject, the From, To and Cc headers, the dates and Gmail's short preview snippet. It does not download full message bodies or attachments.
- Labels. Chief can add a label to a thread, using only labels from a fixed list James chose. It never removes labels, and never archives, trashes or deletes mail.
- Drafts. Chief can create a draft for James, or update one. Replacing an existing draft always needs James's explicit confirmation.
Chief never sends email. It has no send function. James reviews every draft in Gmail and sends it himself. When James connects his account, Chief also reads, once, his email address (to confirm the right account was chosen) and the names of his Gmail labels (to find the ones he chose).
Google Calendar (calendar.events, calendar.calendarlist.readonly)
- For the assistant, Chief reads events from calendars James chose, and uses each event's title, location, start and end time and status.
- For James's private dashboard, a calendar view on his own device, Chief reads every calendar in his calendar list, including calendars that others share with him. It uses each event's title (or only its time, for calendars shared as free/busy), its times, and whether James declined it, which Google reports through the event's guest list. Dashboard data is handled by plain code: it never reaches the AI model, Chief's memory or its database.
- Changes. Chief can create events, but only on calendars James owns and has allowed. It never invites anyone and never sends invitations. It never edits existing events. It can delete only an event that Chief itself created, as an "undo", and only with James's explicit confirmation.
Emails from other people, and calendars they share with James, contain their personal data. Chief processes that data only to serve James, as described here.
2. How Chief uses Google data
Chief uses Google data only to provide features James asks for:
- answering his questions about his mail and schedule;
- preparing email drafts, applying labels and adding calendar events for him;
- showing his week on his private calendar dashboard;
- carrying out tasks he asks for that need details from his mail or calendar (see section 3).
Chief changes Google data only while carrying out something James asked for. Depending on his settings, it either asks him to confirm first, or makes the change and immediately reports it to him in Telegram, with an Undo button where the change can be undone.
Protection against malicious email
Chief treats email text as data, never as instructions. Its access is limited by design: it cannot send, delete or archive mail; it cannot edit or delete existing events or invite anyone; it can label only with James's chosen labels; and it can write only to calendars he owns and allowed. The AI model never holds Google credentials. Every call to Google is made by fixed code that enforces these limits.
Limited Use
Chief's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Chief does not use Google data for advertising, does not sell it, does not use it to build profiles, and does not use it for any purpose unrelated to the features above.
No AI training
Chief does not use Google Workspace API data, or anything derived from it, to develop, improve or train generalised AI or machine-learning models, and does not transfer it to anyone for that purpose. The AI services that process it for Chief's features (section 3) do so under account settings or API terms that do not allow them to train their models on it: model-training is turned off on James's Anthropic and xAI accounts, and OpenAI, Google Gemini and TypeSafe are used through their paid APIs.
3. Who receives Google data
Google data is shared only with services that perform Chief's features, and only for that purpose:
- Anthropic (Claude), USA. Chief's reasoning runs on Anthropic's Claude models. When James asks about his mail or calendar, the search results described in section 1 are sent to Claude so it can answer. Claude also receives earlier conversation that may quote them, when it continues the conversation or extracts notes from it.
- TypeSafe, USA. To measure how often email contains instructions aimed at an AI, Chief sends the subject and preview snippet of Gmail search results to TypeSafe's classifier. Sender and recipient headers are not sent, and email addresses and phone numbers in the text are replaced with placeholders. Names in the text may remain. The result is only recorded and does not change what Chief does.
- Telegram. James talks to Chief in a private Telegram chat. Chief's replies, and the confirmation messages it shows him (which can include a draft's recipients, subject and opening text, or an event's details), are delivered and stored by Telegram as part of that chat.
- xAI (Grok), USA. James can ask Chief questions by voice from Grok, for example in his car. Chief's answer, which may mention his mail or schedule, is returned to his own Grok conversation.
- Cloudflare, USA. Chief's public connection point,
edge.jamescoggan.com, sits behind Cloudflare, which can see Grok questions and answers as they pass through. Dashboard pages and James's voice-app traffic are encrypted end to end, so Cloudflare and Chief's own relay see only encrypted data; the relay keeps dashboard pages for at most 48 hours. The dashboard app is hosted on Cloudflare Pages behind a Cloudflare Access login that only James can use. - Hetzner, Germany. Hetzner hosts Chief's server and its server images.
Tasks James asks for. When James asks Chief to act for him, the text Chief writes for that task can include details from his email or calendar. That text goes to the service that carries out the task:
- a WhatsApp message he asked for, delivered by WhatsApp (Meta) to its recipient;
- a task in his Linear account (USA);
- a job for Chief's coding and browsing agent: Claude Code (Anthropic), running on a computer of James's. It may use TypeSafe and Google Gemini to operate a web browser, and may open pull requests on GitHub (USA);
- a phone call Chief places for him, carried by Twilio (USA), voiced by xAI or OpenAI (USA), and heard by the person called. If the call needs to check James's availability, the calendar lookup returns only "free" or "busy" for the proposed time, never event titles or details.
Chief does not send Google data to these services for any other purpose.
People. No person other than James reads Chief's data, apart from provider staff where a provider's own terms allow it (for example, for abuse or security review), and disclosures required by law.
4. Storage and security
- Where. Chief runs on a single server in Germany, rented from Hetzner, in Docker containers with a PostgreSQL database. Chief's main service has no public address. The server's public ports serve only Chief's encrypted relay and the phone-call bridge.
- What is kept. Chief does not keep a copy of James's mailbox or calendars, and search results are not saved in its database. What Chief keeps is:
- its conversation with James, including replies and spoken answers (to Grok and his voice app) that may quote email or calendar details;
- notes it extracts from that conversation;
- a record of each action it took or proposed (for example a draft's recipients, subject and body, or an event's title and time) and the result;
- for phone calls, the call's instructions, outcome and transcript.
- Tokens. When James connects his account, his Google refresh token is passed to the server once as a protected secret file. That file is removed after the token has been imported and encrypted with AES-256-GCM. The encryption key is a separate secret file, not stored in the database. It is on the same server, so anyone with full access to the server or its backups could decrypt the token. Short-lived access tokens are held only in memory. Tokens are never logged and never given to the AI model.
- Access. Only James has administrative access to the server, by SSH key. Hetzner, as the hosting provider, can technically access the server's disk and its images. James sometimes administers the server with an AI coding assistant under his supervision; its operational checks print counts, not message content.
5. Retention and deletion
- Conversation records, notes and action records are kept until they are deleted. Any of them, including any record of another person's data, will be deleted within 30 days of a request to [email protected].
- Phone call transcripts are erased automatically 90 days after the call.
- Dashboard pages expire from the relay within 48 hours.
- Backups. Hetzner server images and James's own backups contain the same data. Data deleted on request is also removed from them within the same 30 days.
Data held by Telegram, Anthropic, xAI, OpenAI, TypeSafe, Google (Gemini), Linear, GitHub, WhatsApp and Twilio follows those providers' own retention terms.
6. Revoking access
James can revoke Chief's access to Google at any time at myaccount.google.com/permissions. After revocation, Chief can no longer read or change any Google data, and the stored token stops working. Chief reports that the connection has failed. Records it already holds are deleted on request, as described in section 5.
7. International transfers
Chief's server is in the EU (Germany). The providers listed in section 3 that are based in the United States, and Telegram, may process data outside the EU. These transfers rely on the safeguards each provider offers in its terms, such as the EU–US Data Privacy Framework or the European Commission's Standard Contractual Clauses.
8. Your rights (GDPR)
Chief processes James's own data because he chose to run it as his assistant. Other people's names, addresses and messages come from James's Gmail and Google Calendar. Chief processes them on the basis of James's legitimate interest in managing his own correspondence and schedule (Art. 6(1)(f) GDPR), and uses them for nothing else. Chief makes no automated decisions about other people.
If your data is in James's mail or calendars, you have these rights:
- access to your data;
- rectification;
- erasure;
- restriction;
- objection;
- data portability.
To use any of these rights, write to [email protected]. You will get an answer within one month. You can also complain to the Spanish data protection authority, the Agencia Española de Protección de Datos (AEPD), at www.aepd.es.
9. Changes
If this policy changes, the new version will be posted at jamescoggan.com/privacy with a new "Last updated" date.