You'll need roughly 6 minutes to read this article.
We fully understand and recognize, that the security of your source code and configuration data is important, as it forms the base of your and our endeavors. Therefore we put a lot of effort and thought into providing a secure infrastructure for you to use.
For every project you add to Codeship we create an SSH Key that is itself encrypted strongly and only decrypted shortly before being used in the build virtual machine. For every build we start a new and clean virtual machine. All changes you make (including file system changes) are stored in a ramdisk which is removed as soon as your build finishes (tests and deployment). None of your data is ever stored on any hard drive on our build servers.
All communication between your browser and our website is SSL encrypted, as is all communication to our Openredis queue. All communication to the build virtual machines is done over SSH.
On Codeship Basic, with permission, our support team can open an SSH debug session in to your build machine which allows us to see your source code.
On Codeship Pro, we have no direct access to your source control but our support team can see your builds and build logs, as well as account information.
To run your tests, we need to check out your code from your source code provider. Currently we support GitHub, GitLab, and Bitbucket. You can sign up for the Codeship via Email as well but as soon as you connect a repository with your Codeship account you are telling your source code provider that you allow us to check out your private repositories.
You can revoke permission in your source code provider settings and by removing the Codeship’s deploy keys and service hooks from your projects’ configuration pages.
If you need to access resources behind a custom firewall from Codeship, e.g. pulling code from a self-hosted git server or perhaps deploying build artifacts to an internal environment, you can enable the IP Whitelisting feature and only open the necessary ports for those IPs in your firewall. See IP Whitelisting documentation for more details.
Our whole infrastructure is based on Amazon EC2 or services built on top of it. EC2 is one of the most trusted, tried and tested hosting services out there. The services we use are:
Additionally for collecting metrics (but without any sensitive data) we use:
As outlined in our Terms of Service we only access your source code for a build or support request. We do not have any way to access your repository outside of our build environment.
Codeship never takes ownership of your code or files. All builds run on containers or machines that are shut down at the end of your build, with your cloned repository and generated assets never persisted between builds.
The one exception is with opt-in caching. On Codeship Basic we will save your dependencies automatically (but not your code) and on Codeship Pro we will save your images if you explicitly tell us to in your project configuration.
In the case of Codeship Pro’s image caching, we save each project’s images in AWS with security credentials specific to that project.
Yes, from time to time Codeship will hire external parties to examine and audit current security practices.
For various roles, Codeship will hire part-time workers or 3rd party contractors. All employees - full time, part time or external - are given appropriately limited resource access and security requirements.
We have a more detailed security checklist available on request. Get in touch if you need more information.
Note that 3rd party tracking is enabled on all application pages.
NewRelic is used for capturing errors and other data, to help us with debugging issues.
Rollbar is used to collect application exception information for development purposes.
CrazyEgg is used to visually chart the performance of our front-end marketing pages.
Appcues is used to communicate with users based on behavioral metrics.
Segment is our main data analytics platform. We use the data (in aggregate) to see how Codeship is being used and to design improvements and new features.
Google Analytics is used to track visitor data to our front-end marketing pages.
PerfectAudience is used to help optimize our Facebook advertising through anonymized behavior metrics.
Profitwell is used to help notify users when a credit card (stored securely in Braintree, our payments provider) needs to be renewed or updated.
If you have any further questions you can send an email to firstname.lastname@example.org.
We also have a couple of code examples and sample projects available.