Domain 2 of 6

Understand GitHub Copilot data and architecture

Domain · 13.2% of the GH-300 exam

Every suggestion is the end of a round trip

You type def parse_invoice( and pause, and a proposed function body appears in the editor. Before you saw it, Copilot gathered context from your files, built a prompt, sent it over HTTPS to a proxy (a gateway server in GitHub's own Azure environment, a GitHub-owned Azure tenant, not the corporate network proxy your organization may run, which Apply safeguards and troubleshoot covers) that blocks attempts to manipulate the system, ran content filters on the prompt (checks for harmful content, not content exclusion, which keeps chosen files out of Copilot's view), had a language model generate a response, filtered and formatted that response, and only then presented it for the developer decision, the last stage, where you accept or reject it (GitHub Copilot user prompt process flow). That ordered path is the suggestion lifecycle, and this domain examines one request along it in two ways: as data (what travels, which checks it passes, which party processes it) and as a lifecycle with limits (the order of the stages, the decision only you can make, and why output can still be wrong). The classic trap is putting a stage in the wrong place: the checks run before presentation, and no code changes occur without deliberate user action.

Read the two ways in order: data first, then lifecycle

Start with Describe Copilot Data Handling and Flow, which follows the data: the interaction data a request carries (your prompt plus the context Copilot gathers on its own), the checks on the way in and on the way out, which party processes the request (the model host), set by the model you select (including Bring Your Own Key (BYOK): your own API key for a supported third-party model provider, not an encryption key), and whether GitHub may use the data to train AI models, which depends on your Copilot plan. Reach for it whenever a question asks what is sent, to whom, or whether it is kept or used for training. Then Assess the Copilot Lifecycle and Limits follows the same request in stage order, shows that the model works only with the prompt it is given, covers how each of the three suggestion surfaces it follows (IDE inline suggestions, pull request text completion and Windows Terminal command suggestions) waits for you to accept or reject its output, and groups Copilot's limits into three sources of limitation (a study grouping this guide uses, not GitHub terminology): what the model learned, what it can see, and how it generates. Reach for it whenever a question asks about order, about acceptance, or about why a plausible suggestion is wrong; the decision tree on this page routes a question by the same split.

Count everything that travels, verify everything you keep

When two answers both sound reasonable, prefer the one that counts the context Copilot gathered automatically, and the host of the model you picked, as part of where your data goes, rather than only the words you typed. On the output side, prefer the answer that keeps human review and testing after the filters: the proxy and the content filters reduce risk, but users should still review suggestions before using them, because filtered output is not verified output. This habit covers two of the three sources of limitation: what it can see (the model cannot account for anything the prompt left out) and how it generates (the same request can return different output when rerun).

One request, two ways to examine it

Way to examine the requestQuestions it answersTerms you meetDrill into
As dataWhat the request carries, which checks it passes on the way in and out, which party processes it, whether GitHub may use it to train AI modelsInteraction data, proxy, content filters, model host, Bring Your Own Key (BYOK: your own API key for a supported third-party model provider, not an encryption key), training settingDescribe Copilot Data Handling and Flow
As a lifecycle with limitsIn what order the stages run, what the model can work with, how output is accepted or rejected, why plausible output can be wrongSuggestion lifecycle, developer decision, three sources of limitationAssess the Copilot Lifecycle and Limits

Decision tree

Is it about what the request carries,who receives it, or whether it iskept or used for training?YesDescribe Copilot DataHandling and Flowcontext, model host, trainingNoIs it about what the proxy ora content filter does?YesDescribe Copilot DataHandling and Flowproxy and filtersNoIs it about stage order oraccepting the output?YesAssess the CopilotLifecycle and Limitsstage order, your decisionNoIs it about why plausibleoutput can be wrong?YesAssess the CopilotLifecycle and Limitsthree sources of limitationNoOutside this domainManage privacy settings and exclusionsor Craft Effective PromptsEvery path: a filtered suggestion still needs your review

Subtopics in this domain