Analytics requires explicit configuration

The source project does not configure an ADC analytics endpoint or site identifier by default. Its browser integration is inactive unless the deployment injects configuration for Plausible. This concerns optional website measurement; authentication, device heartbeats and authorized tool requests still contact whichever service you chose.

The operator must set ADC_ANALYTICS_SCRIPT_URL and ADC_ANALYTICS_DOMAIN together. The script URL must use HTTPS and the domain must be a hostname. Remove both values to disable injection. GPC or Do Not Track prevents the built-in integration from loading its script or calling the provider, even when the deployment is configured.

ADC_ANALYTICS_SCRIPT_URL=https://analytics.example.com/script.js
ADC_ANALYTICS_DOMAIN=devices.example.com
Deployment configuration

Routes and named onboarding events

Page views are limited to known public routes and a fixed set of account and console routes. Arbitrary nested device URLs are not accepted as analytics paths. Public views may include utm_source, utm_medium, utm_campaign, utm_content, utm_term, ref and source, with bounded string lengths; other query parameters are not copied by this integration.

The event catalog describes onboarding progress rather than tool execution. GitHub Sign In Started measures the start of the flow, not a completed login. The current names are listed below; a recorded event does not itself prove a device tool is operational.

  • Primary CTA Selected — choosing a primary entry point.
  • Account Registered and Account Signed In — successful account actions.
  • GitHub Sign In Started — starting the external sign-in flow.
  • Pairing Code Created — issuing a device pairing code.
  • Agent Access Created — creating an authorization.
  • Connection Created — creating a credential or binding.
  • Initial Setup Completed — completing the initial setup flow.

What the built-in events omit

Current product-event callers do not attach tool arguments, file contents, shell commands, results, prompts, credentials, email addresses, account names, device labels or repository names. Invocation submission is not mapped to an onboarding event. Event properties describe coarse context such as the placement of an entry point.

The property helper bounds key format, number of properties and string length; it is not a secret-detection system. Campaign values are user-controlled URL text. Operators and contributors must keep private data out of these inputs, and must review new event callers rather than assuming the helper makes arbitrary text safe.

Broader product data handling

Disabling analytics does not disable task records

Website analytics measures visits and onboarding. Operational task records hold the requests, states, results and receipts needed to route work and review effects. Service health metrics describe connections, dispatch and failures. They have different purposes; the analytics switch only controls the optional browser integration.

Self-hosted operators must separately manage database access, logs, backups and retention. This policy does not establish a universal automatic deletion schedule for any of them. Custom analytics scripts or additional monitoring integrations are operator choices and require their own review.