Skip to content

Security

Network Egress

Every network destination DBCode can reach, in one table.

Don’t trust this page, check it. Run DBCode behind a proxy (mitmproxy, Charles, Burp, or your corporate TLS gateway) and compare. If you see a host that isn’t listed, or one that fires without the trigger described here, that’s a bug: security@dbcode.io.

These are the only hosts DBCode contacts that belong to us.

DomainTriggerPayloadRetention
dbcode.ioSign in, license activation and the periodic license refreshAccount identifier and machine key. No database contentAccount and license records kept while your account exists
dbcode.ioAn AI feature you invoke (see AI privacy)Database schema, your prompt, and for AI Data Grid and AI Data Explore the query results in viewNot stored. Processed and discarded
dbcode.ioSecure Sharing, when you share a resultCiphertext only, encrypted on your machine. We cannot decrypt itDeleted at the expiry you choose
dbcode.ioHistory Sync, when enabledCiphertext only, client-side encryptedIncrementals 1 month, snapshots 6 months
dbcode.io/ingestProduct telemetry, disabled by policy or VS Code telemetry settingsAnonymous install id, feature-usage events, redacted error reports. Never query text, connection details or dataAggregated usage retained; no per-user profile

Requests to dbcode.io terminate on Cloudflare Workers. AI requests continue to Cloudflare Workers AI on Cloudflare’s own infrastructure. Nothing else sits in that path, and no gateway can reroute a request to another model provider. See Subprocessors.

Some engines need a driver, native binary or CLI that we can’t bundle, either because we’re not licensed to redistribute it or because it’s platform-specific. DBCode downloads it the first time you use that engine and caches it. No information about your database is sent. These are plain file downloads.

Using thisDownloadsFrom
SQLiteSQLite binary, better_sqlite3.node, and the extensions you enable (sqlite-vec, sqlite-js, sqlean, mod_spatialite, sqlite-regex)github.com/dbcodeio/public
DuckDBDuckDB binarygithub.com, registry.npmjs.org
DuckDB engine extensionsCore or community extensions configured or required by a DuckDB-based connection. Automatic installs are blocked when dbcode.disableOnlineServices is enabledextensions.duckdb.org, community-extensions.duckdb.org
libSQLlibSQL binaryregistry.npmjs.org
LanceDBLanceDB binaryregistry.npmjs.org
Db2IBM Db2 node binary and ODBC CLIgithub.com/ibmdb
Teradatateradatasql, koffiregistry.npmjs.org
Damengdmdb, iconv-lite, safer-bufferregistry.npmjs.org
SAP HANASAP HANA clientregistry.npmjs.org
Any JDBC engineJava bridge native bindingregistry.npmjs.org
Access (JDBC)UCanAccess, Jackcess, HSQLDBrepo1.maven.org
Derby (JDBC)Derby engine, shared and client jarsrepo1.maven.org
H2 (JDBC)H2 jarrepo1.maven.org
IBM i (JDBC)JT400 jarrepo1.maven.org
SAP ASE (JDBC)jTDS jarrepo1.maven.org
Aerospike (JDBC)Aerospike JDBC jargithub.com/aerospike
Kerberos authenticationKerberos native bindinggithub.com/mongodb-js
MongoDB import, export, backup, restoreMongoDB Database Toolsfastdl.mongodb.org
SQL Server import or exportSqlPackagedownload.microsoft.com
PostgreSQL backup, restore or importPG Tools (pg_dump, pg_restore, psql)get.enterprisedb.com
Native drivers on WindowsVisual C++ redistributableaka.ms

On Linux, PG Tools aren’t downloaded. DBCode uses the pg_dump, pg_restore and psql already on your PATH, so install them with your package manager.

Block these hosts and the feature is unavailable rather than silently degraded. Pre-install the tool and DBCode uses your copy.

Two DBCode views load assets from a CDN rather than from the extension bundle. This is browser-style egress from the webview, so it appears in a proxy log differently from the rest of this page.

DomainTriggerPayload
cdn.jsdelivr.netOpening the map viewer (geospatial column preview)Loads MapLibre GL and Turf.js. No data sent
tiles.openfreemap.orgOpening the map viewerMap tile requests. These contain the map area being viewed, which is derived from your geospatial data
*.vscode-cdn.netAny webviewVS Code’s own fonts and icons, requested by VS Code rather than by DBCode
*.r2.cloudflarestorage.comOpening a Secure Share, or History SyncFetches your encrypted blob directly from storage. Ciphertext only

