What leaves your machine
The DataParade CLI is local-first: the structural scan pipeline — ingest, analysis, classification, data-flow detection, and writing dataflow.json — runs entirely on your machine and sends nothing anywhere. Every network interaction is tied to a feature you explicitly configure. This page is the complete list.
By feature
| Feature | When it makes network calls | What is sent | How to avoid it |
|---|---|---|---|
Structural scan (npx @dataparade/cli scan .) | Never | Nothing | — (this is the default) |
| Fetching the CLI itself | npx downloads the package from the npm registry on first use | Standard npm request metadata | Install once (npm install -g @dataparade/cli) or run from source |
| Auto-upload after scan | Only when DATAPARADE_WORKSPACE_API_KEY / --workspace-api-key is set | dataflow.json — component names, properties, and file paths with line ranges; raw source snippets are stripped before writing the file | Don’t set a key, or pass --skip-auto-upload / DATAPARADE_SKIP_AUTO_UPLOAD=true |
AI inference, BYOK (--ai-inference + SCAN_BYOK_*) | During the optional AI pass | Prompts containing bounded excerpts of scanned files (never .env contents) go to your chosen provider at its official endpoint | Leave AI inference off (the default) |
AI inference, platform (--ai-inference + workspace key) | During the optional AI pass | Quota preflight (file count and ingested bytes), inference tasks with the same bounded excerpts, and a completion report to the DataParade API | Leave AI inference off, or use BYOK |
Custom AI endpoint (--ai-endpoint / SCAN_AI_ENDPOINT) | During the optional AI pass | Same prompts, to any URL you specify — only point it at endpoints you trust with code excerpts | Don’t set a custom endpoint |
| Crash reporting (Sentry) | Only when a scan fails with an error | The error message and failure phase, plus the scan-root path; no file contents (sendDefaultPii is off) | SCAN_SENTRY_ENABLED=false |
| LangSmith tracing | Only when you set LANGSMITH_API_KEY / LANGCHAIN_API_KEY and enable tracing | Summary-only run metadata (counts and ids) — no file contents or full scan output | Don’t set LangSmith variables (off by default) |
A quota preflight is only called for platform AI: a workspace key with AI inference off runs the scan fully locally and contacts the API only for the upload step described above.
Guarantees that hold regardless of mode
.envis never read..envand.env.*files are excluded from ingest and are never embedded in AI provider prompts. Pointingscanat a single.envfile is refused with a security warning. Other credential files are not auto-excluded — add them with--excludeif your repo has any.- No raw source in the output.
dataflow.jsonkeeps file paths and line ranges only;sourceLocation.codesnippets are stripped before the file is written. The same discipline applies to AI insight evidence inmetadata. - AI suggestions must cite evidence. Provider proposals must reference exact repo-relative paths that exist in the scan — no fuzzy path matching. Rejected proposals are not merged.
- Keys are never printed.
configoutput redactsSCAN_BYOK_API_KEYandDATAPARADE_WORKSPACE_API_KEYas<redacted>.
Fully offline checklist
For a scan with zero network traffic:
- Install the CLI once (or vendor it), so
npxdoesn’t hit the registry. - Don’t set
DATAPARADE_WORKSPACE_API_KEY. - Don’t enable
--ai-inference(off by default) — or useSCAN_BYOK_PROVIDER=localagainst your own Ollama-compatible endpoint. - Set
SCAN_SENTRY_ENABLED=falseso even a crashing scan reports nothing.
Then scan reads your repository, writes dataflow.json, and touches nothing else.
Last updated on