1Who we are
Zetesis Sustain is run by Yuvi Co. LLC, a Florida limited liability company that operates as Zetesis ("we", "us" or "our"). We're responsible for the personal data described in sections 2 and 3. You can reach us at yuvi@zetesis.dev.
When a customer connects an app to Sustain, the personal data inside that app's systems belongs to the customer. For that data we act on the customer's instructions, as their processor, under our Data Processing Agreement. Section 4 explains what that means for you.
2The website and early access list
This section describes what sustain.zetesis.dev does today.
The early access form
The form asks for your email address, your role, how many apps you look after, and what they're built with. Submitting it sends those details to a Cloudflare Worker running on this domain. The Worker checks the bot challenge, saves your details in a database that Cloudflare hosts for us, and passes a copy to Formspree, which delivers it to us as email. Your browser never contacts Formspree directly.
We use these details to contact you about early access, and to see which kinds of teams are interested so we can plan the product. We keep them until Sustain launches and for 12 months after, or until you ask us to delete them.
The bot check
The form uses Cloudflare Turnstile to tell people apart from bots. Cloudflare receives your IP address and signals about how the page was used in order to score the challenge.
Rate limiting
So the form can't be flooded, it takes one signup an hour from each connection and each browser. For that hour the Worker keeps a one-way hash of your IP address, never the address itself and never with your details. Your browser keeps a strictly necessary cookie and a note in its own storage for the same hour, so the form shows your confirmation instead of asking again. Both hold only the time of the signup.
Hosting and network
The website is served by Cloudflare, which receives the request information any web server receives, including your IP address and the page you asked for. Cloudflare also keeps the Worker's logs for a limited period, and those can include your IP address.
Fonts
The typefaces are served from this site, so no font provider learns that you visited.
The pitch deck
The investor page plays our pitch deck in Canva's player. The player loads from Canva only when you press play. Canva then receives your IP address and this site's address, and its player sets its own cookies, under Canva's privacy policy.
What the website doesn't do
There's no analytics, no tracking pixel and no advertising. The only cookie the website sets is the signup one above, and the only thing it writes to your browser's storage is the note beside it. Cloudflare's bot check and network may set a strictly necessary cookie to tell people apart from bots, and Canva's player sets its own once you press play on the pitch deck.
3The Sustain service
This section applies once Sustain opens accounts.
Your account
When you create an account, we collect your name, email address, organization and role. If you sign in with GitHub, we receive your GitHub user ID, username and the email address you share with us. When you invite a teammate, we collect their email address to send the invitation.
Payments
Stripe handles payments. We receive your billing contact, plan, payment status, and the brand and last four digits of your card. We never see or store full card numbers.
Connections
When you connect a system, we store its identifiers, such as a GitHub installation or a Firebase project, and any key you give us. Each key is encrypted with its own data key and decrypted only at the moment Sustain uses it, and every decrypt is logged.
Data from your app's systems
Sustain reads data from the systems you connect so it can check and maintain your app. That includes code and configuration in your repositories, version and expiry details, store status, cloud cost and billing health, and crash and error reports. It can include personal data, such as the names and email addresses of people who committed code, or identifiers of your app's users inside crash reports. We process this data on your behalf under the Data Processing Agreement.
Sustain reads and tests your code inside an isolated sandbox that is destroyed after each run. It keeps the facts it needs, your findings, your project profile, and numeric representations of code excerpts (embeddings) that help it find the code relevant to a task.
Lessons
If you turn on Teach me, a finding can come with a lesson: our general advice on the problem, plus one example from your app's code that an AI model picks from what the finding saw. The example belongs to the finding and is kept with it. When you save a lesson, we keep that you saved it and which finding it came from. Your saved lessons stay with your account across organizations, but an example from code shows only while you can see the app it came from.
Activity and logs
We log what happens in your account so that you and we can see who did what, including sign-ins, connections, approvals, merges, safety brakes and changes to settings. The audit log is append-only. We also keep request logs and error reports to run and debug the service, and these include IP addresses.
Sustain sends alerts, digests and reports by email through Resend.
AI models
To summarize findings, write reports and briefs, and prepare fixes, Sustain sends the relevant parts of your data, such as a finding, code excerpts and your project profile, to AI models from Anthropic or OpenAI through their APIs. Before anything is sent, Sustain removes text that matches a stored secret or a known key format. Model calls run only in background jobs. We don't use your data to train or fine-tune models.
4Data we process for customers
For the data described under "Data from your app's systems", the customer who connected the app decides what Sustain processes and why. We process it only to provide Sustain to that customer.
If you're a user of an app that a Sustain customer maintains, and you want to see, correct or delete your data, contact the company that runs the app. We'll help them respond. If an agency connected the app for its client, the client is usually the right company to contact.
5Why we use personal data
- To provide Sustain
- Running your account, the checks and fixes your plan includes, and the emails you asked for. Legal basis: performing our contract with you.
- To keep Sustain secure
- Preventing abuse and fraud, investigating incidents, and keeping the audit log. Legal basis: our legitimate interest in running a safe service.
- To bill you
- Taking payments and keeping the records tax law requires. Legal basis: our contract with you, and legal obligations.
- To tell you about early access
- Using the details you gave on the early access form. Legal basis: your consent, which you can withdraw at any time by emailing us.
- To improve Sustain
- Using aggregated information about how checks and fixes perform, which doesn't include your code or identify you. Legal basis: our legitimate interest in improving the service.
- To meet legal obligations
- Responding to lawful requests and keeping required records.
We don't sell personal data, and we don't share it for advertising.
6Who else handles it
These providers handle personal data for us. Those marked "website" are in use today. The rest are planned for the Sustain service.
| Provider | What it does | Data it handles |
|---|---|---|
| Cloudflare | Network, bot check, Workers, and the early access database. Website and service | Request data, IP addresses, early access details, service data in transit |
| GitHub | Hosts the website. Website | Request data, IP addresses |
| Formspree | Emails early access signups to us. Website | Early access details |
| Canva | Plays the pitch deck on the investor page, once you press play. Website | Request data, IP addresses, the cookies its player sets |
| Supabase | Database and sign-in | Account, connection, app and audit data |
| Amazon Web Services | Manages the keys that encrypt stored credentials | Encryption keys |
| Trigger.dev | Runs background jobs | App data while a job runs |
| E2B | Isolated sandboxes for code | Repository contents during a run |
| Anthropic and OpenAI | AI models and embeddings | Findings, code excerpts and profile text sent in requests |
| Resend | Sends email | Names, email addresses, message content |
| Stripe | Payments | Billing details |
| Sentry | Error monitoring | Error reports, which can include IP addresses and account identifiers |
| Google Cloud | Hosts the service account you grant roles to | Data read from the Google services you connect |
We may also disclose personal data when the law requires it, to protect people's rights and safety, or as part of a merger or sale of our business, in which case the buyer would be bound by this policy.
7Where it is stored
We're based in the United States, and most of the providers above process data there. When we transfer personal data from the EEA, the UK or Switzerland, we rely on the Standard Contractual Clauses or another lawful transfer mechanism.
8How long we keep it
- Early access details
- Until Sustain launches and for 12 months after, or until you ask us to delete them.
- Account data
- While your account is open, then deleted within 30 days of closing it. That includes your audit log and incident reports.
- Audit log
- Each entry for 13 months, then it's deleted. That covers the 12 months service credits look back over and the 30 days to claim one (section 17 of the Terms). You can download it at any time.
- A deleted login
- Your login and email are deleted at once. The audit logs of the organizations you were in keep what you did, shown as a former member, and your sign-in history stays, no longer tied to your email, until each entry is 13 months old.
- Refund and exit
- If you take a refund and leave after an emergency rollback (section 17 of the Terms), stored keys are deleted at once and everything else within 30 days, with no export period. Only billing records stay.
- Saved lessons
- While your account is open. A lesson's example from code stays with the finding it came from, even after you disconnect a repository, and is deleted when that app or its organization is deleted.
- App data
- While the app is connected, then deleted within 30 days of disconnecting it or closing your account. Findings, and the lesson examples kept with them, stay until the app or its organization is deleted, even after you disconnect a repository.
- Stored keys
- Deleted when you disconnect the system they belong to.
- Logs and error reports
- 30 days.
- Backups
- Deleted data can remain in database backups for up to 7 days until they roll off.
- Billing records
- As long as tax law requires, usually 7 years.
9Security
We protect data with encryption in transit and at rest, a separate data key for every stored credential, strict separation between customers in the database, isolated sandboxes for code, and an append-only audit log. Our trust page and Annex II of the Data Processing Agreement describe these measures in more detail.
No system is perfectly secure. If a breach affects your data, we'll tell you without undue delay.
10Your rights
Depending on where you live, you can ask us to:
- show you the personal data we hold about you
- correct it
- delete it
- give you a copy in a portable format
- stop or limit some of the ways we use it
- stop using it where you gave consent
Email yuvi@zetesis.dev. We may need to confirm who you are first, and we'll reply within 30 days. If you're in the EEA or the UK, you can also complain to your local data protection authority.
11Children
Sustain is a business service. It isn't meant for anyone under 18, and we don't knowingly collect data from children under 13. If you think we have, email us and we'll delete it.
13Changes to this policy
When we change this policy, we'll update the date below. For a material change that affects account holders, we'll email them before it takes effect.
14Contact
Questions and requests about your data go to yuvi@zetesis.dev.