CLI
Open documentation actions
Anonymous Telemetry
What Better Fullstack CLI and browser telemetry collect when enabled, what they never collect, and how to turn them off.
npm create better-fullstack@latest telemetry statusnpm create better-fullstack@latest telemetry disablenpm create better-fullstack@latest telemetry enablestatus --json prints the effective state, saved preference, and environment override. BTS_TELEMETRY_DISABLED=1 takes precedence over the saved preference.
Collected when enabled
Official CLI releases enable anonymous telemetry by default after a one-time notice; preview builds disable it.
- Bounded stack/capability identifiers and counts.
- Command state, success/failure, duration, and bounded quality counts such as conflicts, warnings, changed files, or manual-review items.
- CLI/runtime version, OS family, CI boolean/provider, and invocation source.
- A random anonymous install ID used only for unique, active, and repeat-use aggregates.
- Bounded selection outcome IDs for create completion, starter-track use, compatibility recovery, abandoned plans, chosen evidence level, and problem class.
Never collected
Project names, filesystem paths, filenames, source code, recommendation briefs or prompts, env keys or values, secrets, URLs, runtime logs, raw error messages, and personal information are excluded at both the CLI and ingest boundaries.
Delivery is best-effort with a one-second timeout and can never fail a command. Programmatic create() disables analytics by default, and CLI creation accepts --disable-analytics.
Browser analytics
The website uses a browser-local anonymous ID for page views and bounded builder actions, including run, edit, command-copy and ZIP outcomes. PostHog receives these events through Better Fullstack's validating server endpoint. One browser preference, Do Not Track and Global Privacy Control gate this event stream.
Page engagement records a published page identifier, time in the foreground, device size category and scroll depth. The builder measures its main scroll container. Query strings, shared-stack URLs, page contents and user-entered text are excluded. No session replay or automatic DOM capture runs.
Browser analytics preferences are unavailable in this environment.
Disabling here saves a local preference in this browser only. It does not affect CLI telemetry on the same machine.
Interpreting analytics
Project creation, copied commands, browser previews and ZIP downloads are separate outcomes. A completed generation does not always mean dependency installation succeeded. Failure reports contain fixed stage and reason codes.
Page engagement is best-effort. Closing a browser can prevent a final report, and foreground time can include idle time. An abandoned page suggests where to investigate; it does not establish why someone left.
CLI and browser IDs remain separate. Repeat-use reports measure anonymous devices, not identified people. Selected libraries are catalog identifiers, not an export of generated files or installed dependencies.