Privacy Policy
Last updated: 11 September 2026
jai is a personal AI assistant by Timur Kramár. It runs in the browser at jai.joul.app and on a dedicated virtual machine (a Sprite) that belongs to you. The Gmail CLI gog on that Sprite is what talks to Google after you connect an account.
Google access
Connecting Google is optional. When you do, jai sends you through Google OAuth so gog can act as you. The app currently requests:
gmail.readonly— search and read messages so the assistant can find and summarize emailgmail.send— send and reply to email when you askgmail.modify— archive, mark read/unread, trash, and apply labelscalendarandcalendar.events— list, create, update, and delete calendar eventsopenid,email,profile— identify which Google account you connected
jai does not request Google Drive, Contacts, or other Google APIs.
Where tokens live
Google redirects to jai’s web app (hosted on Vercel) with an authorization code. The server exchanges that code for tokens, then writes them onto your Sprite with gog auth tokens import. Tokens are not saved in a jai database.
On your Sprite:
- OAuth client credentials and gog’s encrypted file keyring live under
/home/sprite/.config/gogcli/(Linux user config dir; keyring files are in thekeyring/subdirectory) - Connected account emails (not the tokens) are listed in
/data/jai/config.json
Gmail and Calendar API calls then run from your Sprite via gog, not from a shared jai backend that stores your mailbox.
What we do not do
jai does not sell your Gmail or Calendar data. Message contents are not stored on the web app’s servers. The web app uses Clerk for sign-in (your jai account, not your mailbox) and Fly.io Sprites for the per-user VM.
If you ask the assistant to read or summarize email, those message contents may be sent to the LLM provider whose API key you configured (for example Anthropic), as part of that request. That is under your control.
Revoking access
- In jai, open Integrations and disconnect the Google account. That runs
gog auth removeon your Sprite and drops the email fromconfig.json. - In Google Account → Third-party access, revoke jai.
Deleting local Sprite files or the Sprite itself also removes the stored credentials on that VM.
Contact
Questions: timurjan.kramar123@gmail.com