Records where the GitHub Copilot device-flow client identity comes from, whose consent screen a user sees, and what authorization basis Maka has for using it. This exists because Maka does not own that identity.
Iv1.b507a08c87ecfe98packages/runtime/src/oauth-provider-contracts.ts (OAUTH_PROVIDER_CONTRACTS['github-copilot'].clientId)https://github.com/login/device/code, https://github.com/login/oauth/access_tokenread:userThe identity is GitHub‘s own Copilot editor/CLI OAuth app. It is embedded in GitHub’s first-party editor integrations and is widely reused by third-party Copilot clients; Maka did not obtain it from GitHub through any registration or grant of its own.
Maka already presents the matching editor compatibility headers (GITHUB_COPILOT_COMPAT_HEADERS in packages/runtime/src/subscription-credentials.ts) when calling the Copilot API, for the same reason: Copilot entitlement is granted to editor clients, not to arbitrary OAuth apps.
The user is shown GitHub's device-authorization screen naming that editor application, not Maka. Maka then receives and stores the resulting GitHub user token in the Workspace vault. The application a user believes they authorized and the application that holds the credential are therefore not the same.
Not established. There is no published GitHub authorization, compatibility statement, or exemption permitting third-party reuse of this identity, and none has been requested. Reuse rests only on the observation that other clients do the same.
Because that basis is missing, the interactive device flow ships with these safeguards:
MAKA_GITHUB_COPILOT_DEVICE_LOGIN_EXPERIMENTAL=1; anything else leaves the Host refusing oauth.login.start for this provider (isOAuthEnrollmentProviderEnabled in packages/runtime/src/oauth-provider-contracts.ts). The flag records an operator's decision to accept the consent mismatch above for their own install. It is not the authorization basis, and turning it on does not create one.gh auth token or a fine-grained PAT with Copilot Requests permission) needs no opt-in and stays available beside it. That credential is issued to an identity the user chose, so it raises none of the questions above and is the supported default route.