showcase/shell-docs/src/content/snippets/shared/telemetry/anonymous.mdx
CopilotKit uses metadata-only product telemetry to learn how to improve the open-source packages.
Runtime uses the first nonblank telemetry identity that is valid in an HTTP
header, in this order: explicit telemetryId, CPK_TELEMETRY_ID, then the
identity carried by COPILOTKIT_LICENSE_TOKEN.
CPK_TELEMETRY_ID is optional and non-secret. The CopilotKit CLI does not
create or write CPK_TELEMETRY_ID, and a value you choose does not automatically
link Runtime events to a CLI scaffold event. Setting it does not enable
telemetry, grant product access, or replace the project's Intelligence API key.
Current managed Threads starters receive COPILOTKIT_LICENSE_TOKEN, which can
supply the fallback identity. When it does, Runtime sends identified events
without sampling. Runtime samples events identified by an explicit telemetryId
or CPK_TELEMETRY_ID at the configured rate. With none of these identities,
Runtime sends anonymous sampled telemetry.
The Inspector stores a random browser ID in local storage and sends it directly
with feature-use events. CopilotKit signup links can carry that ID so we can
measure the path from Inspector use to signup. Inspector delivery does not
depend on CPK_TELEMETRY_ID.
The Inspector sends coarse events when trusted project-context modules become visible and when a user follows a plan action:
| Event | Feature-specific properties |
|---|---|
oss.inspector.metadata_module_viewed | module, license_bucket, and action_kind when the visible module is an action |
oss.inspector.metadata_action_clicked | module: "action", action_kind, and license_bucket for Manage plan and Renew clicks |
module is identity, plan, or action. action_kind is manage_plan,
renew, or enable_intelligence. license_bucket is valid, none,
expired, or unknown.
An Enable Intelligence click keeps the existing
oss.inspector.threads_intelligence_signup_clicked event so existing reports
stay continuous. The same click does not also send
oss.inspector.metadata_action_clicked.
The feature-specific payload never includes organization, project, account, or user names; account, organization, project, user, thread, run, or message IDs; action or runtime URLs; usage values, limits, or counts; or conversation and tool content. Metadata usage impressions are not sent. The standard anonymous telemetry envelope includes package identity, anonymous distinct IDs, and an event timestamp.
Set COPILOTKIT_TELEMETRY_DISABLED=true in your runtime environment. This
disables telemetry for both the CopilotRuntime and Inspector. We also respect
Do Not Track (DNT).
The default sample rate is 0.05 (5%). Runtime samples anonymous and
standalone-identified events. License-identified events bypass sampling. Set
COPILOTKIT_TELEMETRY_SAMPLE_RATE to a value from 0 through 1 to change the
sample rate.
Send telemetry questions to [email protected].