Docs/Getting Started

Licensing, Devices, and Telemetry

Free, PRO, and Streams

Data Explorer, the SQL Console, and connection management need no account. An account is needed for your first AI question over a live database, for PRO features, and to run streams.

WhereFreePRO
Desktop and web app
  • Connections, tabs, table editing
  • SQL
  • Local files and S3
  • Diagram view
  • History
  • Export of the visible grid page in every format
  • Federated queries over up to 2 sources
  • 5 AI questions a day over live databases
  • Federated queries over more than 2 sources
  • Diagram export to PNG and SVG
  • Unlimited AI questions
Online viewers, VS Code and Chrome extensions
  • Viewing
  • SQL
  • Result export
  • Diagram view
  • Diagram export to PNG and SVG
  • Every connection in a federated query counts as a source, including files and S3.
  • AI questions in a chat about files or S3 are not counted. The count resets at midnight UTC and is shared by all your installs.
  • A Load pass or a CDC subscription includes PRO while it is active.

PRO

PRO costs $9 per month or $89 per year. Buy it on the Pricing page and manage it on the Account page.

  • One PRO licence covers 3 devices (desktop or server installs). The online viewers and the editor extensions do not use a device.

Use PRO in the desktop app

  • The app already has your API key — switch back to the app after buying PRO. It re-reads your account when its window gets focus, and PRO features unlock without a restart.
  • The app has no API key yet — open Account in the left sidebar, choose Enter API key under Connect your account, and paste the key from the Account page.

Use PRO in the VS Code or Chrome extension

  1. Copy your API key from the Account page (Copy API Key).
  2. In the extension, click PNG or SVG in the diagram:
    • VS Code — choose Enter API key and paste it. The command Set DBConvert API key does the same from the Command Palette.
    • Chrome — paste the key into the prompt. Leave it empty to remove a stored key.

Export unlocks once the extension has read your account. The online viewers on this site use your sign-in instead of a key.

Running streams

Running a stream needs an account. What a run produces depends on what the account holds when the run starts:

LoadCDC
No purchaseEvery row is copied; text fields outside table keys and relationships are marked after the first 50 rows per table7-day trial on up to 3 tables, one stream at a time
Load pass — $149 onceClean, unlimited runs for 30 daysAs without a purchase
CDC — $99 per pipeline per month, or $990 per yearAs without a purchaseOne CDC stream running at a time per pipeline

Buy both on the Pricing page.

Load pass

  • A Load run started while the pass is active finishes clean, even after the pass ends.
  • Buying another pass while one is active adds 30 days to its end date.
  • The Account page shows when the pass ends. It is a one-time payment and nothing renews.

CDC pipelines

  • A pipeline is one CDC stream running at a time, counted across all your devices. Two pipelines let two CDC streams run at once, on the same or different machines.
  • Stopping a stream frees its pipeline at once. A device that stops reporting for 15 minutes no longer holds one.
  • Change the number of pipelines in the billing portal from the Account page. After you cancel, running CDC streams keep going until the end of the paid period.

CDC trial

  • The 7 days start at your first CDC stream, not at registration. The trial is once per account.
  • A start with more than 3 tables is refused with the table count. An empty table list replicates every table in the source, and those tables count.
  • The app warns at 70%, 90% and 100% of the trial. At the end, the running stream stops.

Devices

An account runs on up to 3 devices (desktop or server installs). Each PRO licence covers 3 devices. The online viewers and the editor extensions do not use a device.

How Device Binding Works

  • Each device is identified by a stable X-Install-ID header sent with API requests.
  • When a new device first uses a valid API key, it is bound to your account if the device limit allows.
  • A device over the limit is refused until you deactivate another one.
  • Deactivated devices are rejected for stream operations until reactivated.

Managing Devices

Device management is available from the Devices section of the Account page. From there you can:

  • See how many devices are in use out of your limit (e.g. "1 / 3")
  • View each bound device with its label, status, and last-seen timestamp
  • Rename a device for easier identification
  • Deactivate a device to free up its place
  • Reactivate a previously deactivated device (if the limit allows)

Required API Headers

All API-key-authenticated requests require two headers:

HeaderPurpose
X-API-KeyAccount authorization
X-Install-IDPer-device identity for the device limit

Telemetry

DBConvert Streams collects minimal, non-PII telemetry to improve the product and enforce licensing.

What Is Collected

FieldDescription
install_idRandom per-installation identifier (not personally identifiable)
event_typeinstall or runtime
deployment_typedocker, desktop, or server
versionStreams version
osOperating system (linux, darwin, windows)
archCPU architecture (amd64, arm64)
distroLinux distribution and version when available

When Events Are Sent

  • Install event — sent once during installation. No user identity is attached (anonymous).
  • Runtime event — sent on first authenticated API usage. Links the install ID to your account for the device limit.

Install ID

The install ID is generated automatically on first launch. Both the API key and install ID are visible on the Account page in the app.

For Docker deployments, the install ID is set via the STREAMS_INSTALL_ID environment variable.

Stream run diagnostics

Separately from the install and runtime events above, each stream run reports its outcome so that CDC pipelines can be counted and failures can be diagnosed.

FieldDescription
StatusFINISHED, FAILED, STOPPED, or a limit-reached status
Data volumeBytes transferred during the run
RuntimeActive runtime in seconds
Source and target typesEngine kind on each side (for example mysql, postgresql), not connection details
Stream modeload or cdc
Failure messageThe error text returned by the engine when a run fails

What the failure message contains

When a run fails, the error your database or the engine returned is sent as-is, apart from the redaction below. It names the stage and object that failed — for example Error 1406 (22001): Data too long for column 'first_name' at row 1.

That means table and column names can appear in a failure message, because they are part of the error text. Row values, query results, and table contents are not sent.

Before a failure message leaves your installation it is stripped of URLs, key=value pairs that look like credentials, email addresses, and any quoted text that is not an object name, then truncated to 500 characters. A rejected row is removed while the object it was rejected by is kept: Duplicate entry 'acme-2026' for key 'orders.PRIMARY' is sent as Duplicate entry [value] for key 'orders.PRIMARY'.

What is never collected

Your table contents, query results, connection strings, and credentials are never sent. Streams reads them only to move your data between the source and target you configured.

Reporting a failed run

A failed run has a Report to Support button. It is the only way your schema reaches us, and it never runs on its own.

Pressing it opens a dialog containing the exact text that would be sent, so you can read it before deciding. That text holds the failure message, the engines on each side, how far each table got, and the CREATE TABLE definitions of the tables the run was copying. It holds no table contents and no credentials.

Nothing is stored when you send it: the report is emailed to support, answered by a person, and lives only in that mailbox.