Oktapod Docs

Privacy and your data

Where your data lives, what leaves your machine and when, and how long Oktapod keeps things.

Oktapod runs on a computer you control and keeps its data there. This page lists what stays local, what leaves your machine, and when.

What stays on your machine

Everything Oktapod stores is in its data folder on the computer that runs it (~/.oktapod by default on macOS and Linux): conversations, memory, schedules, approvals, run records, uploaded files, and credentials. Credentials are kept in owner-only files and are never shown back in chat.

Importing an existing OpenAI or Claude CLI OAuth sign-in uses the same protected token files. The profile database keeps references and fingerprints instead of the access and refresh token values. A later import replaces the current files without copying those values into the profile row.

What leaves, and to whom

DataGoes toWhen
Your messages, relevant memory, and filesThe AI provider you connectedWhenever the model is used
Requests to your appsThat app, such as Google or MicrosoftWhen Oktapod reads or acts in it
Web searchesThe search service in useWhen Oktapod searches the web
Media to understand or generateThe media or speech service you connectedWhen you use that feature
Web dictation and live meeting speechYour browser's speech recognition serviceWhile you dictate or a meeting is live
A check for new releasesOktapod's release server, or GitHub on source installsOn the update schedule, and when you ask
Phone notificationsApple or Google push services, including reply previewsWhen a notification is sent
Sign-in codes and token refreshesOktapod's hosted sign-in serviceOnly if you choose hosted sign-in
An anonymous installation countOktapodOnly if you opt in

With a local model, model requests stay on hardware you control.

Phone dictation asks for microphone access and uses the phone's speech service to fill a draft. iOS also asks for speech recognition permission and uses on-device recognition when the language supports it. Android prefers offline recognition; either platform may use its speech provider's online service. The draft goes to your agent only when you press Send.

In the web app, dictation and live meeting transcripts use your browser's speech recognition, and some browsers send the audio to their own speech service to turn it into text. Oktapod stores the meeting text, not the audio.

No telemetry by default

An installed Oktapod sends no metrics, traces, logs, errors, prompts, or activity to its developer. Outside monitoring stays off unless you set OKTAPOD_OBSERVABILITY_ENABLED=true and also give it a collector or error-tracking address that you chose. Monitoring variables inherited from your environment cannot turn it on by themselves. The optional local /metrics endpoint only answers on this machine and uploads nothing.

If support ever asks you to enable monitoring for debugging, it should be for an agreed session, sent to a destination you approve, and switched off afterwards.

Installation counts (opt-in)

To help count how many installations are in use, you can opt in. It is off by default. When on, Oktapod sends at most once a day: a random installation ID, the kind of client, platform, version, and the day. No messages, addresses, accounts, or hardware IDs are sent. Turning it off stops check-ins and asks for the previous ID to be deleted.

  • Android app: Count this installation under Privacy and diagnostics, when the build offers it.
  • Oktapod on a computer: set OKTAPOD_USAGE_COUNTS=1 in the service's environment.

Hosted sign-in

If you use Oktapod-hosted sign-in for Google or Microsoft, the hosted service holds the app credentials those providers require. It exchanges the sign-in code for tokens, encrypts them so only your installation can read them, and holds only that encrypted copy for a few minutes until your Oktapod collects it. Your Oktapod keeps the tokens locally. Token refreshes also go through the hosted service. It sees the tokens only while handling one exchange or refresh, and never stores them readable.

Signing in with your own OAuth app keeps both the exchange and token refreshes on your machine. See Connect your apps.

Phone notifications

Push notifications go through Apple or Google. Reply alerts include a bounded preview of your agent's message and an event ID. A gateway without its own push credentials sends the preview through the Oktapod push service, which processes it for delivery without storing or logging its text. Full conversations, agent addresses, and access keys stay out of notification payloads. Your phone's settings control whether previews appear on its lock screen.

How long things are kept

Oktapod cleans up after itself on a daily schedule. Memory follows its retention class, from 7 days for short-lived context to a year for lasting facts; see Memory and personality. Records such as activity logs and delivery receipts are removed after fixed periods, and ordinary uploads are cleaned up over time. Things you saved on purpose, such as manual knowledge and active goals, are kept until you remove them.

Deleting or revoking something in Oktapod removes it and everything derived from it, such as search entries and passages. It does not delete the original in the source app, and it cannot recall something already sent.

Backups

oktapod backup writes an archive of your settings and data, and update backups are kept automatically. Backups contain the same private data as Oktapod itself, so store them accordingly. See Backups and operations.

The Android app excludes its local data from cloud backup and phone-to-phone transfer. Saved access and drafts stay on the original phone. Connect a new phone to your agent to read the conversations kept there. The app applies Android's explicit backup and transfer rules because disabling backup alone does not prevent transfer on every phone.