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

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

Who we share it with

We don't sell personal information. We share it only as follows.

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

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.