Privacy policy
Jarvis — Google and YouTube integration. Last updated 27 August 2026.
Scope of this policy
Jarvis is a personal, single-user assistant that runs on my own Mac. This policy covers one thing: its Google and YouTube integration, and the Google user data that integration handles.
I am the only user. There is no service, no server, no account system, and no other person whose data could be involved. Where this policy says "my", it means David Nealon, the author and sole user.
What Google user data is accessed
With my authorisation, Jarvis reads metadata about my own YouTube channel through the YouTube Data API v3:
- Channel — id, title, creation date, uploads playlist id, video count.
- Videos — id, title, description (stored up to 2,000 characters, with any truncation recorded), publication date, duration, privacy status, category, live-broadcast status, and up to 20 tags.
- Playlists — id, title, and the ordered list of video ids each contains. A playlist may reference videos I do not own; their ids are recorded as playlist context and no record is created for the videos themselves.
No video files, audio, thumbnails, captions, transcripts, comments or analytics are read or downloaded. There is no code path capable of requesting them.
Scopes requested
Exactly one, and it is read-only:
https://www.googleapis.com/auth/youtube.readonly
Jarvis cannot upload, modify, rate, comment on or delete anything on YouTube. The access it holds does not permit those operations.
Why this data is used
So that Jarvis can recognise which of my published videos correspond to which of my own music recordings held on my machine. At present the metadata is recorded and can be listed back; the step that links a video to a recording is not yet enabled, so nothing is currently derived or inferred from it.
Where it is stored
On my Mac, in an append-only local log, as plaintext JSON files readable only by my own macOS user account. The application does not itself encrypt these files. The disk they sit on is protected by macOS FileVault full-disk encryption.
A separate encrypted local database holds an index of these records — identifiers, timestamps and a content hash — but not their contents.
Retention and deletion
Records are appended to a local evidence log and are not automatically deleted or expired. Removing them means deleting that log, which I can do at any time as its sole owner.
Does this data leave my machine?
Not to anyone else. No third party receives it, and none of it is sent to any hosted or external model or service. Requests made to Google carry only the credentials and query parameters needed to read my own channel; the component that talks to Google has no access to any other data held by Jarvis.
It leaves my Mac in exactly one circumstance: when I manually run Jarvis's backup command, the whole local log — this metadata included — is copied into an encrypted backup repository on storage I own. That backup is not automatic, is not scheduled, and is not shared with anyone.
Sharing with third parties
None. Google is the source of this data. No other party receives it, and it is never sold, transferred, published, or used for advertising.
OAuth credentials and tokens
Two items are stored in my Mac's login Keychain: the OAuth client downloaded from the Google Cloud console, and the refresh token my consent produced. Both are marked device-only and never synchronise to iCloud or any other device.
Access tokens are not stored. One is created from the refresh token at the start of each run and is discarded when the process exits. No credential value is written to any log, printed, or included in any file this project produces.
Revoking access
Access can be revoked at any time at
myaccount.google.com/permissions, which immediately invalidates the stored token and ends
all access. The local Keychain items can be removed separately using the macOS
security command.
Revoking access does not delete metadata already recorded locally; that is covered by Retention and deletion above.
Google API Services User Data Policy
Jarvis's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Changes to this policy
If the integration's behaviour changes, this policy will be updated to match before the change is used, and the date at the top will be revised.