Service eligibility and regional restrictions
PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.
Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.
Key Takeaways
- GitHub's November 3, 2026 announcement says both breakdowns are available in enterprise and organization reports, at user and aggregate level, for 1-day and 28-day reports.
- Local BYOK sends requests directly from Copilot CLI or the Copilot app to a developer's provider or local model. Enterprise custom models route through GitHub; matching model names do not make the paths equivalent.
- Local breakdowns are subsets of totals_by_cli and totals_by_copilot_app. Enterprise custom-model usage is already in totals_by_client. Existing totals are unchanged.
- Disabled client telemetry or providers that omit token counts can cause local undercounting. Report days before the November 3 release will not be backfilled with is_custom_enterprise_model.
Identify the two BYOK paths before interpreting usage
BYOK stands for “bring your own key.” In these reports, the local BYOK category also includes local models. Developers configure local BYOK in their clients, sending requests directly from Copilot CLI or the Copilot app to their provider or local model; administrators configure enterprise custom models in GitHub settings, routing those requests through GitHub to the provider.
Local BYOK is a reporting category, not a promise that inference runs on the device. It also includes a developer's own remote provider key. Enterprise custom models, by contrast, are observed on GitHub's servers, and their new flag covers every client, including IDEs.
This improves reporting visibility. It does not announce additional free allowance or access to a new model. The announcement supplies no complete country, pricing, or eligibility table, so it does not establish that every account can enable a model or avoid provider charges.
Which fields describe local BYOK?
In user-level reports, used_local_byok indicates whether the user made at least one local BYOK request in Copilot CLI or the Copilot app that day. totals_by_local_byok appears in both user-level and aggregate reports and records sessions, requests, prompts, and tokens.
totals_by_local_byok breaks activity down by byok_kind, using local_managed, local_user, local_auto, or remote_user, and by surface, using copilot_cli or copilot_app. Keep these identifiers and their official meanings intact rather than relabeling them as new billing products.
Aggregate reports also provide daily_active_local_byok_users, weekly_active_local_byok_users, and monthly_active_local_byok_users. These count distinct active users for a day, calendar week, and calendar month. They are overlapping populations, so they should not be added together, and a calendar-month count is not a 28-day count.
How are enterprise custom models separated from hosted models?
Each model entry under totals_by_client[].totals_by_model[] has an is_custom_enterprise_model flag. A true value means the request used a custom model configured for the organization or enterprise. GitHub says these entries include actual request and token counts.
A model used both through Copilot hosting and as an enterprise custom model appears as two separate entries. Preserve the boolean flag and client dimension when processing reports. Grouping solely by the displayed model name would merge the paths again.
Custom-model usage is already included in totals_by_client. Local BYOK is likewise included in totals_by_cli and totals_by_copilot_app. The new breakdowns separate existing activity; they do not create an additional amount to add to the total.
Why can low local counts not prove that nobody used BYOK?
Local BYOK fields depend on client telemetry: usage records sent by the client to the reporting system. Disabled telemetry causes undercounting. Some local providers also omit token counts, which can understate token usage. Treat the visible figures as a lower bound rather than proof of complete activity or no activity.
Enterprise custom-model requests are observed server-side. GitHub says they do not share this local telemetry limitation. Report dates, scope, and access conditions still matter; that distinction does not establish that every report is free of every possible gap.
For example, a hypothetical report with 100 total CLI requests and 30 local BYOK requests does not show 130 requests. This illustrates the subset relationship; it is not measured PuppyIP or customer data. Request and token counts also cannot be converted directly into an invoice amount.
Check dates and access before interpreting missing historical flags
GitHub explicitly says report days before the release will not be backfilled with is_custom_enterprise_model. An absent field in an older record is therefore different from a false value and does not prove there were no custom-model requests. Mark the change in field availability when comparing periods across the release.
Access also requires an enabled Copilot usage metrics policy and the appropriate role or permission. The announcement lists enterprise owners, enterprise billing managers, organization owners, and custom roles with View Copilot Metrics permission. The REST documentation specifies read permissions separately for enterprise and organization endpoints.
The REST documentation requires the enterprise's Copilot usage metrics policy to be set to Enabled everywhere. Report endpoints return expiring download links rather than all usage details directly in the endpoint response. An administrator with existing access should follow the relevant endpoint documentation. Keep download links, keys, and user-level details out of public discussions.
How should administrators incorporate the change into an existing review?
First identify whether the question concerns local BYOK, enterprise custom models, or Copilot-hosted requests. Then fix the report scope: enterprise or organization, user or aggregate level, and 1-day or 28-day coverage. Preserve actual report dates and avoid adding overlapping windows.
Show subsets alongside their existing totals, and label missing fields, local telemetry limits, and the release boundary separately. To explain costs, consult the applicable invoice and provider rules. A usage category does not replace billing evidence, model access, or enterprise usage policies.
This article reviews public announcements and REST documentation only. No private usage API was accessed, no organization report was downloaded, and no reporting setting was changed. Available fields do not demonstrate that a particular team adopted BYOK, reduced costs, or completed a compliance review.
Sources
Frequently Asked Questions
Can the reports identify every local model a developer used?
This update does not provide that breakdown. GitHub says local BYOK is not broken down by model name. Enterprise custom models use the existing name-normalization rules, so an unrecognized name may appear as unknown. That label reflects name normalization; it does not by itself identify an unknown provider, malicious request, or lack of use.
Why might the latest 28-day report exclude today?
The REST documentation defines the latest 28-day report as ending on the most recent processed data day, with the response specifying its actual date range. Latest is not a real-time monitoring guarantee. Read the report dates instead of substituting the page-access date, and do not record an unprocessed day as zero.