Quality
Agent data-access boundaries
A coding agent can receive information through repository files, editor context, terminal output, and connected services. Content exclusion, MCP server admission, tool availability, execution permission, and sandboxing constrain different parts of that path. GitHub's September 2, 2026 release brings content exclusions to the Copilot app and CLI for Business and Enterprise customers; it does not make every agent surface equivalent. Audit the exact client, mode, identity, and data path before trusting a policy label.
Principles
- Document policy-surface coverage: one enabled setting is not proof of enforcement across every editor, terminal, and hosted agent.
- Keep content exclusions separate from filesystem access and downstream service authorization; an admitted integration still needs narrowly scoped credentials.
- Treat tool availability as a selection boundary and execution permission as an invocation boundary. Neither replaces the other.
- Use synthetic evidence and preserve unknowns instead of opening protected files or declaring universal protection.
Steps
- Inventory sensitive data classes and all routes into agent context without reading protected payloads.
- Build a client-and-mode matrix with policy owner, effective settings, provider support, verification date, and evidence for each data path.
- For Copilot, check documented indirect editor-context, symlink, and remote-filesystem limitations; follow the documented policy refresh procedure before testing.
- Inspect managed MCP endpoint or command matchers, deny conflicts, and credential scope. Do not use a renamable server label as a security identity.
- With test authorization, pair an allowed synthetic fixture with a denied one and inspect enforcement evidence. A missing marker in the final answer alone is not proof of denial.
- Record confirmed gaps, untested surfaces, a responsible owner, and a retest plan using Agent Data Access Audit. Stop testing on unexpected exposure.
Avoid
- Assuming the September app/CLI release implies support in every editor agent mode.
- Confusing similarly named registry policies and enterprise managed MCP settings.
- Treating a configured allowlist as proof that every tool on an admitted server is authorized.
- Using private code, real tokens, or customer records as audit fixtures.
- Silently weakening policy or retrying through another tool after a denial.