Map tiles are the one case where an outside host can infer something about your data: the tiles requested match the coordinates you’re looking at. Avoid the map view for sensitive geospatial data.

Everything else DBCode can reach is somewhere you pointed it. We list it here because it will appear in your proxy logs, and a reviewer should know why.

CategoryDomainsTrigger
Your databasesWhatever host you enterConnecting, querying
Cloud provider importapi.cloudflare.com, console.neon.tech, api.supabase.com, api.turso.io, api.aiven.io, api.digitalocean.com, management.azure.comOnly when you link that provider to list your databases
SaaS data sourcesapi.stripe.com, us.posthog.com or eu.posthog.com, firestore.googleapis.comOnly when you add one of these as a connection. Stripe and PostHog are supported data sources; this traffic is you querying your own account, not DBCode reporting to them
Authenticationlogin.microsoftonline.com, graph.microsoft.com, and the identity provider in your authentication profileSigning in to a database with OAuth or Entra ID
Custom AI providerWhatever endpoint you set in dbcode.ai.customModel.endpointAn AI feature, when a custom provider is configured

Enable DBCode: Disable Online Services in the Settings UI under DBCode’s Security settings, or add this to settings.json:

{
"dbcode.disableOnlineServices": true
}

This machine-scoped setting defaults to false. When it is true, DBCode gates newly started DBCode-hosted online work and automatic dependency downloads. It does not cancel an operation that is already in progress. Changing the setting applies at the next operation entry.

With Remote SSH or a Dev Container, set it in the Remote or Dev Container settings where the DBCode extension runs. A value set only on your local VS Code machine does not configure the remote extension host.

AreaBlocked when the setting is trueStill allowed
DBCode API, account and licensingDBCode API requests, sign-in and account actions, team-permission refresh, and online license activation or refreshAn already installed local or manual license, including an offline license
AIDBCode-hosted AI and DBCode-hosted vector embeddingsCustom AI endpoints and VS Code or GitHub Copilot models that you configured
Sharing and historyStarting Secure Sharing and newly started History Sync online work, including background sync and snapshotsLocal query history and other local history work
TelemetryDBCode product telemetry eventsPostHog and other SaaS endpoints when you explicitly configure them as database connections
Drivers, tools and extensionsAutomatic driver, CLI, native dependency and DuckDB engine extension downloadsCached packages, tools found on the system, manual package files and already installed DuckDB extensions
Connections and authenticationNothing in this categoryDatabase and SaaS connections, their authentication traffic, and cloud-provider APIs
Assets and mapsNothing in this categoryIcons, CSS and other required webview assets, map assets and tile maps
MCPNothing in the local or inbound MCP pathThe MCP server and local database tools. A tool that starts a blocked DBCode-hosted feature still meets that feature’s gate
User-authored requestsNothing in this categoryArbitrary SQL and URLs that you enter, including SQL that installs an extension or reads a remote URL

DBCode handles blocked entries according to how they started:

  • Telemetry is dropped quietly. DBCode does not create a log entry for every suppressed event.
  • Background work is skipped and logged once per blocked feature or package for the current extension session.
  • Interactive DBCode-hosted features show a warning with Enable Online Services and Learn More. If you select Enable Online Services, the requested action continues. Learn More opens this section. A setting managed by your administrator cannot be changed from the warning, so the action remains blocked.
  • When an automatic package or DuckDB extension download is required, DBCode also offers Select File Manually. Cancelling the picker leaves the feature unavailable instead of silently continuing without its dependency.

For licensing, install an offline license before or after enabling this setting. The installed license is used locally; DBCode does not need an online license refresh while the policy is active.

This is a DBCode application policy, not an operating-system firewall. It does not intercept traffic created by database drivers, VS Code, webviews, custom providers or SQL and URLs that you enter. Use host firewall, proxy or network policy controls as well when you need complete egress isolation.

You can still use the narrower controls when you do not need to disable all DBCode-hosted online services:

To stopDo this
TelemetrySet VS Code’s telemetry.telemetryLevel to off. DBCode uses VS Code’s telemetry logger, so this silences it at the source
Inline completiondbcode.ai.inlineCompletion: false
All hosted AISet dbcode.ai.customModel.endpoint to your own or a local model and dbcode.ai.customModel.only: true, which stops any fallback to our hosted model
Secure Sharing to our storageBring your own S3-compatible storage, or do not share
History SyncLeave it disabled; it is opt-in
Sign-in trafficUse offline license activation

The MCP server listens on localhost and makes no outbound connections of its own. It is an inbound surface, not an egress one, and it is covered separately in AI privacy and security.