Privacy Policy
Last updated November 13, 2026
RelayRunner is an open source project. This policy covers the hosted service its maintainers
run: the dashboard at app.relayrunner.app, its API and webhooks, the RelayRunner GitHub
Apps, RelayRunner's hosted runners, the relayrunner CLI when it talks to that
service, and this website. "RelayRunner", "we" and "us" mean the maintainers who operate it.
If you run RelayRunner yourself from the
source code, you operate your copy
and this policy doesn't apply to it.
The short version
- We collect what we need to route your CI jobs: your GitHub profile, the organizations and repositories you connect, details about workflow runs and jobs, and the machines you connect.
- We don't sell your data, show ads, or train AI models on it. We use PostHog to count visits and see how people use the site and dashboard.
- We don't keep your source code or your job logs.
- Email privacy@relayrunner.app to get a copy of your data or have it deleted.
What we collect
Your account
You sign in with GitHub. GitHub gives us your user ID, username, name, email address and avatar, and an access token that we store to keep you signed in. For each sign-in session we record the IP address and browser user agent, so we can spot sessions you don't recognize.
Workspaces and members
We store your workspaces, one for each GitHub account with the RelayRunner GitHub App installed, and their members and roles, which come from GitHub.
GitHub organizations and repositories
When you install the RelayRunner GitHub App, GitHub tells us about the installation and the repositories it can see: names, IDs and whether each is public or private. If you add an organization's existing self-hosted runners, we store their names and labels. Where the App has permission, we read the organization's GitHub Actions usage report (minutes and amounts per repository) and budget settings to show on the Usage page.
Workflow runs and jobs
GitHub sends us events about workflow runs and jobs in connected repositories. From them we store the repository, workflow and job names, the run's title (usually a commit message or pull request title), branch, commit SHA, pull request number, the GitHub username that triggered the run, runner labels, status, result and timings, along with where we routed each job and why. We use the timings to report minutes used and saved. We don't receive your job logs or your repository secrets.
Connected machines
When you run relayrunner connect, we store the machine's name, operating system
and version, CPU architecture, model, chip, core count and memory, when it was last online,
and a hash of its access token. Jobs that run on your machine use GitHub's own runner, which
talks to GitHub directly. Their code, secrets and logs don't pass through us.
Repository contents, for lint checks only
If you install the separate, optional RelayRunner Checks App and turn on lint, we download
each pull request commit's source archive from GitHub, lint it in a container with no
internet access, post the results to GitHub as check runs (file paths, line numbers and
messages), and then stop the container. We don't keep a copy of your code. We also read your
relayrunner.yml to see which checks you've turned on.
Hosted runners
If a job is routed to a RelayRunner-hosted runner, it runs in a single-use container on Cloudflare. As on any runner, the job's code and secrets are inside that container while the job runs. The container is discarded afterwards.
Logs
Our servers keep request logs, including IP addresses, for debugging and abuse prevention. GitHub webhook deliveries we fail to process are kept for up to 30 days so we can replay them.
This website and cookies
The dashboard uses one cookie to keep you signed in. The website and dashboard also use PostHog, a product analytics service, to record page views and some actions, such as clicking through to sign up. PostHog sets a first-party cookie with a random ID so visits to the website and the dashboard count as one visitor. Once you sign in, we link that ID to your RelayRunner account so we can see which features are used. We don't record your screen or what you type, and we don't use these cookies for advertising.
How we use it
- To run the service: signing you in, routing jobs, showing activity and usage, and posting check results.
- To send service email: a welcome message and security notices when a machine connects or signs in from somewhere new. We don't send marketing email.
- To keep the service secure, fix problems and prevent abuse.
- To meet legal obligations.
Who we share it with
We don't sell personal information. We share it only as follows.
- Cloudflare hosts the service, its database, storage, containers and logs, and sends our email.
- PostHog (United States) receives the page views and product events described above, with your account ID and the visitor's IP address, which it uses to estimate a rough location.
- GitHub. RelayRunner is built on GitHub. We call GitHub's API for your installations, for example to register runners and post check runs.
- Other runner providers. When a job uses a label for another provider, such as Blacksmith, that provider's own GitHub App runs it under your agreement with them. We don't send them your data.
- Your workspace. Members of a workspace can see its machines, runners, activity and usage.
- Maintainers. The maintainers who operate the service can see accounts and workspaces when they need to, to support you or keep the service running.
- When required. If the law requires it, or to protect the service or its users.
- A new operator. If the hosted service moves to a new operator, such as an organization formed to run it, your data moves with it and this policy keeps applying.
How long we keep it
We keep your data while your account or workspace uses the service. Failed webhook deliveries are deleted after 30 days, and request logs after a few days. When you ask us to delete your account, we delete your data except where we must keep it to meet a legal obligation.
Your choices and rights
- Email privacy@relayrunner.app to see, correct, export or delete your data. We honor these requests for everyone, wherever you live.
- Uninstall the RelayRunner GitHub Apps or revoke RelayRunner's access in your GitHub settings at any time.
-
Disconnect machines from the dashboard or by stopping
relayrunner connect.
If you're in the EEA, UK or Switzerland: we process your data to provide the service you signed up for, for our legitimate interests in keeping it secure and working, and to meet legal obligations. You can object to processing, and you can complain to your local data protection authority.
Security
Traffic is encrypted in transit, machine tokens are stored only as hashes, and GitHub webhooks are verified by signature. No system is perfectly secure. Please report vulnerabilities to security@relayrunner.app.
Where your data is processed
Cloudflare runs the service on its global network, so your data may be processed in the United States and other countries.
Children
RelayRunner needs a GitHub account and isn't meant for children under 16.
Changes
If we change this policy, we'll post the new version here and update the date above.
Contact
Privacy questions and requests: privacy@relayrunner.app. Security reports: security@relayrunner.app. Anything else: GitHub issues.