All pages

Work together

Security

How your code and data are kept apart from everyone else's, and what is not done yet.

Isolation

  • Each deployment runs in its own container: not privileged, with Linux capabilities dropped, and unable to gain new privileges.
  • No file or directory of the server is mounted into it, and it has no access to the container engine.
  • Each project has its own private network. Its database and Redis are reachable only from there; nothing but the web port is reachable from outside, and only through the proxy.
  • Memory, CPU, the number of processes and disk are capped per container.

Secrets

  • Variables, database passwords, storage keys and your GitHub access token are encrypted with AES-256-GCM before they are stored. The key is not in the database.
  • Variable values are never returned by any page or API call, and are masked in logs.
  • API tokens are shown once; only a hash is stored. A token cannot create, list or revoke tokens.

Access

  • Sign-in is through GitHub; there are no passwords to leak here.
  • Every request is checked against the account it belongs to. One account cannot see another's projects, even by guessing an id.
  • Tokens can be read-only or limited to one project, and destructive actions asked for with a token wait for a person.
  • The audit log records who — a person, a token by name, or the platform — did each thing.

What is not done yet

  • Applications share the server's kernel. A stronger sandbox between application and kernel is tested and planned before sign-up opens to the public.
  • The preview runs on a single server: if it is down, applications on it are down.
  • There is no two-factor step beyond the one on your GitHub account.