Skip to content

Remove app_usage telemetry entirely#366

Open
TeoSlayer wants to merge 1 commit into
mainfrom
fix/consent-truth
Open

Remove app_usage telemetry entirely#366
TeoSlayer wants to merge 1 commit into
mainfrom
fix/consent-truth

Conversation

@TeoSlayer

Copy link
Copy Markdown
Collaborator

Per product decision (2026-07-10): what an agent calls in the app store is nobody's business. The app_usage telemetry event is removed from the wire entirely — not consent-gated, not URL-gated, just gone.

What was happening

Two sites emitted app_usage (payload: app ID + method name):

  • cmd/pilotctl/appstore.go — after a successful pilotctl appstore call.
  • cmd/daemon/appstore_adapter.go — the daemon's app-store adapter, on every network app invocation. This one was gated only by -telemetry-url, so consent.telemetry=false did not stop it (surfaced by the website claim audit).

Change

  • Remove the CLI emission block.
  • Remove telemetryEmitter and pass a nil Telemetry emitter to the appstore service (documented no-op in app-store@v1.0.2).
  • Drop the now-unused telemetryURL/identityPath/getNodeID fields from the adapter construction in main.go.

The other three app-store events (catalogue_viewed, appstore_view, app_installed) are unchanged and remain consent-gated.

Verification

  • GOWORK=off go build ./cmd/daemon/ ./cmd/pilotctl/ — clean.
  • GOWORK=off go vet — clean (no unused imports).
  • GOWORK=off go test ./cmd/pilotctl/... ./pkg/telemetry/... — pass.
  • grep -rn app_usage cmd/ pkg/ — only an explanatory comment remains.

Note: builds require GOWORK=off in this checkout — the repo-local go.work overlays a stale app-store checkout missing CataloguePublisher (pre-existing, unrelated to this change).

🤖 Generated with Claude Code

What an agent calls in the app store is nobody's business. Previously a
successful 'pilotctl appstore call' (CLI) and every network app invocation
(daemon appstore adapter) emitted an app_usage telemetry event carrying the
app ID and method name. Both emission sites are removed:

- cmd/pilotctl/appstore.go: drop the post-call telemetry send.
- cmd/daemon/appstore_adapter.go: remove telemetryEmitter; the appstore
  service now runs with a nil Telemetry emitter (documented no-op).
- cmd/daemon/main.go: drop the now-unused telemetryURL/identityPath/getNodeID
  wiring from the adapter literal.

app_usage is gone from the wire — no consent flag, no -telemetry-url can
re-enable it. catalogue_viewed / appstore_view / app_installed events are
unchanged and remain consent-gated.

Verified with GOWORK=off (repo go.work overlays a stale app-store checkout,
pre-existing breakage): go build + go vet clean, cmd/pilotctl + pkg/telemetry
tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants