# Network access

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/help/air/llms.txt).

By default, a cloud environment can reach the internet. Use Internet access to control which external sites the agent can reach from the cloud environment. Limiting internet access helps reduce the risk of unintended access to untrusted resources.

The following modes are available:

Off (required only)
: Access only to domains that Air Teams requires to run agents and reach its own services.
:
:
:
: The other modes, except All domains, also allow these domains. They stay allowed for the whole life of the environment, so both the setup script and the agent can reach them.
:
:
:
:
: ```TEXT
:
: # JetBrains AI
: jetbrains.ai
: *.jetbrains.ai
: grazie.ai
: *.grazie.ai
: *.intellij.net
:
: # JetBrains Air services, such as repository connections and secrets
: *.jetbrains.cloud
: *.jetbrainscloud.com
: *.eks.intellij.net
: *.labs.jb.gg
: *.jetbrains.com
:
: # Claude Agent
: storage.googleapis.com
:
: # Antigravity
: dl.google.com
:
: # Junie, also used by GitHub Copilot
: *.githubusercontent.com
:
: # Gradle and Maven tooling, and Junie releases
: services.gradle.org
: github.com
: plugins.gradle.org
: repo.maven.apache.org
: plugins-artifacts.gradle.org
:
: # OpenAI Codex
: nodejs.org
: registry.npmjs.org
:
: # GitHub Copilot
: api.github.com
: *.githubcopilot.com
:
: # Default agent container image
: registry.jetbrains.team
: db2uklzeiyqq6.cloudfront.net
: s3.*.amazonaws.com
:
: # JetBrains Air agent storage
: jcp-agent-spawner-stgn-jcp-agent-spawner-sidecar-*.s3.*.amazonaws.com
: jcp-agent-spawner-preprod-jcp-agent-spawner-sidecar-*.s3.*.amazonaws.com
: jcp-agent-spawner-prod-jcp-agent-spawner-sidecar-*.s3.*.amazonaws.com
: jcp-agent-spawner-stgn-jcp-agent-spawner-sessions-*.s3.*.amazonaws.com
: jcp-agent-spawner-preprod-jcp-agent-spawner-sessions-*.s3.*.amazonaws.com
: jcp-agent-spawner-prod-jcp-agent-spawner-sessions-*.s3.*.amazonaws.com
:
: # Local hosts
: *.docker.localhost
: *.docker.internal
:
: ```

Specified domains
: Access only to domains you list in Additional domains.

Trusted domains
: Access to a preset list of domains commonly used for downloading dependencies, plus any domains you add manually.
:
:
:
: The preset includes common source control, package management, and dependency domains.
:
:
:
:
: ```TEXT
:
: alpinelinux.org
: anaconda.com
: apache.org
: apt.llvm.org
: archlinux.org
: azure.com
: bitbucket.org
: bower.io
: centos.org
: cocoapods.org
: continuum.io
: cpan.org
: crates.io
: debian.org
: docker.com
: docker.io
: dot.net
: dotnet.microsoft.com
: eclipse.org
: fedoraproject.org
: gcr.io
: ghcr.io
: github.com
: githubusercontent.com
: gitlab.com
: golang.org
: google.com
: goproxy.io
: gradle.org
: hashicorp.com
: haskell.org
: hex.pm
: java.com
: java.net
: jcenter.bintray.com
: json-schema.org
: json.schemastore.org
: k8s.io
: launchpad.net
: maven.org
: mcr.microsoft.com
: metacpan.org
: microsoft.com
: nodejs.org
: npmjs.com
: npmjs.org
: nuget.org
: oracle.com
: packagecloud.io
: packages.microsoft.com
: packagist.org
: pkg.go.dev
: ppa.launchpad.net
: pub.dev
: pypa.io
: pypi.org
: pypi.python.org
: pythonhosted.org
: quay.io
: ruby-lang.org
: rubyforge.org
: rubygems.org
: rubyonrails.org
: rustup.rs
: rvm.io
: sourceforge.net
: spring.io
: swift.org
: ubuntu.com
: visualstudio.com
: yarnpkg.com
:
: ```

All domains
: Unrestricted internet access.

> **Warning:**
> Grant the narrowest internet access that still lets the task complete successfully.

## Allow access to specific domains

Use Additional domains to add domains that are required for your project but are not included in the preset list.

Enter one domain per line. You can specify exact domains such as `example.com` and wildcard domains such as `*.example.com`.

## IP addresses a cloud environment connects from

Your own services (an internal MCP server, a package registry, a staging API, etc.) might be configured to accept requests only from allowlisted addresses. Cloud environments connect out through a fixed pool of public IP addresses, so you can add that pool to the allowlist:

```TEXT
            
3.13.40.39
3.16.32.149
3.16.88.146
3.19.5.143
3.20.19.155
3.22.89.113
3.128.77.71
3.130.102.97
3.132.14.144
3.132.130.23
3.133.51.118
3.133.248.191
3.136.241.2
3.148.110.11
3.149.57.93
3.151.181.230
13.58.174.33
16.58.146.36
16.58.192.73
16.58.221.46
16.59.148.225
16.59.152.188
16.59.218.123
18.188.237.125
18.189.92.137
18.190.63.76
18.203.226.197
18.217.59.30
18.217.83.180
18.225.246.195
18.226.53.255
18.227.137.62
18.227.203.177
34.243.215.33
34.247.114.115
34.249.156.197
34.250.85.172
34.255.32.115
46.137.8.250
46.137.95.5
52.16.245.17
52.18.10.97
52.19.167.242
52.30.224.151
52.30.254.147
52.31.155.68
52.31.177.18
52.210.124.43
52.213.134.113
52.214.55.35
52.214.170.14
52.215.195.38
52.215.208.109
54.72.131.118
54.75.20.254
54.154.31.190
54.228.116.15
63.32.192.217
63.33.231.193
63.34.6.33
108.132.51.144
108.133.40.99
108.133.116.77
176.34.72.14
            
```

These addresses are fixed, so an allowlist built from them keeps working.

> **Warning:**
> An allowlist built from these addresses admits Air Teams as a whole, not your organization or your task. Keep the service's own authentication (a token, mTLS, etc.) and treat the allowlist as one more layer, not as the thing that protects the service.

This covers traffic the agent makes from the environment itself, including MCP servers you configure in [.mcp.json](connectors.html#cloud_mcp_json). An [MCP connector](connectors.html#connector_ip_allowlist) doesn't use these addresses, so it can't satisfy an allowlist built from them.

