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. Save your selections in Word, then add your notes and evidence. Your selections stay in this tab until you download them.

0 of 3 reviewed

Examples and review material

Read the detail here, or keep the PDF, editable Word document and spreadsheets together.

Download complete pack (ZIP)
Remote development locality reviewRead

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
Location matrixRead
Detailed example records
Client versionComponentData locationExecution locationIdentity or ownerExpected controlObserved marker or decisionEvidence
RECORDeditor interfaceRECORDRECORDASSIGNDEFINEUNTESTED
RECORDrepository readRECORDRECORDASSIGNDEFINEUNTESTED
RECORDterminal toolRECORDRECORDASSIGNDEFINEUNTESTED
RECORDworkspace extensionRECORDRECORDASSIGNDEFINEUNTESTED
RECORDmodel requestRECORDRECORDASSIGNDEFINEUNTESTED
Execution arrangement decisionRead

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.

Working code and test files

Use the original files for the code and data exercises. The source ZIP includes their instructions and input data.

Download source examples (ZIP)
Local markerTXT
SYNTHETIC_D19_LOCAL
Download local-marker.txt
Remote markerTXT
SYNTHETIC_D19_REMOTE
Download remote-marker.txt
Container markerTXT
SYNTHETIC_D19_CONTAINER
Download container-marker.txt

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 secures employees’ AI use on supported, installed endpoint paths.

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