Privacy
DevTrack is local-first. Git observation, the pending-actions queue, work history, and MCP context remain on the developer's machine by default. Ollama is the default inference provider.
The short version
- No DevTrack account is required for local use.
- Telemetry is off by default and sends nothing until explicitly enabled.
- Every PM, email, or Git action is staged in
pending_actionsbefore execution. - Cloud AI, remote-server sync, PM APIs, email, and chat integrations are optional and require configuration or consent.
- Learning and training data stay local unless the user explicitly opts into a remote source or server.
- The bundled MCP server reads the SQLite database selected during installation and does not contact the optional Python server.
DevTrack is software you run. This page describes the current implementation; it does not claim that configured third-party services have the same privacy policy.
Local storage
The Go client keeps its offline source of truth in SQLite. On a standard managed installation, runtime files live below the XDG data home:
~/.local/share/devtrack/
├── data/
│ ├── db/devtrack.db
│ ├── learning/
│ ├── logs/
│ └── pids/
├── server/ # managed Python checkout and environment
├── devtrack.env # generated runtime configuration
└── workspaces.yaml
XDG_DATA_HOME and the generated environment file can change these paths. Use devtrack settings and devtrack status rather than assuming a path.
Client and server storage are different
- Go client: local SQLite for triggers, work sessions, pending actions, history, MCP context, and offline replay.
- Python server: PostgreSQL is required for server persistence and server-side events.
- Voice retrieval: ChromaDB is optional and lives with the configured Python server (local in managed mode, server-side in external mode).
- Teams learning source: MongoDB is optional and used only when that integration is enabled.
The Go client never connects directly to PostgreSQL.
Outbound data
Pending-actions boundary
Actions that write to a PM platform, email, or Git remote are staged locally first with an explicit confidence score. They can be approved, edited, rejected, or allowed to expire according to the configured trust policy. DevTrack does not add a direct-send fallback.
Optional connections
- GitHub, GitLab, Azure DevOps, and Jira: requests contain the identifiers and content needed for the configured operation.
- Email, Telegram, Slack, and Teams: messages leave the machine only when the corresponding integration and action are enabled.
- External Python server: client-event synchronization is off by default and requires
SERVER_EVENT_SYNC_ENABLED=true. - Telemetry: off by default. Check with
devtrack telemetry status; enable or disable it locally withdevtrack telemetry on|off.
Credentials stay in the registered environment/configuration files and are never meant to be committed to source control.
AI processing
Local default
Ollama is the primary provider. When it is available, prompts and generated text are processed by the configured model at OLLAMA_HOST.
Optional cloud providers
OpenAI, Anthropic, and Groq are optional. They are used only when configured and selected by the provider chain. Prompt text required for generation is sent to the selected provider; do not enable a cloud provider if that is incompatible with your project policy.
Setup may offer an already-present OpenAI or Anthropic credential as a temporary fast lane while a local model downloads. It requires explicit acceptance, and Ollama remains primary.
Learning data
Git voice seeding reads local commit history. Additional PM, Teams, or recording sources are opt-in. Local profiles and examples are used to guide generated text and can be reset with devtrack learning-reset.
Your control
devtrack telemetry status
devtrack telemetry off
devtrack learning-status
devtrack revoke-consent
devtrack learning-reset
devtrack queue list
devtrack queue reject <id>
devtrack uninstall --keep-data
Before deleting data, stop the daemon and back up the path reported by devtrack settings. Database schemas evolve; direct SQL deletion is not a supported privacy workflow.
To report a privacy or security issue, open a GitHub issue without including credentials, tokens, private code, or personal data.
Security
- Use least-privilege, expiring tokens for integrations.
- Keep environment files and the XDG data directory readable only by your user.
- Use TLS and a strong
DEVTRACK_API_KEYwhen the Python server is reachable over a network. - Use a strong PostgreSQL password and do not expose PostgreSQL publicly.
- Review pending actions before extending auto-approval timeouts.
- Keep DevTrack, Ollama, PostgreSQL, and the host OS updated.
If a credential may be compromised
- Run
devtrack stop. - Revoke the credential at its provider.
- Replace it in the registered DevTrack environment file.
- Review local logs and pending actions before restarting.
Last updated: September 3, 2026