Skip to the content.

Home · Quick start · charter.yaml · Sources · Agent · CLI · MCP · About · FAQ

Does DataCharter collect any telemetry?

No. There is zero telemetry and no phone-home of any kind. The server binds to 127.0.0.1 by default, so it is reachable only from your machine unless you opt in with an explicit --host.

Can I use it fully offline?

Yes, with one caveat about first use. The application, engine, and UI run locally with no network calls. DuckDB fetches source extensions (for example, the community BigQuery and SQL Server extensions, or the Iceberg and Delta core extensions) from its extension repository the first time they are used, which needs network access once. After that, and for sources that use bundled extensions or local files, no connection is required. The optional agent needs network access only if you point it at a hosted endpoint; with --local it stays on your machine.

Where does my data go? Is anything sent to a model?

Query results stay local. The natural-language agent is optional. If you do not configure an endpoint or run --local, no data is sent anywhere. When the agent is on, PII columns — both those you declare under pii in charter.yaml and those DataCharter auto-detects — are masked (•••) before results reach the model; you can adjust this per source, table, or column with agent_access or the explorer’s left-panel toggles. With --local the model runs on your own machine; with a hosted endpoint or Claude Code, only the questions and those masked results are sent.

Which model should I use?

You have three paths:

There is no bundled or fine-tuned model. Grounding (schema introspection, contract scoping, execution-feedback retry) does the heavy lifting, so a capable general model is usually enough. See Agent modes for details.

Is it free? Can my company use it?

Yes. DataCharter is released under the Apache-2.0 license, which permits commercial use.

Do I need Docker, an account, or a database to run it?

No. DataCharter is one Python package that runs as a single process. Docker is used only in the project’s own integration tests, never required of users. There is no account and no application database; local state is a DuckDB file inside the workspace.

Is the engine read-only?

Yes. A statement allowlist is enforced in the engine, so queries cannot modify your sources. The only write path is local.* DDL, used for snapshots into the workspace’s encrypted local catalog.

How does it compare to other tools?

At a high level, and without disparaging any of them (they are good tools):

The short version: DataCharter’s angle is contract-governed, local-first exploration across many sources, where the agent is a bonus rather than the point.

Why “charter”?

Your charter.yaml is the contract that charters the workspace: it declares the sources, the tables, and the sensitive fields. Charter your data, then explore it.