30 Days Gen AI Risk Trial -Start Now
Skip to main content

Developer data protection

Locate Remote SSH and container controls

Map where the files, extensions, terminal tools and model requests actually run before reusing an AI security result from a local workspace. A local editor window can operate on a remote host or inside a container. Controls applied to the laptop, remote filesystem and container are different boundaries, and their coverage must be verified for the selected client and task.

For Engineering platform and endpoint IT

Aona field notesD19
Execution map
The window is not the runtime

Locate the data, process and control together.

Synthetic location markers and unexecuted checks. No SSH connection or container is created.

01

Start with the location of each component

Record the user interface, repository, workspace extensions, terminal process and model-request path separately. An editor being visible on a managed laptop does not show where its commands execute or which filesystem they can read. Use non-secret location labels and responsible owners in the worksheet.

Visual Studio Code’s Remote SSH documentation provides a concrete example: it can operate directly on a remote filesystem and run commands and extensions on the remote machine without source code being present locally. Other coding clients and extensions need their own current documentation and observations.

Source context: Visual Studio Code: Remote SSH

02

Review the container boundary as well as the host

VS Code documents that development-container workspaces may be mounted, copied or cloned into the container, and that extensions can run there with access to its tools and filesystem. A container may itself run on a remote SSH host. Record these layers instead of treating “in a container” as a complete security description.

Identify which files are mounted, which credentials the runtime can access and who administers the host and container. This guide does not require changing mounts or opening new remote access. The exercise can use already approved isolated environments with only the supplied synthetic markers.

Source context: Visual Studio Code: Developing inside a container · Visual Studio Code: Remote SSH

03

Place the intended control on the correct path

For each operation, identify where an access rule is enforced and where a submission could be observed. A local filesystem restriction is not evidence of a restriction on a remote host. A browser prompt test does not establish control of an extension or terminal executing elsewhere.

GitHub’s content-exclusion documentation identifies remote-filesystem and symlink limitations. Cursor practitioners have also asked configuration-specific questions about dev-container and sandbox interactions. Use these as reasons to record the exact editor, mode and location, not as proof that every remote workflow is uncontrolled.

Place the intended control on the correct path
ComponentLocation to recordControl question
Editor interfaceLocal device or browserWhich account and client are in use?
RepositoryLocal, remote or container filesystemWhich identity can read the files?
Tool/extension processActual execution hostWhich permissions and network path apply?
Model requestActual originating componentWhich supported data policy can evaluate it?

Source context: GitHub: Copilot content exclusion · Cursor community: dev-container sandbox question

04

Use location-labelled synthetic observations

The pack contains different markers for local, remote and container fixture locations. If a reviewer is authorised to use existing isolated environments, place the intended marker in each approved location and record which one the selected tool returns. Do not copy real repositories, private keys or credentials into the exercise.

A result should name the component and location tested, not just say “the agent read it.” Record whether the operation was unavailable, denied, prompted or returned a marker. Keep the expected boundary separate from observation, and do not relax a restriction to make every location accessible.

05

Approve the actual execution arrangement

The approval should describe the permitted client, repository location, host/container arrangement and task. Assign responsibility for each boundary. If the runtime or repository moves, revisit the affected rows rather than assuming the same controls follow the window.

Remote development and vendor-hosted cloud agents are different patterns. Use the cloud-access guide when a provider creates a hosted checkout. This page covers the locality of Remote SSH and container-based work and does not imply that Aona governs every remote process from a laptop installation.

Put it into practice

Remote development location and control map

Locate the editor, repository and tool process before interpreting an AI control result.

Synthetic location markers and unexecuted checks. No SSH connection or container is created.

A local window can reach different runtimes
01

Local interface

The editor appears on the employee’s device

This alone does not locate execution

02

Remote host or container

Workspace files and tools may be located here

Verify identity, mounts and permissions

03

Model request

Trace the component that submits context

Evaluate the supported path separately

Remote development location and control map
LocationSynthetic markerObserved component
Local test folderSYNTHETIC_D19_LOCALUntested
Approved remote fixtureSYNTHETIC_D19_REMOTEUntested
Approved container fixtureSYNTHETIC_D19_CONTAINERUntested

Work through your review

Use the checks to organise the evidence you need. Your selections stay in this tab.

0 of 3 reviewed

Example files for this task

Keep the source material and the instructions together. You can also download the complete worksheet or matrix as CSV.

README.mdInspect
# Remote development locality review

This pack contains only synthetic marker text and a worksheet. It creates no SSH connection, container, mount, credential or network request.

