Where your work lives, and when it connects
A local terminal does not need a Raven account. Connected features and the programs you run can send data elsewhere. This guide describes the app, daemon, CLI, and optional Linux login server.
Local terminals and search
Terminal output, restored sessions, work records, and search indexes live in the local Raven profile. Packaged search uses an on-device embedding model. Protect the profile and its backups: scrollback may contain secrets printed by commands.
Website analytics has a separate policy. The website’s analytics policy does not describe account, model, remote-terminal, or other product traffic.
Agents and model assistance
Agent prompts, selected files, tool results, and context used for naming, summaries, or attention decisions reach the selected model provider. Starting an agent or enabling a model-assisted feature permits its requests. Review assistance settings and excluded repositories for the context you want to make available.
Signed-in users use Raven’s key gateway by default unless Bring your own keys is enabled. Gateway requests pass through Raven’s service. External coding agents and tools also have their own provider and retention settings.
Accounts, Teams, and remote terminals
Account and device identity, team membership, and synchronized work records reach the configured Raven API and sync hub. Sign-out stops account use; it does not delete records already synchronized to a service or another device.
Remote input and output cross the authenticated connection you select. A configured relay carries the encrypted connection; peers receive the terminal data their permissions allow. Signed-in account remote access can start at boot. Set [remote] account = false to disable that path, and inspect remote status and any separately configured listeners or relay.
Speech, updates, and integrations
The default Apple speech engine is on-device where available. Deepgram transcription sends encoded audio to api.deepgram.com. Deepgram runs when selected, or as a fallback when Apple’s engine is unavailable and a Deepgram key is configured.
Update checks and artifact downloads contact Raven’s distribution endpoints. Servers handling those requests can see ordinary HTTP metadata, including the source IP. Linux package managers contact the repositories configured by the administrator.
Sending feedback submits the report and diagnostics you include. The composer lets you review and edit added diagnostics before sending. GitHub requests and external commands reach the services configured for those tools, under their own storage and retention policies.
JavaScript automation
Installed init.js actions run with the daemon owner’s access. Standalone scripts execute on the invoking machine; raven.call targets the selected daemon. raven.exec can run programs that use the network. Configuration loading forbids effects; invoking an action or script allows its effects. Only install scripts you trust. There is no separate automation analytics upload.
Linux login and Tailscale
For password login, the server’s PAM stack receives the username and password. Passwords are not written to Raven’s remote store or broker logs; OS and PAM modules may keep their normal authentication audit logs. Short-lived bearer sessions stay in broker memory, and the client saves its bearer in the private remote store. Logout revokes it and closes active streams; restarting the broker invalidates all sessions.
When an administrator enables embedded Tailscale, its control and relay services receive the metadata needed to operate the tailnet. See Tailscale’s privacy policy. Administrators control access, logs, retention, and backups on self-hosted servers.
Destinations and deletion
The hosted API defaults to api.raven.thousandbirds.ai; explicit endpoint overrides change the destination. Deleting a local profile does not delete remote copies, provider records, feedback, or backups. For questions about a feature’s data, contact feedback@thousandbirds.ai.