Back to DataMETL
Trust & Security

DataMETL Trust & Security

Honest notes on where your data goes. This page mirrors what the product does today — no SSO/RBAC/Team claims beyond what ships.

Local-first credentials

Database connection secrets (password, optional SSL CA PEM) stay on your machine and the Docker network you run. They are never sent to SandboxCSP or any DataMETL vendor cloud.

Credentials are encrypted at rest with Fernet (ENCRYPTION_KEY in .env) before storage in the app metadata database.

The API never returns passwords or CA PEMs; edit forms only get redacted connection metadata (has_sslrootcert, host, port, user, etc.).

Mel and Anthropic

Mel (in-app chat) uses your Anthropic API key (stored encrypted at rest, same Fernet vault).

When Mel calls live DB tools, Anthropic receives:

  • Your chat prompts and Mel's system instructions
  • Tool results only — schema listings, describe_table column metadata, and query row samples capped at TOOL_ROW_CAP (200 rows)

Not sent to the LLM:

  • Database passwords / connection secrets
  • Your Fernet ENCRYPTION_KEY
  • Stripe or license signing keys

Tool execution decrypts credentials locally inside the backend, runs read-only SQL on your network, then returns capped JSON results to the model. Without an active MCP connection, Mel is advisory only (no live DB access).

MCP tools are read-only

Live Mel tools (list_tables, describe_table, run_sql) always use read-only execution — writes and DDL are rejected. Results inherit the 200-row cap and a 30s tool timeout.

Approve-to-run

Settings → Mel tool approval modes. Community (no license key): Mel is allowed, but approval is forced to always.

ModeBehavior
run_sql_only (Pro default)run_sql waits for Approve/Deny in chat; list/describe may auto-run
alwaysEvery Mel DB tool needs Approve
autoNo approval prompts (still read-only)

Every Mel tool proposal is recorded with redacted args, decision, and outcome. Browse recent activity from Runs / Mel audit surfaces.

Licensing (offline verify)

Self-hosted Pro uses offline-verifiable Ed25519 signed keys (dmtl1.…). Verification needs no network call to SandboxCSP.

Stripe secrets belong only on a vendor issuer machine. Normal Community / Pro installs paste a key in Settings — they do not need Stripe.

Team is an entitlement stub only; multi-user SSO/RBAC is not shipped in-app (Helm can put oauth2-proxy/Keycloak at the edge separately).

Community vs Pro

FeatureCommunityPro
Postgres migrate / introspect / compare / verifyYesYes
Mel chatYesYes
Mel tool approval modesForced alwaysrun_sql_only / always / auto
MySQL + SQL Server connectorsNoYes
License keyNoneSigned dmtl1.… (Ed25519)
Stripe on your installNot requiredNot required

What we do not claim (yet)

  • Built-in multi-user accounts, viewer/operator RBAC, or Team SSO as a product feature
  • That query row contents never leave your network when Mel tools run — samples do go to Anthropic as tool results (capped). Credentials do not.
  • A live (non-test) Stripe Payment Link unless you configure one; the default sandbox link is test-mode.