Skip to content
Sengi

Sengi service terms

These terms are the agreement between you — the account holder, and the organization you act for — and Clay Cantrell, an individual doing business as Sengi in the United States ("Sengi", "we", "us"), who operates the Sengi service at sengi.run and app.sengi.run. By creating an account or running a job on Sengi you agree to them.

Published September 21, 2026. Last updated October 11, 2026.


1. The service

1.1 Sengi runs your GitHub Actions jobs on virtual machines we operate, instead of on GitHub-hosted runners. Your workflows, triggers, secrets, logs and merge decisions stay in GitHub; we supply the machine the job runs on.

1.2 We offer three runner sizes, all Ubuntu 24.04 on x64:

Runner labelvCPUMemory
sengi-standard-2-ubuntu-240428 GB
sengi-standard-4-ubuntu-2404416 GB
sengi-standard-8-ubuntu-2404832 GB

1.3 Every job gets its own fresh virtual machine, destroyed when the job ends. Nothing on that machine survives into another job, yours or anyone else's.

1.4 We do not offer Windows, macOS or ARM runners, and we do not sell virtual machines, managed databases, Kubernetes, storage or any other cloud product. Sengi is runners.

1.5 You need a GitHub account, the right to install a GitHub App on the repositories you connect, and to be old enough to enter a contract where you live.

2. Your account and GitHub authorisation

2.1 Accounts are created by signing in with GitHub; there is no separate Sengi password. We store your GitHub user ID, the profile GitHub returns, and your verified primary email address.

2.2 Your work lives in a project, which owns its GitHub App installation, connected repositories, job history and billing. People you add to a project can see its data, and those you give billing permission can act on its billing. You are responsible for who you add.

2.3 You install the Sengi GitHub App yourself and choose which repositories it may see. It asks for Administration: write, to register a runner for a job. It also still holds Contents: write, Workflows: write and Pull requests: write from a setup assistant we have retired; Sengi no longer uses them and will remove them from the App. Connecting the installation to your project is what lets Sengi run jobs for the repositories it can see.

2.4 We cannot configure your side for you: no support route binds your installation, approves a repository, edits your workflow files, mints a token or chooses a runner label on your behalf.

2.5 You may revoke your authorisation, or uninstall the App, at any time; we then stop being able to act on your repositories. That neither deletes records we already hold nor cancels an amount you owe. Keep your GitHub account secure: activity through your authorised installation is treated as yours.

3. What we change in your repository

3.1 Sengi does not change your repository. You switch a job by changing its runs-on value to a Sengi label yourself, or by having a coding agent you run make that change from the prompt we publish; either way it goes through your own review, branch protection and required checks.

3.2 Sengi places a job on whatever runner label GitHub sends with it, and we do not read your workflow files at run time. To stop, change the labels back or revert the change.

3.4 We support jobs whose runs-on is a single plain runner label. Expressions, matrices, reusable workflow calls and files we cannot parse safely are reported as unsupported rather than guessed at.

4. Acceptable use

4.1 Sengi runners are for continuous integration and delivery of your own software: building, testing, deploying and publishing the code in the repository that runs the job. Do not use them for:

  • security testing or scanning of systems you do not own or operate, including port and vulnerability scanning, even under a third-party bug-bounty program;
  • cryptocurrency mining or similar proof-of-work;
  • general-purpose compute unrelated to the repository's software;
  • sending unsolicited bulk email, or relaying mail for third parties;
  • denial-of-service, credential stuffing or other attacks on anyone;
  • running a persistent public service, a proxy, a VPN exit or a tunnel;
  • distributing malware, or content you have no right to distribute;
  • attempting to reach our hosts, our control plane or another customer's runner from inside a job;
  • circumventing capacity, spending or concurrency limits;
  • anything unlawful where you are, or where we operate.

4.2 Your job runs with root on its own machine and with ordinary public network access, because Actions jobs must reach GitHub, package registries and your dependencies. Section 4.1 is an agreement, not a filter: most of it is not technically prevented, and we act on abuse after the fact. Heavy CPU use is not by itself evidence of abuse.

4.3 You are responsible for the code you run, for the third-party actions and dependencies you pull into a job, and for your right to use them.

4.4 We may suspend an account that breaks section 4.1, as described in section 10.2. The terms of our hosting provider also prohibit several of these uses, such as scanning other networks and cryptocurrency mining.

5. Your data

5.1 What we hold. Your account (GitHub user ID, profile and verified email address); your connection (the App installation and the repositories you approved); for changes approved through the retired setup assistant, the exact preview of the runs-on edit and your consent record, encrypted in our database; job records (run and attempt IDs, status, timestamps, runner size and image, metered minutes and amounts); and billing details, your payment-provider customer record and your invoices.

5.2 What we do not hold.

  • Your job logs. Those stay in GitHub, and we link to them there.
  • Your repository secrets, environment variables or workflow outputs.
  • Your GitHub OAuth token, or GitHub installation access tokens.
  • Your card number. Card details go to our payment processor and never to us.
  • Anything written to the job's disk, which is destroyed with the machine and excluded from backups.

