Privacy policy

Effective 2026-10-31

1. Who and what this covers

Homelab Karlsson is a private home lab run by Alexandre Karlsson ("the owner") for personal use. Its Google OAuth app, "Homelab Karlsson", connects the owner's own Google account to software running on the owner's own computers at home. It is not offered to the public: the owner is its only user, and nobody else's Google account is connected.

The owner's mailbox and calendar naturally contain information about other people (the senders, recipients and contents of messages, event organizers). That information is processed only as part of the owner's own mail and calendar, as described below.

2. Google data accessed

API and scopeWhat is read
Gmail API
https://www.googleapis.com/auth/gmail.readonly
Recent messages: sender name and address, subject, date, thread, label names, and the plain-text body (HTML and quoted replies removed, cut at 4,000 characters); the mailbox's label names.
Google Calendar API
https://www.googleapis.com/auth/calendar.readonly
Granted with the same consent, read only once the owner sets up a calendar source. Then: upcoming events: title, start and end, organizer address, status, visibility, location, and the description as plain text (cut at 1,000 characters).

Access is read-only. The app requests only the read-only scopes above, and the software has no code that sends, modifies, labels, moves or deletes mail or changes the calendar.

3. How OAuth tokens are stored

4. How mail is processed

5. AI processing

Local models. The assistant uses open-weight language models (Qwen3, run with llama.cpp) on two of the owner's own computers on the home network. Mail and calendar data reaches these models to: answer the owner's questions; write the daily report (for mail: the sender and subject of new messages, never the body); and, at night, extract facts about people and their relations from new mail into the owner's private memory database. Facts extracted this way stay unconfirmed until the owner reviews them. None of this leaves the home network.

External provider: Anthropic. The owner can use Anthropic's Claude (Claude Code) on the home server. When the owner does, Claude can read the cached mail through a read-only tool, and requests sent to Claude by the owner or on the owner's behalf may contain text taken from mail. What Claude reads or is sent goes to Anthropic and is processed under Anthropic's terms and privacy policy. This happens only when the owner uses it. No other AI provider receives Google data.

Google data is not used to develop, improve or train generalized AI or machine-learning models.

6. Where data goes

Google data is not sold, not used for advertising, not shared with data brokers and not transferred to anyone else, except where the law requires it. No person other than the owner reads it.

7. Limited Use

Homelab Karlsson's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

8. Retention

DataKept
Cached mail and calendar items90 days, then deleted automatically
Refresh token, client secretUntil the owner removes them or access is revoked
Access tokensIn memory, about one hour
Spoken reports (on the home server)14 days
Facts in the memory databaseUntil the owner removes them; removed facts are closed and kept as history in the same local database (daily local backups, the last 7 kept)
Messages posted to DiscordAs kept by Discord, until the owner deletes them

9. Revoking access and deleting data

10. Security

The home computers have no open ports on the internet. Outside access goes through an outbound Cloudflare tunnel; remote shell access needs Cloudflare Access and SSH keys, and the services that hold mail and credentials are not published through the tunnel. Each service runs as its own system user with only the permissions and network access it needs. Credentials are encrypted at rest and unlocked by the owner's passphrase.

11. Children

This is a personal system, not a service for children or for anyone else.

12. Changes

When this policy changes, the new version is published on this page with a new effective date.

13. Contact

Alexandre Karlsson · alexandre.karlsson@gmail.com