Agreement and eligibility
These Terms of Service (the “Terms”) are an agreement between you and [[Company legal name, Inc.]], [[a Delaware corporation]] (“Runzemi”, “we”, “us” or “our”), with its principal address at [[Street address, City, State ZIP, United States]]. They cover Runzemi, including our website, the dashboard, the Runzemi GitHub App and our runners (together, the “Service”).
By creating an account, installing the Runzemi GitHub App, starting a subscription or otherwise using the Service, you agree to these Terms and to our Acceptable Use Policy, which forms part of them. Our Privacy Policy explains how we handle personal information.
You must be at least 18 years old and able to form a binding contract. If you use the Service for a company or other organization, you confirm that you can bind it to these Terms, and “you” then means that organization. You may not use the Service if the law bars you from doing so, including the laws described in Export controls and sanctions.
The Service
Runzemi provides managed runners for GitHub Actions. When a job in a connected repository sets its runs-on value to a Runzemi runner label, we run it on a fresh, single-use virtual machine (a “VM”) and delete the VM after the job ends. The Service includes:
- Runners: Ubuntu VMs in the runner profiles listed on our pricing page;
- The dashboard: where you connect repositories, migrate workflows, set spend controls, follow runs and logs, and manage billing;
- The Runzemi GitHub App: which connects the Service to the GitHub accounts and repositories you choose.
Only the operating systems, architectures and profiles we list are supported; macOS, Windows and ARM jobs are not. The runner image provides a base set of tools and isn’t designed to match any other runner environment.
Accounts and workspaces
You sign in with your GitHub account. The Service is organized into workspaces, each connected to a personal GitHub account or organization through the Runzemi GitHub App. A workspace created for an organization belongs to that organization. A workspace can have members with different roles. Owners and admins can delete logs; owners, admins and billing members can manage billing.
You are responsible for:
- keeping your GitHub account secure, since access to Runzemi depends on it;
- all activity in your workspace, including every job started by workflows in your connected repositories, whoever or whatever triggered it;
- who has access to your workspace, and what they do with it.
If you believe someone has accessed your account without authorization, tell us right away at security@[[your-domain.com]].
GitHub and the Runzemi GitHub App
Your use of GitHub, including GitHub Actions, remains subject to GitHub’s own terms and policies. Runzemi isn’t affiliated with, endorsed by or sponsored by GitHub. GitHub and GitHub Actions are trademarks of GitHub, Inc.
When you install the Runzemi GitHub App, you choose which repositories it can access. You authorize us to access those repositories, with the permissions the App requests, only as needed to provide the Service – for example, to receive job events, register runners, report results and, when you ask, commit workflow changes. You can change the App’s access or uninstall it on GitHub at any time.
If you migrate workflows from the dashboard, we change only the runs-on values you review, in one commit, either to the branch you select or to a separate branch you can merge with a pull request (for example, when your branch is protected). You’re responsible for anything that commit triggers, such as workflows that deploy on push.
We aren’t responsible for GitHub’s availability, changes to its products or APIs, or actions GitHub takes on your account, repositories or jobs. If a change by GitHub makes part of the Service impractical, we may change or discontinue that part.
Your content
“Customer Content” means the code, workflow files, build outputs, artifacts, logs and other data that you or your workflows provide to, or produce on, the Service. You own your Customer Content.
You grant us a worldwide, non-exclusive, royalty-free license to host, copy, process, transmit and display Customer Content only as needed to provide, secure and support the Service – including running your jobs, storing logs and showing run history – and to comply with law. You confirm that you have the rights to grant this license and that your Customer Content doesn’t violate any law or anyone else’s rights.
Personal data in Customer Content. When Customer Content includes personal data, we process it on your behalf and only on your instructions, as your processor (and as your service provider under the California Consumer Privacy Act). Your instructions are these Terms and the way you use and configure the Service. If you need a data processing agreement, contact privacy@[[your-domain.com]].
The runner masks secrets in job output before it leaves the VM, but masking can miss values that were never registered as secrets or that are printed in a transformed form, so don’t write sensitive data to logs. Logs are stored privately for 30 days, then deleted; workspace owners and admins can delete a job’s logs sooner. GitHub keeps its own copy under its own policies.
We collect information about how the Service is used, such as job counts, durations, queue times and errors, to operate, bill for, secure and improve it, and may use it in aggregated or de-identified form that doesn’t identify you or reveal your Customer Content.
Your responsibilities
You are responsible for your workflows and what they do. In particular:
- Side effects. Jobs run the commands your workflows define, including deployments, package releases, database changes and calls to other services, and any charges those services make.
- Secrets. You decide which secrets and credentials to pass to jobs, and every step of a job can read them. Give jobs only the access they need.
- Third-party code. Choosing and reviewing the actions, containers and packages your jobs run is up to you.
- Spend controls. Set daily spend caps and a concurrency limit that suit you. Daily spend caps reset at 00:00 UTC. Usage within your settings is billable.
- Compliance. Comply with the laws that apply to you and your Customer Content. Unless we agree otherwise in writing, don’t use the Service for data that needs special legal protection, such as protected health information or payment card data.
- Acceptable use. Follow the Acceptable Use Policy.
You must not, and must not help anyone else to:
- get around usage limits, spend controls, billing or security measures;
- access other customers’ data, jobs or VMs, or test the Service’s security except under our security research rules;
- resell, sublicense or rent the Service, or offer runner capacity to others as your own product, without our written agreement (running CI for your clients’ repositories that you’re authorized to use is fine);
- reverse engineer the Service, except where the law allows it;
- interfere with the Service or other customers’ use of it.
How jobs run
- Every job gets a fresh VM. A VM is used for one job only, never reused, and deleted after the job ends.
- Nothing persists between jobs. Files, caches and container images are gone when the job ends. Don’t rely on a VM for storage; save what you need elsewhere before the job finishes.
- Jobs have a time limit. Each repository has a job time limit (“Default job timeout” in the dashboard), currently 60 minutes. If you need longer, contact support@[[your-domain.com]]; it can be raised up to 6 hours. When a job reaches its time limit, we cancel the job’s whole workflow run on GitHub, including jobs on other runners, and the time the job ran is billed.
- Jobs start only when they can be paid for. A job starts only while your workspace has an active subscription, enough balance to cover the job, and room under its daily spend caps and concurrency limit. A job waits if its maximum possible cost would exceed what’s left of today’s spend cap. A waiting job stays in GitHub’s queue, where GitHub may cancel it under its own rules.
- Jobs must fit in the billing period. A job also waits if its time limit, plus a short cleanup allowance, would run past the end of the current billing period; it can start once the next period begins. Included compute can only be used by jobs that can finish within its period.
- Started jobs are never rerun automatically. CI steps can have external side effects, so if a started job fails, is cancelled or loses its runner, whether to rerun it is up to you.
- Jobs can fail. A job may fail, be cancelled or time out because of your workflow, GitHub, capacity limits, infrastructure faults or other causes. We don’t guarantee that any job will start or succeed.
We may limit concurrent jobs, job duration, log size and other resources to protect the Service. Current limits are shown in the dashboard or available from support.
Fees and billing
Subscription
The Service requires a Runzemi Standard subscription at the price shown on our website and in the dashboard, currently $20 (US dollars) per month, billed in advance and renewing monthly until you cancel. You authorize us to charge your payment method for each renewal, for added funds and for any other amounts due under these Terms.
Included compute
Each paid billing period includes compute usage up to the subscription price ($20). Included compute applies only to that period: it expires when the period ends, doesn’t roll over, and has no cash value. It can only be used by jobs that can finish within that period (see How jobs run).
Usage
Usage is measured as the time each GitHub job runs, as shown in the dashboard, rounded up to the next whole second, with a 15-second minimum per job. It’s billed per second at the rate for the job’s runner profile. Queue time is never billed. Rates for each runner profile and the automatic volume tiers are published on our pricing page; tiers are calculated within each billing period. Usage is drawn first from included compute, then from added funds.
When a job starts, we reserve enough of your balance to cover the job running until its time limit plus five minutes, and release what isn’t used once the job’s usage is settled.
Added funds
Owners, admins and billing members can add funds in the dashboard to prepay for usage beyond the included compute. Added funds can be used only for the Service and only while your workspace has an active subscription. If you cancel, your unused balance stays on your account and becomes usable again if you resubscribe. Added funds earn no interest, can’t be transferred, and don’t expire while your account stays open.
Taxes
Prices exclude taxes. You’re responsible for sales, use, value-added and similar taxes on your purchases, other than taxes on our income. Where we must collect tax, we add it to your invoice.
Price changes
We may change prices, included compute, rates, volume tiers or how usage is measured. Price decreases can take effect immediately. For any other change, we’ll give you at least 30 days’ notice by email or in the dashboard, and it applies from your first billing period that starts after the notice ends.
Payments
Payments are processed by Stripe under its own terms. If a payment fails, is disputed or is refunded, we may pause new jobs until it’s resolved. If you think a charge is wrong, contact support@[[your-domain.com]] within 60 days of it.
Cancellation and refunds
You can cancel at any time from the billing portal, which you open from the dashboard. Cancellation takes effect at the end of the current billing period; until then, you can keep using the Service and any remaining included compute, within the limits in How jobs run. Usage before that date remains payable. Unused added funds stay on your account, but can’t be used unless you resubscribe.
Uninstalling the Runzemi GitHub App stops new jobs from reaching Runzemi, but it doesn’t cancel your subscription.
Subscription fees aren’t refundable, and we don’t give prorated refunds or credits for partial periods or unused included compute, except where the law requires it.
Added funds aren’t refundable, except that we refund your unused balance if (a) we close your account for a reason other than your breach of these Terms, (b) we discontinue the Service, (c) we charged you in error, (d) the law requires it, or (e) you close your account within 30 days after we notify you of a price increase or other material change that affects you. Refunds go to the original payment method.
Availability and changes
We work to keep the Service available, but we don’t offer a service level agreement or uptime commitment. The Service may be interrupted for maintenance, capacity shortages, problems at GitHub or our providers, or events outside our control. When practical, we’ll announce planned maintenance that we expect to disrupt jobs.
We may add, change or remove features, runner profiles, image contents and limits. If a change materially reduces the core functionality you pay for, we’ll tell you in advance where practical. If we discontinue the Service, we’ll give at least 30 days’ notice and refund unused added funds.
Suspension and termination
You can stop using the Service at any time. To close your account, cancel your subscription and email support@[[your-domain.com]].
We may immediately suspend or limit all or part of the Service – for example, by not starting new jobs or by cancelling running ones – if:
- you or your jobs violate these Terms or the Acceptable Use Policy;
- your use poses a security or legal risk to us, other customers or third parties;
- a payment fails, is disputed or is refunded; or
- the law requires it.
Where reasonable, we’ll tell you first and give you a chance to fix the problem, and we’ll restore access once it’s resolved.
We may terminate these Terms and close your account if you materially breach them and don’t fix the breach within 15 days of our notice; immediately for serious or repeated violations of the Acceptable Use Policy, fraud or security abuse; or for any other reason with at least 30 days’ notice.
Effect of termination
When your account is closed, your right to use the Service ends, new jobs stop starting, and any amounts you owe become due. Logs are deleted on their normal schedule, within 30 days of being created. Within 90 days of closure, we delete or de-identify other workspace data, such as run history, settings and the event records we received from GitHub, WorkOS and Stripe, except records we must keep for legal, tax, billing, dispute or security reasons, which we keep only as long as needed.
Download anything you want to keep before your account is closed. Your code and workflow files stay in your GitHub repositories. Provisions that by their nature should survive termination will survive, including fees owed, confidentiality, disclaimers, limitation of liability and indemnification.
Confidentiality
“Confidential Information” is non-public information one party shares with the other in connection with the Service that is marked confidential or would reasonably be understood to be. Your Customer Content is your Confidential Information.
The receiving party will use the other’s Confidential Information only for these Terms, protect it with reasonable care, and share it only with people and service providers who need it and are bound by similar obligations. This doesn’t apply to information that is public through no fault of the receiving party, already known to it, independently developed, or lawfully received from someone else. A party may disclose Confidential Information when the law requires, with prompt notice to the other where allowed.
Security
We use reasonable technical and organizational measures designed to protect the Service and Customer Content, including running every job on a single-use VM that’s deleted after the job. No system is perfectly secure, and we can’t guarantee that unauthorized access or loss will never happen. If we confirm unauthorized access to your Customer Content, we’ll notify you without undue delay and as the law requires.
You’re responsible for security on your side: your GitHub accounts, your workflows, the code they run and the secrets you give them. Report vulnerabilities to security@[[your-domain.com]], following our security research rules.
Feedback
If you send us suggestions or feedback, we may use them without restriction or obligation to you. Feedback doesn’t include your Customer Content.
Third-party services
The Service relies on third-party services, including GitHub, Stripe for payments, and providers of infrastructure, hosting, storage and email. We remain responsible for our obligations under these Terms when we use them.
Services you use directly – GitHub, Stripe’s checkout and billing portal, and any actions, registries or services your workflows call – are governed by their own terms, and we aren’t responsible for them.
Disclaimers
EXCEPT AS EXPRESSLY STATED IN THESE TERMS, THE SERVICE IS PROVIDED “AS IS” AND “AS AVAILABLE.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, RUNZEMI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. WE DON’T WARRANT THAT THE SERVICE WILL BE UNINTERRUPTED, ERROR-FREE OR SECURE, THAT ANY JOB WILL START OR SUCCEED, THAT THE RUNNER IMAGE WILL INCLUDE ANY PARTICULAR SOFTWARE, OR THAT DATA WON’T BE LOST.
Some jurisdictions don’t allow the exclusion of implied warranties, so some of these exclusions may not apply to you.
Limitation of liability
TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER PARTY NOR ITS SUPPLIERS WILL BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY OR PUNITIVE DAMAGES, OR FOR LOST PROFITS, REVENUE, GOODWILL OR DATA, BUSINESS INTERRUPTION, OR THE COST OF SUBSTITUTE SERVICES, ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICE, UNDER ANY THEORY OF LIABILITY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
TO THE MAXIMUM EXTENT PERMITTED BY LAW, EACH PARTY’S TOTAL LIABILITY ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICE WILL NOT EXCEED THE AMOUNTS YOU PAID TO RUNZEMI FOR THE SERVICE IN THE 12 MONTHS BEFORE THE EVENT GIVING RISE TO THE CLAIM.
These limits don’t apply to your payment obligations, your indemnification obligations, your breach of the Acceptable Use Policy, or liability that can’t be limited by law.
Indemnification
You will defend Runzemi and its affiliates, officers, employees and agents against any third-party claim, and indemnify them for resulting damages, losses, costs and reasonable attorneys’ fees, to the extent the claim arises from your Customer Content, your workflows and jobs and their effects, your breach of these Terms or the Acceptable Use Policy, or your violation of law or anyone’s rights.
We’ll notify you promptly, let you control the defense, and cooperate reasonably at your expense. You may not settle a claim in a way that imposes obligations on us or admits fault for us without our written consent.
Export controls and sanctions
The Service is subject to US export control and sanctions laws. You confirm that you aren’t located in, or organized under the laws of, a country or region subject to comprehensive US sanctions; that you aren’t on, or owned or controlled by anyone on, a US government restricted-party list; and that you won’t use the Service to export or transfer software, technology or data in violation of those laws. We may suspend or close accounts to comply with them.
Governing law and venue
These Terms are governed by the laws of [[the State of Delaware]] and applicable US federal law, without regard to conflict-of-laws rules. Any dispute arising out of or relating to these Terms or the Service will be brought exclusively in the state and federal courts located in [[County, State]], and each party consents to the personal jurisdiction of those courts. Either party may seek injunctive relief in any competent court to protect its intellectual property or Confidential Information.
Before filing a claim, please give us a chance to resolve it informally by writing to legal@[[your-domain.com]].
Changes to these Terms
We may update these Terms, including the Acceptable Use Policy. The “Last updated” date above shows when they last changed. For material changes, we’ll notify you by email or in the dashboard at least 30 days before they take effect; changes required by law or to address security or abuse may take effect sooner. If you keep using the Service after a change takes effect, you accept the updated Terms. If you don’t agree, stop using the Service and cancel before then.
This version is effective as of .
General terms
- Assignment. You may not assign these Terms without our written consent. We may assign them to an affiliate or in a merger, acquisition or sale of substantially all of our assets.
- Force majeure. Neither party is liable for delays or failures, other than payment, caused by events beyond its reasonable control, including failures of the internet, utilities or third-party providers such as GitHub.
- Severability. If a provision is unenforceable, it will be enforced to the extent permitted and the rest of these Terms remain in effect.
- Entire agreement. These Terms, including the Acceptable Use Policy, are the entire agreement between you and us about the Service and replace any prior agreements on that subject.
- No waiver. Not enforcing a provision isn’t a waiver of the right to enforce it later.
- Notices. We may send notices by email to the address on your account or in the dashboard. Send legal notices to legal@[[your-domain.com]] or by mail to [[Company legal name, Inc.]], [[Street address, City, State ZIP, United States]].
- Electronic communications. You agree to receive notices, invoices and other communications from us electronically, and that they satisfy any legal requirement that they be in writing.
- Copyright complaints. If you believe material stored or processed on the Service infringes your copyright, send a notice that meets 17 U.S.C. § 512(c)(3) to legal@[[your-domain.com]]. We may remove or disable access to that material and, in appropriate circumstances, close the accounts of repeat infringers.
- Independent contractors. These Terms don’t create a partnership, joint venture, employment or agency relationship, and give no rights to third parties.
Contact
- Legal questions and notices: legal@[[your-domain.com]]
- Support and billing: support@[[your-domain.com]]
- Abuse reports: abuse@[[your-domain.com]]
- Security vulnerabilities and unauthorized account access: security@[[your-domain.com]]
- Mail: [[Company legal name, Inc.]], [[Street address, City, State ZIP, United States]]