Security and data
- Isolation:
- every job runs in its own virtual machine, created for that job and destroyed after it;
- the VMM is sandboxed (seccomp, no privileges after setup);
- guests cannot reach our hosts, other jobs, cloud metadata services or private networks, only the public internet;
- shards have no network at all.
- GitHub access:
- the app's only write permission is repository administration, used to register one runner for one job;
- our GitHub App's private key is encrypted at rest;
- hosts never receive it: they get a single-job runner registration.
- Hosts:
- they make outbound connections only, authenticated with per-host tokens;
- a host that fails its health checks (memory scans, hardware errors, replay mismatches) is taken out of service automatically.
- Recordings and artifacts:
- they contain what your job read, including secrets;
- they are readable only by people with access to the repository's installation, and are deleted after 30 days, or on request;
GITHUB_TOKENexpires when the job ends; long-lived secrets used by a job stay as sensitive in its recordings as anywhere else.
- Public repositories: pull requests from forks can run workflows on your runners, as on any self-hosted runner. Use GitHub's "require approval for fork pull requests" setting.
Report a security issue to security@hypervise.sh.