Understand GitHub Copilot Data and Architecture
Domain 3 - Understand GitHub Copilot Data and Architecture
This domain tests the request lifecycle and the data-handling rules that differ by plan: where inference happens, what context is sent, which filters run, and what is retained.
Request lifecycle
- Context gathering (client): the IDE extension collects cursor position, file path and language, the current file, neighboring and open tabs, recently edited content, plus explicit references (
#file,#selection) or repository index context. - Prompt assembly: system instructions, gathered context, and your prompt are combined and sent over HTTPS to the Copilot service.
- Service-side checks: authentication and entitlement, prompt transformation, safety filtering.
- Inference: the prompt routes to a hosted model from an external provider; the model you get varies by plan and picker.
- Post-processing: response filtering, including the duplication detection / public code matching filter that compares output against a public code index.
- Delivery and telemetry: the suggestion returns to the IDE; acceptance and edit events are logged. Telemetry is a different bucket from prompt retention.
Data handling by plan
- Copilot Free / Pro (individual): prompts and code snippets may be retained and used to improve models unless you opt out in personal settings.
- Copilot Business / Enterprise: prompts and suggestions are not retained after the response and not used for training; stronger contractual protections and IP indemnity apply.
- Code referencing can surface matches between a suggestion and public repositories when enabled.
Inference is remote: no model runs on the laptop, and Copilot does not work fully offline.
Worked example
A suggestion contains a helper function from a file the developer never opened this session. Explanation: context gathering includes open and neighboring tabs, and chat can draw on an indexed view of the repository; the model also carries parametric knowledge from training. That is why closing irrelevant tabs and referencing files explicitly measurably changes output. The distractor - “Copilot reads the whole repository on every keystroke” - is wrong on both mechanism and cost.
Traps
- Assuming retention and training rules are identical across Free, Pro, Business, and Enterprise.
- Conflating telemetry with retention of prompt content.
- Treating the public code filter as a license determination rather than a match filter.
- Assuming chat and inline completions share identical context or behavior.