Telemetry

partyline collects a small amount of anonymous usage data so we can see how many installs are actually being used — not just downloaded. It carries no identity, no code, no paths, and no content, and you can turn it off with one environment variable.

What's sent

Once a day, the CLI sends a single "active" ping containing only:

  • a random install id — a UUID generated on your machine, stored in ~/.partyline/telemetry.json. It is not derived from your account, hostname, email, or anything identifying. It exists only so two pings from the same install aren't counted as two installs.
  • the CLI version (e.g. 0.6.24)
  • the operating system (e.g. darwin, linux)

That's the entire payload. No file paths, no project names, no repository contents, no keystrokes, no account — by construction.

What's not sent

  • ❌ Your identity, email, or GitHub username
  • ❌ Any absolute path, directory name, or project label
  • ❌ Terminal contents, prompts, or agent output
  • ❌ Secrets or environment variables

The ping goes only to the partyline control plane — partyline.sh. The CLI never sends events to a third-party analytics service directly; the control plane forwards anonymized counts server-side.

Turn it off

Set either of these in your environment and the CLI never sends a ping:

export PARTYLINE_TELEMETRY=0
# or the cross-tool standard:
export DO_NOT_TRACK=1

Telemetry is also off automatically in CI (CI is set) and for local dev builds.

You'll see a one-time notice the first time telemetry is about to run on an interactive terminal — and no ping is ever sent before that notice has been shown, so a headless or scripted invocation never phones home undisclosed.

The update check

Separately, the CLI checks for a newer version — a quiet background refresh, at most once a day, cached in ~/.partyline/version-check.json. That request includes your version + OS so we can measure adoption of releases. It has its own opt-out, and honours the cross-tool convention too:

export PARTYLINE_NO_UPDATE_CHECK=1
# or:
export NO_UPDATE_NOTIFIER=1

Like the usage ping, the update check is off automatically in CI and for local dev builds.

What we see on our side

The counts land on an operator dashboard inside partyline.sh that only we can reach: /admin/usage (installs, live daemons, CLI version and OS spread) and /admin/onboarding (which accounts got how far through setup, so we know who to help). Both are gated by an email allowlist — the PARTYLINE_ADMIN_EMAILS env var on the server, which is empty unless an operator sets it. Anyone not on that list gets a 404, so the pages don't even reveal that they exist. They are not a customer feature and there is nothing there for you to configure.

Logged-in usage

If you enroll a machine as a daemon, it already reports its version + OS + liveness to power the fleet map. That's part of the product, not anonymous telemetry, and is scoped to your own account.