Skip to content

Commit 615397b

Browse files
authored
Document env vars security (circleci#2534)
* add security info for env vars * add link to security document from env vars doc * semantic linefeeds and add comma * encrypted, not stored * small word corrections from dani * remove quotes
1 parent eac0d47 commit 615397b

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

jekyll/_cci2/env-vars.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ Do not add secrets or keys inside the `.circleci/config.yml` file.
4242
The full text of `config.yml` is visible
4343
to developers with access to your project on CircleCI.
4444
Store secrets or keys in [project](#setting-an-environment-variable-in-a-project) or [context]({{ site.baseurl }}/2.0/contexts/) settings in the CircleCI app.
45+
For more information,
46+
see the [Encryption section]({{ site.baseurl }}/2.0/security/#encryption) of the "Security" document.
4547

4648
Running scripts within configuration
4749
may expose secret environment variables.

jekyll/_cci2/security.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,22 @@ Security is our top priority at CircleCI, we are proactive and we act on securit
1818
## Encryption
1919
CircleCI uses HTTPS or SSH for all networking in and out of our service including from the browser to our services application, from the services application to your builder fleet, from our builder fleet to your source control system, and all other points of communication. In short, none of your code or data travels to or from CircleCI without being encrypted unless you have code in your builds that does so at your discretion. Operators may also choose to go around our SSL configuration or not use TLS for communicating with underlying systems.
2020

21-
The nature of CircleCI is that our software has access to your code and whatever data that code interacts with. All jobs on CircleCI run in a sandbox (specifically, a Docker container or on-demand VM container) that stands alone from all other builds and is not accessible from the Internet or from your own network. The build container pulls code via git over SSH. Your particular test suite or job configurations may call out to external services or integration points within your network, and the response from such calls will be pulled into your jobs and used by your code at your discretion. After a job is complete the container that ran the job is destroyed and rebuilt. All environment variables you store inside CircleCI are encrypted at rest and sent to your job's containers using SSH.
21+
The nature of CircleCI is
22+
that our software has access to your code
23+
and whatever data that code interacts with.
24+
All jobs on CircleCI run in a sandbox
25+
(specifically, a Docker container or an ephemeral VM)
26+
that stands alone from all other builds
27+
and is not accessible from the Internet or from your own network.
28+
The build agent pulls code via git over SSH.
29+
Your particular test suite or job configurations may call out to external services or integration points within your network,
30+
and the response from such calls will be pulled into your jobs
31+
and used by your code at your discretion.
32+
After a job is complete,
33+
the container that ran the job is destroyed and rebuilt.
34+
All environment variables are encrypted using [Hashicorp Vault](https://www.vaultproject.io/).
35+
Environment variables are encrypted using AES256-GCM96
36+
and are unavailable to CircleCI employees.
2237

2338
## Sandboxing
2439
With CircleCI you control the resources allocated to run the builds of your code. This will be done through instances of our builder boxes that set up the containers in which your builds will run. By their nature, build containers will pull down source code and run whatever test and deployment scripts are part of the code base or your configuration. The containers are sandboxed, each created and destroyed for one build only (or one slice of a parallel build), and they are not available from outside themselves. The CircleCI service provides the ability to SSH directly to a particular build container. When doing this a user will have complete access to any files or processes being run inside that build container, so provide access to CircleCI only to those also trusted with your source code.

0 commit comments

Comments
 (0)