1Who this agreement is between
These terms are an agreement between you and Yuvi Co. LLC, a Florida limited liability company that operates as Zetesis ("Zetesis", "we", "us" or "our"). They cover your use of Zetesis Sustain ("Sustain"), including the website at sustain.zetesis.dev and the Sustain dashboard and service.
By creating an account, or by using Sustain, you agree to these terms. If you don't agree, don't create an account or use Sustain.
If you use Sustain on behalf of a company, an agency or a client, you accept these terms for that organization and confirm you have the authority to do so. In that case "you" means the organization.
Our Privacy Policy explains how we handle personal data. Where we process personal data on your behalf, our Data Processing Agreement forms part of these terms.
2What Sustain is
Sustain is an automated maintenance service for custom software. You connect the systems your app runs on. Sustain builds a project profile that you can read and edit, runs scheduled checks against that profile and a curated rulebook, and reports what it finds in plain English. Depending on your plan, it can also prepare and ship fixes under the controls in section 6.
Sustain is software. Under these terms, no person at Zetesis writes, reviews or ships changes to your app. When Sustain can't make a change safely, it writes a handoff brief for you or your own developer instead.
At launch, Sustain supports Flutter apps built on Firebase, with optional connections to Stripe, Cloudflare and AWS.
Before general availability, some features may be limited, change or be withdrawn, and we may invite you to use Sustain before everything described on our website is available.
3Your account
You must be at least 18 and able to form a binding contract to create an account. Sustain is a business service and isn't offered to consumers.
Give us accurate information and keep it current. Keep your sign-in secure. You're responsible for what happens under your account, including actions by teammates you invite. If you think someone has used your account without permission, email yuvi@zetesis.dev straight away.
Each teammate you invite gets the role you choose: owner, admin, member or viewer. Owners and admins can connect systems and change the rules for their organization's apps.
4Plans, fees and trials
Sustain is sold per app, per month, on three plans: Watch, Maintain and Autopilot. Risk and policy checks are an add-on on any plan. Agencies can choose light branding, or full white-label for a separate monthly fee. Our pricing page describes what each plan includes when you subscribe.
Fees are charged monthly in advance through Stripe and renew automatically until you cancel. You can cancel at any time, and the cancellation takes effect at the end of the period you've paid for.
If you start with a trial, we show its length when you sign up.
We'll give you at least 30 days' notice of a price increase, and it applies from your first billing period after the notice ends.
Fees don't include taxes. You're responsible for the taxes that apply to your purchase, other than taxes on our income.
If a payment fails and isn't fixed within 14 days of our notice, we may pause checks and fixes until it is.
5Connecting your systems
You choose which systems to connect. Sustain uses delegated access wherever it can: GitHub App installations, roles you grant to a Sustain service account on Google Cloud, and a cross-account role on AWS. Where a provider offers no delegated option, such as App Store Connect, Stripe or Cloudflare, you create a key and give it to Sustain.
You confirm that you have the right to give Sustain the access you grant, including for any system that belongs to your client or employer.
Sustain asks only for the access your plan needs. Our trust page sets out what each plan can reach. You can revoke access at any time, either in the provider's own settings or by disconnecting the system in Sustain. Revoking access stops the checks and fixes that depend on it.
You remain responsible for your own systems, including their configuration, branch protection, CI, tests, backups, release process and security. Sustain won't open fixes in a repository whose default branch accepts direct pushes from Sustain.
6What Sustain may change, and how you control it
Watch
On Watch, Sustain has read-only access. It never changes your code or your systems.
Maintain
On Maintain, Sustain may create branches, open pull requests, and re-run or start CI workflows in the repositories you connect. A fix merges only when you approve it.
Autopilot merges
On Autopilot, you authorize Sustain to merge a fix without asking you first, but only when all of these are true:
- Sustain has proven that type of fix in its own evaluations.
- Your app has a run of approved fixes of that type with no rollback.
- Your rules for that app allow it.
- CI passes and staging is healthy.
You can move any app back to Maintain at any time.
Safety brakes
On Autopilot, you also authorize Sustain to take these actions in your production systems when a release crosses the thresholds shown in your dashboard:
- Halt a staged Google Play rollout.
- Pause an App Store phased release.
- Turn off a Remote Config switch that Sustain created.
- Roll Firebase Hosting back to the previous release.
Brakes run on fixed code with thresholds you can see and change. No AI model decides to fire one. Sustain tells you in plain English each time a brake fires, and only you can lift it. Sustain never deploys, promotes or resumes a release.
Emergency rollback
When you start an emergency rollback under section 17, you authorize Sustain to take the recovery actions described there on the app you choose. With your confirmation on the day, that includes halting a staged Google Play rollout, pausing an App Store phased release, turning off Remote Config switches Sustain created, and rolling Firebase Hosting back to the release before the incident. This applies on Maintain as well as Autopilot. On Maintain, you grant the permissions these actions need for the emergency, and Sustain stops using them when the emergency ends.
Starting an emergency rollback is your approval to merge the pull request that restores your code, once its checks pass.
What Sustain never does
On any plan, Sustain never runs a production deploy, never pushes to your default branch, and never moves money or pays a bill for you.
Your part
You're responsible for reviewing the changes you approve, for the rules and thresholds you set, and for what your own pipeline does after a merge.
7Findings, reports, briefs and AI
Sustain uses AI models from the third parties named in our Privacy Policy to summarize findings, write reports and briefs, and prepare fixes. AI output can be wrong or incomplete.
Findings, reports and briefs are information to help you decide what to do. They don't guarantee that your app is secure, working, available or up to date, and Sustain may not find every problem.
Sustain checks your app at the intervals your plan sets, so it can miss something that starts and ends between checks. It isn't an incident response service.
We cite a published source for every platform deadline Sustain tracks. Apple, Google and other providers can change their requirements without notice.
If you turn on Teach me, a finding can come with a lesson on why the problem was a risk and how to avoid it, with an example from your code. A lesson is guidance like the rest of this section, and can be wrong or incomplete.
Risk and policy checks flag possible store policy, privacy and accessibility issues. They aren't legal advice, and they never confirm that your app complies with any law or store policy. Talk to a lawyer about compliance.
8Your content
"Your content" means the code, configuration, data and other material in the systems you connect, plus what you add to Sustain yourself, such as edits to your project profile and the rules you set.
You own your content. You also own the changes Sustain prepares for your app, and we assign to you any rights we have in them.
You give us permission to host, copy, process and transmit your content only as needed to provide, secure and support Sustain for you, as described in the Privacy Policy and the Data Processing Agreement.
We don't sell your content, and we don't use it to train or fine-tune AI models. What Sustain learns about your app goes into your project profile, which you can read and edit. When your edit and Sustain's reading disagree, your edit wins.
Lessons you save stay with your account across organizations. A lesson's example from code is part of that app's content, so only people who can see the app see it. On Autopilot you can export your saved lessons for AI coding tools. An export holds the general lessons only, never code from an app, and like the rest of Sustain you may use it only while your subscription is active.
We may use aggregated information about how Sustain performs, such as whether a type of fix passed its tests, to improve our rules and evaluations. That information won't include your code or identify you or your app.
9Acceptable use
You agree not to:
- connect a system you aren't authorized to connect
- use Sustain for anything unlawful, or to process content you have no right to
- try to get around Sustain's permissions, limits or safety controls, including by planting instructions in a repository to change how the agent behaves
- probe, scan or test the security of Sustain without our written permission; report vulnerabilities to yuvi@zetesis.dev instead
- copy, reverse engineer or resell Sustain, except as an agency plan allows
- use Sustain to build a competing product
- overload Sustain or interfere with other customers' use of it
We may suspend or restrict an account that breaks this section, as section 13 describes.
10Agency plans and white-label
An agency plan lets you offer Sustain to your own clients. Light branding shows your logo and name alongside "powered by Zetesis Sustain". Full white-label removes Zetesis marks from what your clients see, uses your own domain and email sender, and has its own monthly fee, as our pricing page describes.
You're responsible for your clients' use of Sustain, for having your clients' authority to connect their systems, and for your own agreement with each client.
Before you add a client's app to Sustain, you must have that client's authority, in writing, to connect its systems and to accept these terms on its behalf. If you don't have that authority, don't add the client's app. Ask the client to accept these terms directly first. We may ask you for proof of that authority, and we may pause a client's workspace until you give it.
While your agency plan is active, and for 12 months after it ends, we won't knowingly approach a client you manage in Sustain to sell them Sustain directly. This doesn't stop a client from coming to us on their own.
Where you process your clients' personal data through Sustain, the Data Processing Agreement explains each party's role.
11Our property
We own Sustain, including its software, rulebook, evaluations, documentation and brand. These terms give you the right to use Sustain while your subscription is active. They don't transfer any of our intellectual property to you.
If you send us feedback or ideas, we may use them without owing you anything.
12Confidentiality
Each of us may receive information from the other that is marked confidential, or that a reasonable person would treat as confidential. Each of us will protect the other's confidential information with at least reasonable care and use it only for the purposes of this agreement.
This doesn't cover information that becomes public through no fault of the receiver, that the receiver already knew, that the receiver gets from someone else without a duty of confidence, or that the receiver develops independently. Either of us may disclose confidential information when the law requires it, after giving the other notice where the law allows.
13Security and suspension
We protect your data with the measures described in Annex II of the Data Processing Agreement. If we become aware of a security incident affecting your data, we'll tell you without undue delay.
We may pause Sustain's checks, or switch off its ability to make changes, for one app or for everyone, when we reasonably believe it's needed to protect you, other customers or Sustain. Examples include a security risk, a breach of section 9, or a failed payment. We'll tell you why, and in advance where we can.
14Ending the agreement
These terms last until your account is closed. You can cancel your subscription or close your account at any time.
Either of us may end this agreement if the other materially breaches it and doesn't fix the breach within 30 days of written notice. We may also end it for any reason with 30 days' notice, and if we do, we'll refund fees you prepaid for the time after it ends.
When the agreement ends, Sustain stops its checks, deletes the credentials it stored, and stops using the access you granted. We'll prompt you to uninstall the GitHub Apps and remove the roles you granted, since those live in your own accounts. You can export your data for 30 days, and after that we delete it as the Privacy Policy and the Data Processing Agreement describe. Changes already merged into your repositories stay there.
Sections 8, 11, 12, 15, 16, 17, 18, 19 and 21 continue after the agreement ends.
15Disclaimers
Sustain is provided "as is" and "as available". To the fullest extent the law allows, we disclaim all warranties and conditions, whether express, implied or statutory, including merchantability, fitness for a particular purpose, title, non-infringement, accuracy, and uninterrupted or error-free operation.
We don't warrant that Sustain will find every issue; that its findings, reports, briefs or AI output will be accurate, complete or timely; that its fixes will be free of defects; that its safety brakes will fire when needed, or only when needed; or that your app will stay available, secure or compliant.
You use Sustain at your own risk. You acknowledge that Sustain relies on automated systems and AI models that can make mistakes, and that you're responsible for reviewing changes, for the rules and thresholds you set, and for backing up and testing your own systems.
16Limits on liability
To the fullest extent the law allows:
Zetesis isn't liable for any indirect, incidental, special, consequential, exemplary or punitive damages, or for any lost profits, revenue, data, goodwill or business opportunity, or business interruption, however caused and under any theory of liability, even if told they were possible.
Zetesis isn't liable for any loss arising from: changes you approved; fixes merged under Autopilot rules you enabled; safety brakes firing, not firing, or firing late; findings, reports, briefs or AI output; issues Sustain didn't detect or report in time; anything your own pipeline does after a merge; or the acts or failures of third-party services, including GitHub, Google, Apple, Stripe, Cloudflare and AWS.
Zetesis's total liability for all claims arising out of or relating to these terms or Sustain won't exceed the fees you paid for Sustain in the one month before the event that gave rise to the claim.
Your remedies for a Sustain-caused incident are those in section 17.
These limits apply even if a remedy fails of its essential purpose. They don't apply to your obligation to pay fees or your obligations under section 18, and they don't limit liability that the law doesn't allow to be limited.
17Remedies for a Sustain-caused incident
What counts
A "Sustain-caused incident" is an outage, failed release or broken build in your app that your audit log shows was caused by a change Sustain made. It's "critical" if it takes your live app down, makes it crash for your users, loses data, or blocks you from releasing.
Rollback and audit
Every change Sustain makes is recorded in your audit log, and you can undo any of them at any time with rollback, which reverts the change through the same checks as the fix. You agree to use rollback promptly when a change causes a problem.
Emergency rollback
You get one emergency rollback in any 12 months, for use after a critical Sustain-caused incident. On an agency plan, each client workspace gets its own. When you start it, Sustain:
- stops making changes: it switches off every change Sustain can make to the app, pauses Autopilot, cancels queued work and closes its open pull requests
- restores your code to a point in time you choose, in one pull request that undoes every Sustain change since then, newest first, while keeping changes your people made. Where a change of yours conflicts, it stops and writes a brief for your developer instead of guessing
- goes ahead of all other work, without the usual limits on runs and open pull requests
- with your confirmation, takes the recovery actions in section 6 on your live app
- gives you an incident report: a plain-English summary and a technical timeline from the audit log of what changed, what was undone and what is left, which you can export
- watches your app closely for 48 hours, with uptime checks every minute and hourly scans whatever your plan, and stops the fix types involved from merging on their own on that app until you turn them back on
An emergency rollback restores code and releases. It can't recall app versions already installed on your users' devices, and it can't restore data your app lost.
Service credits
For each Sustain-caused incident, you receive a credit equal to one month of the affected app's plan, applied to your next invoice. We apply credits when your audit log shows the cause, and you may also request them within 30 days of the incident. Each app can receive at most three credits in any 12 months. Credits have no cash value, can't be transferred or exchanged for money, and end when your account closes.
Refund and exit
After you use an emergency rollback, you may, within 30 days of the incident, choose to leave Sustain with a refund of the fees you paid for your current billing period. If you choose it:
- we refund those fees to your original payment method
- your subscription ends at once and doesn't renew
- Sustain deletes every stored key and stops using the access you granted, and we'll prompt you to uninstall our GitHub Apps and remove the roles you granted
- we delete your account and everything in it, including your projects, profiles, findings, reports, conversations, audit log and incident reports, within 30 days, except billing records the law requires us to keep
- any unused service credits end
On an agency plan, refund and exit applies to the client workspace where the incident happened. We refund the fees you paid for that workspace's apps for the current billing period, end Sustain for that workspace, and delete the workspace and everything in it the same way. The rest of your agency account carries on.
This can't be undone. You can subscribe again later, starting from nothing. Accepting the refund is a full and final settlement of all claims arising from the incident.
Exclusive remedy
The remedies in this section are your sole and exclusive remedies for a Sustain-caused incident.
18Indemnity
You'll defend, indemnify and hold harmless Zetesis and its members, managers and contractors from any claims, losses, damages and costs, including reasonable legal fees, arising from your content, your use of Sustain, the systems you connect, the changes you approve or allow Autopilot to merge, or your breach of these terms.
19Disputes
Before starting any proceeding, you'll give us written notice of the dispute, and we'll both try in good faith to resolve it for 30 days.
Any dispute, claim or controversy arising out of or relating to these terms or Sustain will be resolved by final and binding arbitration before a single arbitrator, administered by the American Arbitration Association under its Commercial Arbitration Rules, in Hillsborough County, Florida. Judgment on the award may be entered in any court with jurisdiction.
Claims may be brought only on an individual basis, not as a plaintiff or class member in any class, collective or representative proceeding.
You and Zetesis each waive any right to a jury trial.
Either of us may bring an individual claim in small claims court, or seek an injunction in court to stop misuse of its intellectual property or confidential information.
Any claim must be filed within one year after it arises, or it's permanently barred.
If the class action waiver in this section is found unenforceable, this entire section is void, and disputes go to the state or federal courts in Hillsborough County, Florida.
20Changes to Sustain and to these terms
We may change Sustain over time. We won't materially reduce the core features of a paid plan during a billing period you've already paid for.
We may update these terms. For a material change, we'll email account owners at least 30 days before it takes effect. If you keep using Sustain after that date, the new terms apply. If you don't agree, you can cancel before they take effect.
21General
- Law and disputes
- These terms are governed by the laws of the State of Florida, without regard to its conflict of law rules. Section 19 explains how disputes are resolved.
- Transfer
- You may not transfer this agreement without our consent. We may transfer it as part of a merger, acquisition or sale of assets, and we'll tell you if we do.
- Whole agreement
- These terms, the Data Processing Agreement where it applies, and what you accept at checkout make up the whole agreement between us about Sustain.
- Severability and waiver
- If a court finds part of these terms unenforceable, the rest still applies. Not enforcing a right straight away doesn't waive it.
- Events outside our control
- Neither of us is responsible for a delay or failure caused by events beyond reasonable control, such as an outage at a provider. This doesn't cover an obligation to pay.
- Notices
- We'll send notices to your account email. Send notices to us at yuvi@zetesis.dev.
- Independent parties
- Nothing in these terms makes us partners, agents or employees of each other.
22Contact
Questions about these terms go to yuvi@zetesis.dev.