5.3 How long we keep it.

Optional job and workflow titles may expire after 90 days without new activity. Eligible processed delivery details may expire after 30 days. We keep the execution, billing and unresolved-incident records needed to explain your job history and prevent duplicate charges.

Those are eligibility thresholds rather than deadlines: an unresolved incident or an unpaid charge can keep a record longer. Job records, usage and invoices are not deleted automatically, because they are how we explain a charge to you and avoid billing you twice for one job. Disconnecting a repository or uninstalling the App does not erase job history.

5.4 We use your data to run the service, bill you, investigate abuse and incidents, and contact you about your account. We do not sell it and we do not use it to train models. We can read your project's records in our operator console to answer a support request or investigate an incident, and those actions are logged. Write to ops@sengi.run for a copy of your data, or to ask us to delete what we are not required to keep.

5.5 The signed-in application loads a small amount of pinned, integrity-checked JavaScript and stylesheets from the jsDelivr CDN, so your browser's request reaches jsDelivr when you use it. The public pages, including this one, load only our own files. We run no analytics, advertising or session-recording services. We keep where you first came from (the referring site, the page you landed on, any campaign tags in the link and the time of that first visit, held in a first-party cookie until you sign up) with your account to understand how people find us, and use no third-party trackers.

6. Security and isolation

6.1 Each job runs in its own virtual machine, with its own network namespace, network interface, encrypted disk and CPU, memory and I/O limits, all destroyed when the job ends. Inbound access to a runner is restricted to our own control plane.

6.2 We treat your job as untrusted and hand it as little as we can: no service API token, no cache credential and no management access reaches a runner.

6.3 We have no security certification, no completed third-party audit and no penetration test to show you, and we will not imply otherwise. Weigh that before you move production CI here.

6.4 Report a vulnerability to ops@sengi.run rather than in a public issue. We will credit reporters on request, but we publish no acknowledgement or assessment target.

6.5 If we believe a host has been compromised we will take it out of service, rotate the credentials that reached it, rebuild it, and give affected customers notice under section 13.5 of what we know and when.

7. Pricing and billing

7.1 Rates. Execution is billed per minute, in US dollars, at the rates published at sengi.run. The rate that applies to a job is the published rate in effect when the completed job is recorded. Rates are exclusive of tax, which is calculated and itemized separately on your invoice.

7.2 Free minutes. Each account gets 3,000 free minutes per calendar month (UTC), shared across its projects and weighted by runner size:

Runner sizeFree minutes used per job-minute
2 vCPU / 8 GB1
4 vCPU / 16 GB2
8 vCPU / 32 GB4

So the allowance is 3,000 minutes on the 2 vCPU size, 1,500 on 4 vCPU, 750 on 8 vCPU, or any mix. Unused free minutes do not carry into the next month.

7.3 How a job is metered. We meter the interval GitHub reports between a job starting and completing, and round it up to a whole minute once for that job: a 60-second job uses one minute, a 61-second job two. We do not bill GitHub's queueing, our provisioning, the wait before GitHub assigns your job, or host cleanup afterwards. A job that never executed costs nothing. A job whose tests fail, or which your own timeout-minutes ends, is billed as an ordinary outcome. If a fault on our side aborts your job, we credit it in full.

7.4 What you pay. Usage is recorded after each job runs. Free minutes are applied first as a credit, and usage beyond them is charged to the card on file monthly. There is no pre-authorisation and we never hold funds in advance. Invoices are available on your project's billing page.

7.5 No payment method. You do not need a card to start. If you have no valid payment method on file, we may refuse new jobs once your free minutes for the month are used up.

7.6 Payments. Payments are processed by Stripe. Card details go to Stripe; we never see or store a card number. Adding a card authorizes us to charge it monthly for usage after free credits. Your project's billing page shows your billing details, payment methods and invoices.

7.7 Non-payment. If a monthly charge fails, your invoice remains unpaid. You can review the invoice and pay it from your project's billing page. We may pause new jobs until payment succeeds, and will give you notice under section 13.5 before we do.

7.8 Changes and disputes. We may change our rates; a change applies from an announced effective date and never reprices a job that has already run. If you think a charge is wrong, write to ops@sengi.run within 60 days of the invoice and we will check it against the job records behind it.

8. Availability and support

8.1 No uptime commitment. Sengi is a small service running on a small amount of hardware. There is no failover, no redundancy and no service-level agreement. If a host is unavailable your jobs queue or fail until it is back. Nothing in these terms is an uptime promise, and you should not build a release process that cannot tolerate Sengi being down.

8.2 Capacity and maintenance. Jobs above what we can currently place wait in GitHub's queue and start when capacity frees up. We do not send your jobs to another provider and we do not silently move you to a larger runner. We may take hosts out of service for maintenance; where we can plan it, we will give notice under section 13.5.

