Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fallow.tools/llms.txt

Use this file to discover all available pages before exploring further.

Fallow telemetry is opt-in and off by default. It exists to improve agent, CI, JSON, MCP, and editor workflows, not to track individuals or codebases. For the commands and environment controls, see fallow telemetry. To keep telemetry off everywhere, set FALLOW_TELEMETRY_DISABLED=1 or DO_NOT_TRACK=1. See Disabling everywhere.

What is never collected

Fallow telemetry never includes:
  • repository, organization, project, branch, or git remote names
  • file paths, import specifiers, source snippets, or stack traces
  • package, dependency, workspace, or framework package names
  • raw command-line arguments
  • config contents or config values
  • environment variable names or values
  • raw errors, logs, or serialized exceptions
  • stable machine, user, project, or repository identifiers
Hashing these values is not used as a workaround.

Inspect what is sent

Do not take the list on trust. You can print the exact payload any real command would send, without sending it:
FALLOW_TELEMETRY=inspect fallow audit --format json --quiet
The payload prints to stderr; your command’s normal output is untouched.

What is collected

When you enable telemetry, Fallow sends one small, high-level event per analysis run:
{
  "schema_version": 1,
  "event": "workflow_completed",
  "fallow_version": "2.84.0",
  "workflow": "audit",
  "integration_surface": "cli_json",
  "invocation_context": "agent",
  "agent_source": "codex",
  "output_format": "json",
  "quiet": true,
  "ci": false,
  "tty": false,
  "os": "linux",
  "arch": "x86_64",
  "duration_bucket_ms": "500-2000",
  "outcome": "issues_found",
  "exit_code_bucket": "1",
  "parent_run": "tmp_8x7p4k"
}
agent_source and parent_run are optional: agent_source appears only on agent-driven runs, and parent_run only when a run is explicitly correlated to a previous one. Both are omitted otherwise.
FieldPurpose
workflowPrioritize audit, dead-code, health, duplication, CI, and runtime-coverage setup workflows.
integration_surfaceUnderstand whether Fallow is used through human CLI, CLI JSON, MCP, CI, editor, or as a library.
invocation_contextSeparate human, CI, editor, and agent-driven use without uploading detection evidence.
agent_sourceImprove compatibility with specific agent integrations using a documented allowlist.
output_format / quietProtect the output contracts that users and agents rely on most.
duration_bucket_msFind slow workflow classes without collecting exact timings.
outcome / exit_code_bucketMeasure clean runs, findings, and failures without uploading raw error text.
parent_runLink explicit agent follow-up runs using a short allowlisted token, never a path or free-form string.
The schema_version field increments if the collected fields ever change, and this page is updated before any new field ships.

Agent source

When telemetry is enabled and a run is classified as agent-driven, Fallow may emit one normalized agent_source value from a fixed allowlist:
none codex claude_code cursor copilot opencode aider roo
windsurf gemini cline continue zed goose other_known unknown
none appears in the list because it is the internal default before a run is classified, but it is never sent: Fallow only sends agent_source for runs it identifies as agent-driven, and those are never none. Agents not on the list (for example enterprise IDE assistants) are grouped under other_known. Hyphen aliases such as claude-code, and CLI aliases such as gemini_cli and antigravity (both map to gemini), are normalized. Fallow does not upload raw MCP client info, process names, parent process paths, editor or extension identifiers, environment variable names, model names, account or organization IDs, prompts, versions, or free-form vendor strings. Agent wrappers should set FALLOW_AGENT_SOURCE=<allowlisted-value>; ambiguous sources emit unknown. Setting FALLOW_AGENT_SOURCE never enables telemetry by itself and uploads no codebase content. When more than one agent environment is present at once, attribution is best-effort and can depend on check order; set FALLOW_AGENT_SOURCE to name the agent yourself.

Transport and server privacy

  • requests are HTTPS POST JSON to https://api.fallow.cloud/v1/telemetry/events (override the host with FALLOW_API_URL)
  • no cookies are used and no authentication token is sent
  • the upload runs on a background thread, so it does not slow down your command
  • Fallow does not wait for the upload, so the fastest runs and runs on slow networks often drop their event; counts are a rough, biased sample, not an exact usage count
  • network errors are ignored and never affect command output or exit code
  • telemetry is never written to stdout
  • server-side handling does not enrich telemetry with customer, repository, organization, git, package-registry, or license data
  • IP addresses are dropped or truncated as early as practical
  • raw events are retained only for a short window, then deleted
Public reporting uses only coarse aggregate trends after privacy review.

Disabling everywhere

The DO_NOT_TRACK and FALLOW_TELEMETRY_DISABLED environment variables are top-precedence kill switches: when either is truthy, telemetry stays off and fallow telemetry enable is refused. Use FALLOW_TELEMETRY_DISABLED=1 as the fleet-wide switch in managed and CI environments.