Privacy Policy
This Privacy Policy explains how G9Six, LLC ("we", "us", or "our") collects, uses, and protects your information when you use ESP-GenUI (the "Service"). By using the Service, you agree to the collection and use of information in accordance with this policy.
This policy covers both the ESP-GenUI website and the ESP-GenUI mobile app. The two work very differently — the app has no account, contacts no server of ours, and collects no personal information. Sections 1 through 6 describe the website; Section 7 describes the mobile app in full and governs it wherever the two differ.
1. Information We Collect
We collect the following categories of information:
- Account information. When you register with an email and password, or sign in with a third-party provider (such as Google), we collect your email address and, optionally, a display name. Authentication is handled by Google Authentication.
- Your content. Diagrams you save and any associated metadata (names, descriptions, timestamps) are stored under your account.
- Feedback. If you submit feedback through the Service, we store your comment along with your account identifier and email, and — only if you explicitly opt in — a snapshot of your current diagram.
- Purchase and subscription information. If you buy credits, the commercial-use license, or a Pro subscription, we store a record of the purchase — the Stripe customer and subscription identifiers, what was bought, the amount, and your plan status and renewal date — so we can provide what you paid for. Card numbers are entered directly with Stripe and are never received or stored by us.
- Technical and usage data. Standard server logs may record information such as request timestamps and application version. We also count your daily usage of metered actions (code generation, compiles, AI generation) against your plan's limits.
- Activity records. We keep a timestamped record of significant actions on your account — opening the editor, generating code, compiling, generating a diagram with AI, reaching a limit of your plan, starting a checkout, and completing a purchase — together with basic details of the action, such as the firmware target you chose, whether a compile succeeded, how long it took, which plan limit you reached, and what a purchase was for. We use these to understand how the Service is used and where it is failing. They never include the content of your work — no diagrams, no code, and no text you typed into AI generation — and never card or payment details. Records tied to your account are kept for no more than 90 days. We also keep counts of how many such actions happened in a given hour across all users, including which plan limit was reached and what was bought; those totals contain no account identifier and are kept indefinitely.
2. How We Use Your Information
We use the information we collect to:
- Provide, operate, and maintain the Service, including authenticating you and storing your diagrams.
- Verify email addresses and secure accounts.
- Process purchases, provide the plan, credits, or license you bought, and keep records required for billing, accounting, and tax.
- Respond to your feedback and support requests.
- Improve and develop the Service.
- Comply with legal obligations.
3. Cookies and Similar Technologies
We use cookies and similar local-storage technologies in two categories:
- Strictly necessary — required for authentication (to keep you signed in) and to remember your cookie-consent preferences. These are always on; disabling them may prevent the Service from functioning correctly.
- Advertising Personalization — Our free plan is supported by advertising. We use Google AdSense to display advertisements within the editor. If you consent to advertising cookies, Google AdSense and its partners may use cookies and similar identifiers to personalize advertisements, limit the number of times you see the same advertisement, and measure advertising performance. If you decline advertising cookies, advertisements may still be displayed, but they will not be personalized based on information collected through advertising cookies. You can change your advertising-cookie preferences at any time using the consent banner's "Manage Preferences" option.
For details on the cookies Google uses for advertising, see Google's Advertising Technologies and Privacy Policy.
4. Third-Party Service Providers
We rely on the following third-party providers to operate the Service:
- Google (Authentication and Storage) — for sign-in and data storage.
- OAuth login providers (such as Google) — when you choose to sign in through them.
- Google AdSense (Advertising) — to serve and measure ads in the editor for users who have accepted the advertising cookie category. Subject to Google's Privacy Policy.
- Stripe (Payments and Subscriptions) — to process credit-pack purchases, the one-time commercial-use license, and Pro subscription billing, and to provide the billing portal where you manage or cancel a subscription. Card details are entered directly with Stripe and are never received or stored by us. Subject to Stripe's Privacy Policy.
These providers process your information under their own privacy policies. We encourage you to review them.
5. How We Share Information
We do not sell your personal information. We share information only with the service providers described above as needed to operate the Service, or when required by law, to enforce our terms, or to protect the rights, property, or safety of our users or others.
6. Data Retention
We retain your account information and content for as long as your account is active or as needed to provide the Service.
Deleting your account. You can delete your account yourself at any time, without contacting us: in the editor, open Account and choose Delete Account. You will be asked to confirm. Deletion is immediate and permanent — it cannot be undone, and we cannot recover the data afterwards. If you would rather we do it for you, you can still request deletion at admin@g9six.com.
Deleting your account removes:
- your profile, including your email address, display name, and plan status;
- your saved diagrams and their version history;
- your auto-saved workspace and editor settings;
- your notification state;
- your activity records (Section 1);
- any feedback you submitted, including a diagram snapshot attached to it;
- your purchase and credit records, including any remaining credit balance and our record of a commercial-use license; and
- your sign-in identity, so the account can no longer be used to sign in.
Some things are not covered by that deletion. Temporary build data — the staged source and compiled binary produced when you compile firmware — is keyed to the individual build rather than to your account and is discarded automatically within approximately 30 minutes. Server logs (Section 1) may retain a record of requests, which can include an account identifier, for a limited operational period. Hourly activity totals (Section 1) are kept, because they are counts rather than records about a person: they say that some number of compiles happened in a given hour, and carry no account identifier, so there is nothing in them to trace back to you. The activity records that are tied to your account are deleted, as listed above. Stripe keeps its own transaction records under its own policy, as it is required to for accounting and tax purposes; we do not control that retention, and deleting your account here does not delete it.
We also keep a record of the deletion itself, so that we know an account was closed and are not left with unexplained gaps in our own records. That record contains your email address, display name, and account identifier, along with a summary of the account at the moment it was closed: the plan you were on, your subscription status, unused credit balances, whether you held a commercial-use license, how many diagrams you had saved, and the dates the account was created, last used, and deleted. It contains none of your content — no diagrams, and no feedback text. If you would like this record removed as well, email admin@g9six.com and we will delete it.
Two consequences are worth knowing before you delete. First, an active Pro subscription is cancelled immediately as part of the deletion, so it stops billing; you are not refunded for the remainder of a period already paid for. If we are unable to cancel it, we stop and delete nothing, and tell you so — your account is never deleted while a subscription could still bill you. Second, because your purchase records are removed, any unused credits and our record of a perpetual commercial-use license are removed with them; we cannot reinstate them, and deletion does not entitle you to a refund. (The license itself continues to apply to code already generated for you, as described in Section 16 of the Terms and Conditions.)
We keep your Stripe customer record. Stripe retains the underlying transaction history in any case, so removing the customer record would destroy our ability to answer a billing dispute or tax question without actually removing the payment history.
7. The ESP-GenUI Mobile App
We publish a companion mobile app ("the App") that connects over Bluetooth Low Energy to ESP32 devices running firmware generated by the Service. The App works differently from the website, so this section describes it on its own. Where it conflicts with the sections above, this section governs the App.
The App has no account and no server of ours. You do not sign in, and there is nothing to sign in to — the App talks only to your own devices, over Bluetooth, and to nothing else. We do not receive any information from the App. Sections 1 through 6 above describe the website and your ESP-GenUI account; none of that applies to the App.
What the App stores on your phone
- Fleet codes. The codes you add are saved in the App's own storage on your device so it knows which devices to list. They stay on your phone, are never transmitted to us, and are deleted when you remove the code in the App or uninstall it. A fleet code is an identifier that scopes what the App lists, in the same way a network name does — it is not a password and not a secret. It is broadcast in the clear by every device built with it, so anyone nearby with a generic Bluetooth scanner can read it. What a device will actually let a phone do is governed by Bluetooth pairing and, if the device's designer enabled one, a passkey.
The App keeps nothing else. It does not store the contents of your devices, a history of what you did with them, or any log of your activity.
What the App sends, and to whom
Everything the App sends goes over Bluetooth, directly to the device you have selected. This includes:
- Wi-Fi network names and passwords, when you use the App's Wi-Fi setup to put one of your devices on a network. These are written straight to that device over a paired, encrypted Bluetooth link. They are not sent to us, are not stored by the App, and do not leave the connection between your phone and your device.
- Values and settings you change on a connected device — switching an output, moving a slider, editing a schedule, renaming the device, or setting its clock from your phone.
Camera
The App asks for camera access for one purpose: scanning the fleet-code QR code shown in the editor, so you do not have to type the code by hand. Recognition runs entirely on your phone using a barcode component included in the App. Images from the camera are not recorded, not stored, and never leave your device. You can decline camera access and type the code instead; nothing else in the App uses the camera.
Bluetooth and location permissions
The App needs Bluetooth permission to find and connect to your devices. On Android it declares Bluetooth scanning as never used for location. Android 11 and earlier required apps to hold location permission before any Bluetooth scan, so the App requests it only on those versions and for that reason. The App does not collect, use, or derive your location, and has no access to GPS data.
Third-party components
The App includes Google's ML Kit barcode-scanning component, which performs the QR scan described above on your device, and relies on Google Play services on Android. These are Google components operating under Google's Privacy Policy and may report diagnostic information to Google independently of us. Because that component requires it, the App declares network access on Android; the App's own functionality makes no network requests, and we operate no service for it to contact.
The App is distributed through the Google Play Store and, where offered, the Apple App Store. Those stores collect their own installation, device, and crash information under their own policies, which we do not control.
What the App does not do
- It contains no advertising.
- It contains no analytics or crash reporting operated by us, and we receive no usage data from it.
- It does not sell or share personal information, because it collects none.
- It requires no account and asks for no name, email address, or other personal detail.
Because the App collects no personal information, there is nothing for us to access, export, or delete on your behalf. Removing your fleet codes or uninstalling the App removes everything it kept.
8. Data Security
We take reasonable measures to protect your information. Access to your diagrams and profile is namespaced to your account, and server-side requests are authenticated against verified credentials. However, no method of transmission or storage is completely secure, and we cannot guarantee absolute security.
9. Your Rights
Depending on your jurisdiction, you may have rights to access, correct, export, or delete your personal information, and to object to or restrict certain processing. Deletion and export you can exercise yourself, without asking us: delete your account from the Account panel (see Section 6), and export any diagram from the editor. For anything else — or if you would rather we handled it — contact us at admin@g9six.com.
10. Children's Privacy
The Service is not directed to children under 13 (or the minimum age of digital consent in your jurisdiction), and we do not knowingly collect personal information from them. If you believe a child has provided us personal information, contact us so we can remove it.
11. International Users
Your information may be processed and stored in countries other than your own, including where our service providers operate. By using the Service, you consent to such processing.
12. Changes to This Policy
We may update this Privacy Policy from time to time. We will update the "Last updated" date above, and continued use of the Service after changes take effect constitutes acceptance of the revised policy.
13. Contact
Questions about this Privacy Policy can be sent to G9Six, LLC at admin@g9six.com.
Your use of the Service is also governed by our Terms and Conditions.