8.3 Support. Write to ops@sengi.run. We answer as quickly as we reasonably can and publish no response-time targets. Support cannot run, retry or reconcile a GitHub job for you, complete your setup for you, or read your job logs except through the same GitHub links you have.

9. Third parties we rely on

WhoWhat they doWhat of yours reaches them
GitHubSign-in, the App installation, repository access, workflow definitions, job assignment and logsEverything you already keep in GitHub; our App acts with the permissions you granted
StripePayment-method setup, card charges and the hosted payment pageYour billing identity, your card details and your invoice amounts
HetznerThe physical machines that run your jobs and hold our records, in Helsinki, FinlandPhysical and network custody of those machines
jsDelivrServing the pinned JavaScript and stylesheets the signed-in application loadsYour browser's request to the CDN, including its IP address and headers, while you use the application

This table lists the providers customer data reaches in the ordinary running of the service, and we will update it before adding another. We do not guarantee where your data is processed beyond what it says, and we offer no data-residency option.

10. Suspension and termination

10.1 You can leave at any time. Change the labels back, disconnect a repository, or uninstall the App. There is no term, no notice period and no cancellation fee, because there is no subscription. You still owe what you have already used.

10.2 We may suspend you — stopping new jobs, without deleting anything — if you breach section 4, if an invoice goes unpaid, if your account is being used fraudulently, or if we must in order to protect the service or another customer. Where the situation allows it we will tell you first; where it does not, we will tell you as soon as we can, under section 13.5, saying what we did and why. A suspension for abuse may extend to every project an account belongs to. Jobs already running are left to finish where that is safe; where we stop them, you are billed only for the execution that actually happened.

10.3 We may end the service for your account on 30 days' notice given under section 13.5, or immediately where section 4 or the law requires it. On ending, we stop new jobs, let running work finish where it is safe to, issue a final invoice for usage actually incurred, and keep the records described in section 5.3.

10.4 Sections 5, 7, 11, 12 and 13 survive the end of this agreement.

11. Your content and our marks

11.1 Your code stays yours. Nothing here grants us a licence to your repositories beyond what we need in order to run the jobs you ask us to run.

11.2 "Sengi" and our logo are ours. You may say you use Sengi; please do not imply we endorse or sponsor you. Feedback you send us we may use freely and without obligation.

12. Disclaimers and limitation of liability

12.1 Sengi is provided "AS IS" AND "AS AVAILABLE". TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. We do not warrant that the service will be uninterrupted, timely, secure or error-free, or that any job will run, complete or produce a particular result.

12.2 You are responsible for keeping your own copies of anything you need. Sengi is not a backup or an archive, and job machines are destroyed by design.

12.3 To the maximum extent the law allows, neither party is liable for indirect, incidental, special, consequential, punitive or exemplary damages, or for lost profits, revenue, business or data, or the cost of substitute services, however caused, even if told such damages were possible.

12.4 TO THE MAXIMUM EXTENT PERMITTED BY LAW, OUR TOTAL LIABILITY ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICE, FOR ALL CLAIMS TAKEN TOGETHER, IS LIMITED TO THE GREATER OF THE FEES YOU ACTUALLY PAID US IN THE TWELVE MONTHS BEFORE THE EVENT GIVING RISE TO THE CLAIM, OR US$100. These limits are a fundamental part of the bargain between us and apply even if a limited remedy fails of its essential purpose.

12.5 Nothing here excludes or limits liability that cannot lawfully be excluded, including liability for death or personal injury caused by negligence, or for fraud.

12.6 You will indemnify us against third-party claims arising from your use of Sengi in breach of section 4 or of the law.

13. Changes, general terms and governing law

13.1 We may change these terms and will publish the changed version, with its date, at sengi.run/terms. For a material change we will give notice under section 13.5 at least 30 days before it takes effect. Continuing to use Sengi after that date means you accept the change; if you do not, stop using the service before then. A rate change never reprices a job that has already run.

13.2 These terms are governed by the laws of the United States, and the state and federal courts located in the state where the operator resides have exclusive jurisdiction over disputes arising from them.

13.3 These terms are the entire agreement between us about Sengi and replace any earlier version. If a court finds a provision unenforceable, the rest stays in force, and our not enforcing a provision on one occasion is not a waiver of it.

13.4 You may not transfer your rights under these terms without our written consent; we may transfer ours to a successor to the business. Neither party is liable for a failure to perform caused by something outside its reasonable control.

13.5 How we give you notice. Where these terms say we will tell you something, we publish it at sengi.run/terms with the date it takes effect, and we will also send it to your account email address wherever we are able to. We cannot guarantee email delivery, so email is never the only channel we use and should not be the only one you rely on: keep your account address current, and check the terms page and your project's billing page, which shows your invoices and their status. Notices to us go to ops@sengi.run.

14. Contact

DetailValue
OperatorClay Cantrell, an individual doing business as Sengi, in the United States
Servicesengi.run and app.sengi.run
Support, billing, abuse, security and privacyops@sengi.run
Governing law and courtsUnited States law; the state and federal courts located in the state where the operator resides