AI products & updatesPractical AI workflows

Audit Copilot model access with the new policy API: start with read-only snapshots

An administrator sees enabled while a user cannot find the model. The missing link may be policy scope and identity rather than the model announcement. After GitHub’s October 19 API update, a useful first step is a read-only inventory that separates known settings from missing evidence.

Padlocks on a bridge railing, illustrating model access control
Illustrative photo: Emilia Niedźwiedzka · Unsplash License

The workflow at a glance

Read the enterprise baseline, active delegation mode, team membership and app policy separately. Ask AI to summarize evidence and gaps, without treating one enabled field as a final user-access decision or generating PATCH changes. This original exercise includes a human reference answer and makes no real enterprise API request.

What changed on October 19

The GitHub changelog describes GET and PATCH model-policy endpoints across enterprises, enterprise teams, apps and organizations. Endpoint availability does not make every configuration mode generally available: the management documentation still describes enterprise teams mode as an opt-in preview.

This is a troubleshooting workflow with the original October 19 announcement date. It does not switch modes, enlarge permissions or modify an enterprise. Billing also cannot be inferred from a policy field; see code-review access versus organization billing.

Prepare minimal, sanitized snapshots

An authorized reader should obtain the current settings from the management page or appropriate GET endpoint in the REST reference. Record a substituted enterprise identifier, capture time and active mode. Remove tokens, personal information and unrelated repository material before using external AI. Current membership and app identity require separate evidence.

The following table is an original exercise, not an actual API response or a real enterprise configuration. A and B are placeholder models. The reported team enablement for A is deliberately conflicting evidence, to test whether the reviewer incorrectly assumes it overrides an enterprise denial.

Original same-time snapshot exercise, October 22
ScopeModel AModel BEvidence state
Enterprisedisableddelegate_to_teams_and_appsTeams mode confirmed
Research teamReported enabledenabledSanitized table only
User U membershipUnknownUnknownNo current membership evidence
App policyNot readoptional, editable=trueApp snapshot exists only for B

Ask for conflict analysis rather than permission changes

Provide the snapshots as data and require cell-level evidence. A request to “fix everything unavailable” can invite broader access recommendations; the task here is a report an administrator can verify. Missing source fields must remain unconfirmed instead of becoming assumed default permissions.

Copyable read-only audit request

Task: audit only the sanitized policy snapshots below. Do not call tools or change permissions.
For each model list the enterprise baseline, lower-scope settings, conflicts, missing evidence and next read-only check.
Rules: a team cannot override enterprise disabled; optional is not explicitly enabled; editable describes whether a setting can be changed.
Separate known policy fields from final user access. Do not infer membership, seats, client or regional support.
Output: evidence → conclusion → unresolved check. Do not generate PATCH requests or token examples.
The following is original exercise data, not an API response: paste the table here.
Original review template; no model or enterprise API was run for this article.

What a good report should say

Model A has an explicit enterprise denial. A team table reporting enabled cannot establish access. Recheck that table’s source, capture time and field meaning, preserving the conflict rather than automatically changing the enterprise baseline.

For B, the enterprise delegates to teams and apps and Research enables it, but U’s membership is unknown. That team route is conditional, not a final access certificate. App optional is not explicit enablement; editable=true describes mutability, not user eligibility.

Three reference findings

A: conflicting evidence

Enterprise denial cannot be overridden by a team. Recheck the reported team source read-only.

B: team route unresolved

Research is configured enabled; current membership for U remains unproven.

B: app route unestablished

optional and editable=true do not jointly mean enabled for the app or every user.

Repair an overconfident AI draft

The management documentation describes team access as additive to the enterprise baseline, with no team override for an explicitly disabled model. Multiple team memberships also cannot be treated as a last-row-wins table. The active mode and current identity matter.

When a draft converts a configuration inventory into an access promise, rewrite it against the evidence column. The model release versus account rollout discussion distinguishes another layer: release scope, policy scope and the user’s client are separate checks.

Replace an inferred entitlement with a checkable statement

Problem example

B is editable, so U already has access; A is enabled in the team table, so it works too.

Corrected reference

B’s app setting can be changed, but U’s eligibility is unconfirmed. A is enterprise-disabled and the team report needs verification.

The draft confuses mutability, lower-scope reporting and final access. The correction keeps each evidence boundary.

Accept a report that can be handed to an administrator

Include capture time, active mode, reading source, model fields, unresolved identity conditions and an owner for each check. Any later change should follow the administrator’s established approval and change process; this read-only report is not authorization to modify settings.

Plans, roles, token permissions and supported endpoints follow current official documentation. A read failure may reflect identity or permissions; a 403 is not evidence that the model has been disabled globally. Never paste credentials into a prompt or send them to the blog’s feedback address.

Report acceptance

  • Original exercises and real snapshots are labeled separately, with sources and times.
  • Enterprise, team, organization and app scopes remain distinct.
  • optional and editable are not described as final user access.
  • Unverified membership, seats and client conditions remain explicit gaps.

Common questions

Does API general availability make teams mode generally available?

No. Endpoint availability and configuration-mode status differ; the management documentation checked here still calls enterprise teams mode an opt-in preview.

Should I paste the complete response into AI?

Check organizational rules and sanitize it first. Retain only necessary fields and exclude tokens, personal information and unrelated internal material.

Has this article modified my Copilot settings?

No. It makes no real enterprise API request or PATCH. Its reference answer is human analysis of public documentation and an original snapshot exercise.

Further reading & sources

Related articles