Use existing organisation-approved isolated locations only. Place the appropriate marker file in each permitted fixture location, then record which component and location an authorised manual test actually used. Do not copy real repositories or private keys. If a location is unavailable or not approved, mark it NOT APPLICABLE.

An editor window, a file path and a running process are separate observations. Record all three before interpreting a control result.

## Guide and sources

Canonical guide: https://aona.ai/resources/guides/ai-coding-remote-ssh-devcontainers/
Source review: 2026-09-21
- Visual Studio Code: Remote SSH: https://code.visualstudio.com/docs/remote/ssh
- Visual Studio Code: Developing inside a container: https://code.visualstudio.com/docs/devcontainers/containers
- GitHub: Copilot content exclusion: https://docs.github.com/en/copilot/concepts/context/content-exclusion
- Cursor community: dev-container sandbox question: https://forum.cursor.com/t/clarification-request-how-does-cursorignore-interact-with-auto-run-in-sandbox-inside-a-dev-container/159139
Download README.md
local-marker.txtInspect
SYNTHETIC_D19_LOCAL
Download local-marker.txt
remote-marker.txtInspect
SYNTHETIC_D19_REMOTE
Download remote-marker.txt
container-marker.txtInspect
SYNTHETIC_D19_CONTAINER
Download container-marker.txt
location-matrix.csvInspect
client_version,component,data_location,execution_location,identity_or_owner,expected_control,observed_marker_or_decision,evidence
RECORD,editor interface,RECORD,RECORD,ASSIGN,DEFINE,UNTESTED,
RECORD,repository read,RECORD,RECORD,ASSIGN,DEFINE,UNTESTED,
RECORD,terminal tool,RECORD,RECORD,ASSIGN,DEFINE,UNTESTED,
RECORD,workspace extension,RECORD,RECORD,ASSIGN,DEFINE,UNTESTED,
RECORD,model request,RECORD,RECORD,ASSIGN,DEFINE,UNTESTED,
Download location-matrix.csv
approval.mdInspect
# Execution arrangement decision

Client/version and mode: ____________________
Local interface/device owner: ____________________
Repository location: ____________________
Remote host/container owner: ____________________
Tool execution and request path: ____________________
Supported controls and evidence: ____________________
Unresolved location/control question: ____________________
Decision: NOT YET REVIEWED
Recheck when host, mount, client, mode or repository location changes.
Download approval.md

Before you proceed

Keep these distinctions clear

Using the editor window as location evidence
Locate the actual filesystem and process, particularly with Remote SSH and nested containers.
Assuming a laptop endpoint governs every remote process
Review installation and supported control placement for the actual execution and submission path.

Apply it to employee AI use

Bring your actual data path.

Aona can help evaluate supported employee endpoint prompt and file paths where its client is installed and the route is supported.

No uniform Remote SSH, container, remote-filesystem or vendor-cloud enforcement is implied. A local installation is not proof of control over a remote runtime.

Bring the location map and an approved synthetic operation to a scoped deployment/coverage review.

Review your use case

FAQ

Questions for this decision

If the editor runs on my laptop, do its tools run there too?
Not necessarily. Remote-development features can place filesystem access and tool execution on another host or in a container. Verify the selected client and extension arrangement.
Does a dev container automatically provide the intended AI data boundary?
No. Review mounts, identities, available credentials, tool placement and model-request paths. A container is an execution arrangement, not a complete disclosure or endpoint-coverage decision.
Can we reuse a local Copilot exclusion result on a remote filesystem?
Do not assume so. GitHub documents limitations for remote filesystems and symlinks. Record the exact location and mode and review the relevant current controls.
Do these files create a test server or container?
No. They are inert markers and records. Use only an already approved isolated environment, and mark unavailable locations not applicable rather than granting new access.

Evidence behind the guide

Sources and scope

Prepared by Aona. Sources checked 2026-09-21. The cited material supports the specific points below; it does not certify a product or your use case.

  1. Visual Studio Code: Remote SSH

    Documents remote filesystem access and execution, including remote containers.

    vendor · checked 2026-09-21
  2. Visual Studio Code: Developing inside a container

    Documents mounted/copied workspaces and extensions running inside containers.

    vendor · checked 2026-09-21
  3. GitHub: Copilot content exclusion

    Identifies remote-filesystem and symlink limitations.

    vendor · checked 2026-09-21
  4. Cursor community: dev-container sandbox question

    A dated practitioner question motivating location/mode-specific review, not a current universal flaw.

    practitioner · checked 2026-09-21
AI coding over Remote SSH and dev containers