Dunetrace is an open-source, self-hosted tool. This policy describes what data the Dunetrace SDK and backend services collect, how that data is stored, and the protections in place.
1. Self-hosted deployment — your infrastructure, your data
Dunetrace's open-source deployment runs entirely in your own PostgreSQL database, on your own infrastructure. There is no Dunetrace-hosted service holding your data in the open-source deployment, and the Dunetrace maintainers have no access to it.
Structural detection, the always-on first line of detection (29 detectors), makes zero third-party network calls and zero LLM calls. It runs entirely against event data already in your own database.
Several opt-in features do send content to a third party, always one you configure with your own API key, never to Dunetrace:
- Native root-cause analysis and semantic evaluation send the relevant run content (prompts, tool arguments/outputs, model completions) to the LLM provider you configure (OpenAI or Anthropic) via your own API key.
- GitHub PR automation sends the relevant source file content to your configured LLM provider to generate a fix diff, and to GitHub's API (via your own GitHub App installation or token) to open the pull request.
- External evaluation integrations (Langfuse, LangSmith, Braintrust) exchange data with whichever of those services you've explicitly connected, using credentials you provide.
All of the above are opt-in and disabled until you configure them. The core structural-detection path works with none of them enabled.
2. What data is stored
Because Dunetrace is self-hosted, all data is stored in your own PostgreSQL database. This includes, depending on which features you use: event payloads (tool calls, LLM exchanges, run metadata — raw content if you've instrumented your agent to pass it, since native root-cause analysis and custom detector content-conditions read it directly), detected failure signals and their evidence, run/issue/fix history, and — only if configured — encrypted credentials for connected integrations (Slack, Linear, GitHub App, external evaluation providers). Encrypted fields use Fernet symmetric encryption with a key you control (DUNETRACE_MASTER_KEY); the raw credential is never written to the database or logs.
3. What Dunetrace maintainers never see
In the open-source, self-hosted deployment, the Dunetrace maintainers have no access to: your agent's prompts, tool arguments or outputs, model completions, user queries, your API keys or connected-integration credentials, or any personally identifiable information from end users of your agent. None of it is transmitted anywhere outside your own infrastructure and the third-party services you explicitly configure (section 1).
4. Data retention
Because Dunetrace is self-hosted, data retention is under your control. The events table has an automatic retention window (default 90 days, configurable via EVENT_RETENTION_DAYS) that prunes old partitions on a daily schedule — this exists to bound storage growth, not for privacy reasons, and can be disabled or extended. You can delete rows from any table directly, or drop and recreate the database at any time. No data is sent to or retained by any third-party cloud service unless you've explicitly configured one of the integrations in section 1.
5. External services
Dunetrace makes external network calls only for features you've explicitly configured:
- LLM providers (OpenAI and/or Anthropic, via your own API key): native root-cause analysis, semantic evaluation, GitHub PR fix generation, and the custom-detector plain-English translator all call whichever provider you've configured.
- GitHub API (if you've installed the Dunetrace GitHub App or set a personal access token): to read repository content and open draft pull requests.
- Slack / Linear (if configured): alert delivery and issue creation.
- Generic webhook (if configured): signed with HMAC-SHA256.
- Langfuse / LangSmith / Braintrust (if you've connected one): pulling your own evaluation results from that provider's API using credentials you supply.
No telemetry, analytics, crash reporting, or usage data is sent to Dunetrace maintainers.
6. Website analytics
The Dunetrace marketing website (www.dunetrace.com) uses Google Analytics 4 (GA4) to collect anonymous usage statistics such as page views and referrers. This data is governed by Google's Privacy Policy. No personal data from your agents is ever sent to this site.
7. Open source
Dunetrace is open source under Apache 2.0. You can audit every line of code that handles your data at github.com/dunetrace/dunetrace.
8. Changes to this policy
Material changes will be announced via the GitHub repository. The effective date at the top of this page will be updated.
July 12, 2026: Rewrote sections 1–5 to reflect Dunetrace's current architecture. Earlier versions of this page described every event field as SHA-256 hashed before transmission and raw content as never stored — that was accurate at the time, but no longer matches the codebase: native root-cause analysis, semantic evaluation, and GitHub PR automation (all opt-in) now read and transmit raw run content to whichever LLM/GitHub credentials you configure. The core structural-detection path is unaffected and remains zero-LLM, zero-third-party-network-call.
9. Contact
Privacy questions: [email protected]