Trust

Privacy Policy

How dvt collects, uses, shares, and retains personal data — written the way we write everything else: precisely, and without claiming more than we can stand behind.

Last updated: July 25, 2026

The short version

  • dvt pushes queries down to your warehouse and returns only the rows needed to render a chart, discarded from memory after rendering. The one exception for warehouse-sourced data is opt-in catalog structure — names, types, and comments, never data rows or values (see below).
  • We store dashboard specs, account metadata, and encrypted warehouse connection settings — and we tell you exactly what else touches our systems, and for how long.
  • We don't sell personal data, and we don't feed your data to a model provider.
  • Questions, access requests, or a DPA? Email [email protected].

1. Who this policy covers

This policy explains how data viz tool ("dvt", "we", "us") handles personal data across the dvt.dev website, the dvt application and API (app.dvt.dev), and the dvt MCP endpoint (mcp.dvt.dev). It covers visitors to our site, people who request early access, and users of the product. It does not change the terms of any separate agreement you have with us.

2. Information we collect

Information you provide

  • Account & identity. When you sign in, our authentication provider (WorkOS) processes your name, email address, and organization and membership metadata.
  • Early-access requests. If you use a "handraise" form on dvt.dev, we collect the email address and company name you enter, and use them only to reach out to you about dvt.
  • Content you author. Dashboard specs — the JSON definition of your charts and layout — and related settings you create in the product.
  • Warehouse connection settings. The configuration needed to connect to your warehouse. Credentials are envelope-encrypted; our database stores only ciphertext.
  • Trial uploads. If you upload a CSV during a trial, we store it as encrypted, organization-scoped Parquet so your trial dashboards keep working. This exists only during a trial — not on paid plans.
  • Support & correspondence. Messages you send us, including any details you choose to include.

Information collected automatically

  • Usage & audit records. Sensitive actions — including every credential decryption — are recorded to an append-only audit log with the actor, action, and resource.
  • Diagnostic data. Error and performance events (via Sentry) and application logs (via Axiom), which may include user or organization identifiers and request context.
  • Website analytics. We use privacy-respecting, cookieless analytics to understand aggregate traffic on dvt.dev. We do not build advertising profiles.
  • Warehouse catalog structure (opt-in). If an org admin turns on catalog sync for a connection — off by default, per connection — we automatically read and store names/types/comments only, never data rows or values: the object and column names, kinds, data types, nullability, and comments in your warehouse's own catalog, plus a column ordering dvt assigns itself (not read from the warehouse). A warehouse column comment is free text your team wrote, so it's stored verbatim. Turning catalog sync back off for that connection deletes its synced structure immediately.

3. What we do not collect

Your warehouse's data rows or values. A dashboard is a spec; to render it, dvt compiles SQL and sends it to your warehouse, where the query runs on your compute. Only the result rows needed to draw a chart come back — they pass through our systems in memory for that request and are then discarded, never persisted to our database. This holds even for a connection with catalog sync enabled: as described above, catalog sync stores names/types/comments only, never data rows or values. A data export (CSV or XLSX) is streamed to you on request and audited, but never stored by dvt. We also never store warehouse credentials in plaintext.

4. How we use information

  • To provide, operate, secure, and improve the dvt product and website.
  • To authenticate you, enforce role-based access, and maintain audit trails.
  • To communicate with you about your account, support requests, and early access.
  • To detect, investigate, and prevent security incidents and abuse.
  • To comply with legal obligations.

We do not sell personal data, and we do not use your content to train models.

5. How we share information

We share personal data only with the third-party subprocessors that help us operate the product — currently WorkOS, Neon, Fly.io, Cloudflare, Resend, Sentry, and Axiom. Each one, what it processes, and where it operates is listed on our subprocessors page, kept current as our infrastructure evolves. Because queries run in your warehouse, none of these services receive your warehouse's data rows or values. The one exception is Neon: per §2 above, an org admin can opt a connection into catalog sync, which stores warehouse catalog structure — names, types, and comments, never data rows or values. We may also disclose data when required by law, or to protect the rights, safety, and security of dvt, our users, or the public. If dvt is involved in a merger or acquisition, we will honor the commitments in this policy.

6. Data retention

  • Personal data. When a user or organization leaves, a daily job scrubs personal details — email, name, avatar — within 90 days, keeping only de-identified records so historical usage stays intact.
  • Image exports (PNG/PDF). Stored encrypted and automatically deleted within 30 days.
  • Trial CSV uploads. Deleted by an automated retention job after your trial ends.
  • Warehouse catalog structure. Deleted immediately when catalog sync is turned off for a connection, or when the connection itself is deleted — not held on any separate retention schedule.
  • Dashboard specs & account metadata. Retained while your account is active and as needed for the purposes above.

7. Security

All connections use TLS 1.2 or higher. Our database provider encrypts metadata at rest with AES-256, and warehouse credentials get a second layer we control (envelope encryption) — the root key that unwraps them lives only in the query engine, never in the API tier or the database. Every record is scoped to an organization and checked on every read and write. Full detail — access controls, tenant isolation, and our continuous security testing program — is on our security overview.

8. AI authoring and your data

dvt is AI-native: humans and AI agents author the same dashboard spec over the same scoped, audited API and MCP surface. The AI is your agent, not ours — dvt does not send your data to a model provider, and there is no dvt-operated model that ingests your prompts or warehouse data. An agent connects with API keys scoped to the minimum a workload needs and cannot exceed the capabilities of the user who authorized it, and its actions are recorded in the audit log as agent activity.

9. Your rights and choices

Depending on where you live, you may have the right to access, correct, delete, or export your personal data, or to object to or restrict certain processing. Within the product, role-based controls let admins manage members and access directly. To exercise any right, or to request a DPA, email [email protected] and we'll respond. We won't discriminate against you for exercising these rights.

10. International data transfers

dvt and its subprocessors are primarily hosted in the United States (Cloudflare operates a global edge). If you access dvt from outside the U.S., your data may be processed there. We rely on appropriate safeguards for such transfers where required by law.

11. Children's privacy

dvt is a business tool and is not directed to children. We do not knowingly collect personal data from anyone under 16. If you believe a child has provided us data, email [email protected] and we'll delete it.

12. Changes to this policy

We may update this policy as the product and our practices evolve. We'll revise the "last updated" date above, and for material changes we'll provide a more prominent notice.

July 25, 2026: added warehouse catalog structure as an opt-in collected data category (§2), and sharpened the "raw data" language throughout this policy to be explicit about data rows and values, so it can't be read as also covering warehouse object or column names.

13. Contact

Questions about this policy or how we handle your data? Email [email protected]. Our machine-readable security policy is published at /.well-known/security.txt.