From 51f475c85d246f41dee6d4b29ae888450e5501ff Mon Sep 17 00:00:00 2001 From: Blake Wood Date: Sun, 27 Sep 2026 22:06:58 -0700 Subject: [PATCH] docs: make TERMS.md and PRIVACY.md the source of truth for the legal text The terms lived here and on the marketing site as two hand-maintained copies, and the privacy policy only existed on the site. The iOS app needs both, so a third copy was about to appear. These files become the one source: the site renders them at build time and the app fetches them at runtime. Terms gain the iOS app and the relay in scope, an App Store section, and the relay's best-effort terms. The privacy policy is new here and is the one the App Store listing will point at. --- PRIVACY.md | 180 +++++++++++++++++++++++++++++++++++++ TERMS.md | 258 +++++++++++++++++++++++++++++++---------------------- 2 files changed, 333 insertions(+), 105 deletions(-) create mode 100644 PRIVACY.md diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 0000000..29867ee --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,180 @@ +# Modula Privacy Policy + +**Last updated: September 27, 2026** + +This policy covers the modula.sh website, the Modula desktop application, and +Modula - AI Development, our app for iPhone and iPad. In short: + +- **Modula runs on your machine.** We operate no service that receives your + projects, prompts, code, or agent activity. +- **The iOS App talks only to a computer you run.** That connection is + encrypted end to end, and only your own devices can read it. +- **Neither application sends us telemetry.** There is no analytics or + crash-reporting service in either one, and no Modula account. +- **Website analytics are the only personal information we handle** — see + Section 2, and you can opt out. + +## 1. Who we are + +Modula is the name of a software project, not a company. "We," "us," and "our" +mean the Modula Parties as defined in the [Terms of +Use](https://modula.sh/terms). In this policy, the "App" is the Modula desktop +application, the "iOS App" is our app for iPhone and iPad, distributed on the +App Store as "Modula - AI Development," and your "host" is a computer of yours +running the App that you have paired with the iOS App. + +Third parties you bring in — an AI model provider you configure, an app store, +your network — handle information under their own policies, not this one. + +## 2. What we collect + +| Where | What | +| --- | --- | +| This website | Google Analytics records the pages you view, your browser and device type, the link that referred you, and an approximate location derived from your IP address, and sets cookies to tell one visit from another. There are no accounts, forms, or newsletters. | +| The App | Nothing reaches us. It contains no analytics or telemetry. It checks for software updates, and it talks to the AI providers and tools you configure using your own credentials — your prompts and code go to them, under their policies. | +| The iOS App | Nothing reaches us. It contains no analytics, crash-reporting, or advertising code, and no account. What it holds stays on your device; what it sends goes to your host. It also fetches this policy and the Terms of Use from GitHub so they are always current. | + +You can block or delete analytics cookies in your browser settings, or install +Google's [opt-out add-on](https://tools.google.com/dlpage/gaoptout). The site +works normally either way, and your light or dark theme preference is stored +on your device and never transmitted. + +### The iOS App in more detail + +On your device, the app keeps a copy of the workspace your host has sent it — +tasks, runs, and conversations — so it works offline, together with a device +key held in the iOS Keychain that identifies your phone to your host and to +nothing else. Deleting the app removes all of it. Your remote password is used +inside the encrypted session and is not stored. + +The camera is used for one thing: reading the pairing code your host displays. +Frames are decoded and discarded, and nothing is recorded or transmitted. + +Traffic to your host is encrypted end to end. When your two devices cannot +connect directly, it travels through a relay — ours, or a public one operated +by a third party — which carries encrypted data it cannot read and keeps no +copy. If your host has moved network since you paired, the app looks up where +to reach it through a third-party directory service; that lookup concerns your +host, not your content, and the app publishes nothing about your device to it. + +When you open this policy or the Terms of Use inside the app, it downloads the +current text from our public repository on GitHub, so what you read is never a +stale copy shipped months earlier. That request reaches GitHub, not us, and it +carries nothing about you beyond the network metadata any web request carries. + +If you have turned on *Share With App Developers* in your iOS settings, Apple +may forward crash reports to us through its own pipeline. Those describe a +crash, not your workspace. + +## 3. What we never collect + +- Your code, repositories, prompts, or agent output. +- Credentials of any kind. +- Contacts, photos, health data, precise location, or payment information. +- Advertising identifiers. We run no advertising and do not track you across + apps or websites. + +**We do not sell personal information, and we do not share it for +cross-context behavioural advertising.** + +## 4. Why, and our legal bases + +We use what Section 2 describes to understand which pages of the site people +find useful, to distribute and update the software, to let your own devices +reach each other, and to answer messages you send us. We do not profile you, +make automated decisions about you, or train models on your data. Where the UK +or EU GDPR applies, our bases are your **consent** for analytics cookies and +similar technologies, our **legitimate interests** in operating and securing +Modula, and **performance of a contract** for providing the software under the +[Terms of Use](https://modula.sh/terms). You may withdraw consent or object at +any time. + +## 5. Who else is involved + +| Provider | Role | +| --- | --- | +| Google | Website analytics. | +| GitHub | Hosts the source code, the downloads, the update information, and the text of this policy and the Terms of Use. | +| Apple | Distributes the iOS App and, if you opted in, forwards crash reports. | +| Our hosting and networking providers | Run the relay infrastructure that carries encrypted traffic between your devices. | + +None of them receives your code, credentials, or workspace, and each is bound +by privacy commitments we consider to give your information protection +equivalent to this policy. We may disclose information where the law requires +it, or to establish or defend legal claims — though there is rarely anything +to disclose, since we never receive the things that would matter. + +## 6. Retention + +- **On your devices** — until you delete the app or its data. +- **In transit** — encrypted traffic is forwarded as it arrives and never + stored. +- **Website analytics** — retained by Google for the period configured on our + property, then deleted. We keep no separate copy. +- **Email you send us** — as long as needed to deal with it. + +## 7. International transfers + +Our providers are international, so the information in Section 2 may be +processed outside the country you live in, including in the United States. +Where the UK or EU GDPR applies, those transfers rely on the safeguards our +providers have in place, such as Standard Contractual Clauses or an applicable +adequacy decision. Traffic between your own devices is encrypted wherever it +travels. + +## 8. Your rights and choices + +Whoever and wherever you are, you can: + +- opt out of website analytics, as described in Section 2; +- delete everything local by removing the iOS App from your device, or the App + and its data from your computer; +- end a pairing from either side, or turn off remote access on your host + entirely; +- stop Apple crash reports by turning off *Share With App Developers*. + +If the UK or EU GDPR applies to you, you have the right to access, correct, +erase, restrict, object to, and receive a portable copy of your personal data, +and to withdraw consent. Write to [legal@modula.sh](mailto:legal@modula.sh). +You may also complain to your local supervisory authority, or the Information +Commissioner's Office in the United Kingdom, though we would appreciate the +chance to help first. Note what is possible: we hold no account and no user +database, analytics reach us only in aggregate and cannot be connected to you, +and data on your own devices is under your control rather than ours. + +If you live in California or another state with comparable law, you have the +right to know what personal information is collected, used, and disclosed, to +have it deleted or corrected, and not to be treated differently for asking. In +the twelve months before the date above we collected the internet and network +activity described in Section 2 for analytics, and disclosed it to the +provider named in Section 5. To make a request, write to +[legal@modula.sh](mailto:legal@modula.sh); we will verify it by corresponding +with you there, and you may use an authorized agent. + +## 9. Children + +Modula is a developer tool and is not directed to children. We do not +knowingly collect personal information from anyone under 13, or under the age +of digital consent where that is higher. If you believe we have, write to +[legal@modula.sh](mailto:legal@modula.sh) and we will delete it. + +## 10. Security + +Modula is built so that there is as little to protect as possible: connections +between your devices are encrypted end to end, your device key is held in the +iOS Keychain, and your credentials never leave your machine. No system is +perfectly secure and we cannot guarantee absolute security. If you believe you +have found a vulnerability, please write to +[legal@modula.sh](mailto:legal@modula.sh) and give us a reasonable opportunity +to address it before disclosing it publicly. + +## 11. Changes + +We may update this policy as Modula changes. We will revise the date above +and, for material changes, seek your consent where the law requires it. +Continuing to use Modula after a change takes effect means you accept the +updated policy. + +## 12. Contact + +**[legal@modula.sh](mailto:legal@modula.sh)** diff --git a/TERMS.md b/TERMS.md index 1c88378..9be301d 100644 --- a/TERMS.md +++ b/TERMS.md @@ -1,18 +1,21 @@ # Modula Terms of Use -**Last updated: August 15, 2026** - -These Terms of Use (the "Terms") govern your use of the Modula application -(the "App"). Modula is the name of a software project, not a company. These -Terms are an agreement between you and the developers, authors, maintainers, -and contributors of Modula, together with any entity that later assumes -responsibility for Modula (collectively and individually, the "Modula -Parties," "we," "us"). By installing or using the App, you agree to these -Terms. If you do not agree, do not install or use the App. +**Last updated: September 27, 2026** + +These Terms of Use (the "Terms") govern your use of Modula — the Modula +desktop application (the "App"), our application for iPhone and iPad, +distributed on the App Store as "Modula - AI Development" (the "iOS App"), and +the relay service we operate (the "Relay"). Modula is the name of a software +project, not a company. These Terms are an agreement between you and the +developers, authors, maintainers, and contributors of Modula, together with +any entity that later assumes responsibility for Modula (collectively and +individually, the "Modula Parties," "we," "us"). By installing or using any +part of Modula, you agree to these Terms. If you do not agree, do not install +or use it. If you use the App on behalf of an organization, you represent that you have -authority to bind that organization, and "you" includes that organization. -You must be old enough to form a binding contract where you live. +authority to bind that organization, and "you" includes that organization. You +must be old enough to form a binding contract where you live. ## 1. What Modula Is @@ -22,6 +25,12 @@ choose. Agents are powered by third-party AI models and tools that you separately install, configure, and authorize. Modula is locally installed software, not a hosted or cloud service. +The iOS App is a companion app that pairs with an App you run on your own +computer (a "Host") and shows you that Host over an encrypted connection. It +holds no account and reaches nothing but the Host you pair it with. The Relay +carries that traffic when your two devices cannot connect directly; it cannot +read what it forwards and stores nothing. + ## 2. Autonomous Agents Modula is intentionally designed to let Agents operate with broad autonomy. @@ -36,26 +45,25 @@ When you use the App: environment where the App runs. - Agent processes may continue running after you close the App. -Modula does not review, approve, or filter what Agents do, and is not -designed to warn you before — or stop — a destructive or irreversible -action. By using Modula, you acknowledge and accept this execution model. +Modula does not review, approve, or filter what Agents do, and is not designed +to warn you before — or stop — a destructive or irreversible action. By using +Modula, you acknowledge and accept this execution model. ## 3. Your Responsibility You control what Agents can reach. Agents run on your machine with the same access as the account they run under, including files, credentials, keys, -installed tools, and any local or remote systems reachable from that -machine. You are responsible for: +installed tools, and any local or remote systems reachable from that machine. +You are responsible for: - deciding which machines, accounts, repositories, credentials, and systems you expose to Agents; - using appropriately limited accounts and credentials, and separating development from production access where appropriate; - maintaining backups of anything you cannot afford to lose; -- reviewing what Agents produce before you rely on it, ship it, or deploy - it; -- deciding whether a given environment is appropriate for autonomous agents - at all. +- reviewing what Agents produce before you rely on it, ship it, or deploy it; +- deciding whether a given environment is appropriate for autonomous agents at + all. Take particular care with production systems, customer data, and privileged credentials. Exposing them to an autonomous Agent is your decision and your @@ -66,131 +74,132 @@ risk. AI systems make mistakes. Agents can misunderstand instructions, make incorrect assumptions, produce incorrect or insecure code, act on the wrong files or systems, and take actions that cannot be undone. Code, text, and -other material produced by Agents ("Output") is not guaranteed to be -accurate, complete, secure, or fit for any purpose. You are responsible for -evaluating Output and use it at your own risk. +other material produced by Agents ("Output") is not guaranteed to be accurate, +complete, secure, or fit for any purpose. You are responsible for evaluating +Output and use it at your own risk. ## 5. Assumption of Risk -Using Modula — including running autonomous Agents — can lead to real -losses, including loss or corruption of data or code, unintended changes to +Using Modula — including running autonomous Agents — can lead to real losses, +including loss or corruption of data or code, unintended changes to repositories, infrastructure, or other systems, outages, security incidents, exposure of credentials, unexpected third-party charges, and other consequential losses. You assume the risks arising from your use of Modula, -whether or not a particular action was taken by an Agent, including the -risks of actions Agents take with the access you make available to them. +whether or not a particular action was taken by an Agent, including the risks +of actions Agents take with the access you make available to them. ## 6. Third-Party Services -Modula works with software and services we do not control, including AI -model providers, agent tools, integrations, and other software installed or -configured on your machine ("Third-Party Services"). Third-Party Services -are governed by their own terms and privacy policies, may process your data -according to their own practices, and may change or fail at any time. When -you use a hosted model provider, your prompts and code may be sent to that +Modula works with software and services we do not control, including AI model +providers, agent tools, integrations, and other software installed or +configured on your machine ("Third-Party Services"). Third-Party Services are +governed by their own terms and privacy policies, may process your data +according to their own practices, and may change or fail at any time. When you +use a hosted model provider, your prompts and code may be sent to that provider. We do not control and are not responsible for the behavior, -security, availability, pricing, or data practices of any Third-Party -Service. +security, availability, pricing, or data practices of any Third-Party Service. ## 7. Privacy and Local Operation Modula is designed to run locally. We do not operate a backend service that -receives your projects, prompts, code, or agent activity, and the App does -not send us telemetry or analytics. The App may connect to the internet for -limited purposes, such as checking for and downloading software updates, and -communicates with services you configure using your credentials. Data the -App creates is stored on your machine and is under your control. +receives your projects, prompts, code, or agent activity, and neither the App +nor the iOS App sends us telemetry or analytics. The App may connect to the +internet for limited purposes, such as checking for and downloading software +updates, and communicates with services you configure using your credentials. +Data the App creates is stored on your machine and is under your control. + +Traffic between the iOS App and your Host is encrypted end to end, and where a +direct connection is not possible it passes through the Relay or a third-party +relay that cannot read it. Our [Privacy Policy](https://modula.sh/privacy) has +the detail. ## 8. License -The Modula software is licensed to you under the Elastic License 2.0 -("ELv2"), included with the software. ELv2 governs your license to the -software itself; these Terms govern your use of Modula, including the risk -allocation described above. Nothing in these Terms narrows the rights ELv2 -grants, and within its scope ELv2 controls. Modula also includes open-source -and other third-party components licensed under their own terms. +The Modula software is licensed to you under the Elastic License 2.0 ("ELv2"), +included with the software. ELv2 governs your license to the software itself; +these Terms govern your use of Modula, including the risk allocation described +above. Nothing in these Terms narrows the rights ELv2 grants, and within its +scope ELv2 controls. Modula also includes open-source and other third-party +components licensed under their own terms. ## 9. Your Content You retain ownership of your repositories, prompts, and other content. As -between you and us, you also own the Output generated in your projects, to -the extent we have any rights in it. You are responsible for your use of -Output, including whether it infringes the rights of others. If you send us -feedback or suggestions, we may use them without restriction or obligation -to you. +between you and us, you also own the Output generated in your projects, to the +extent we have any rights in it. You are responsible for your use of Output, +including whether it infringes the rights of others. If you send us feedback +or suggestions, we may use them without restriction or obligation to you. ## 10. Acceptable Use You agree to: -- use Modula only in compliance with applicable law, and not for any - unlawful, fraudulent, abusive, malicious, or otherwise unauthorized - purpose or activity; +- use Modula only in compliance with applicable law, and not for any unlawful, + fraudulent, abusive, malicious, or otherwise unauthorized purpose or + activity; - expose to Agents only machines, accounts, credentials, and systems you are - authorized to use for that purpose, and never use Modula to access or - modify systems without authorization; -- not use Modula to develop or deploy malicious software or to attack - others; -- respect the ELv2 limitations, including not providing Modula to others as - a hosted or managed service. + authorized to use for that purpose, and never use Modula to access or modify + systems without authorization; +- not use Modula to develop or deploy malicious software or to attack others; +- respect the ELv2 limitations, including not providing Modula to others as a + hosted or managed service. ## 11. No Warranty To the maximum extent permitted by law, Modula is provided "AS IS" and "AS AVAILABLE," without warranties of any kind, express, implied, statutory, or -otherwise, including any implied warranties of merchantability, fitness for -a particular purpose, title, and non-infringement. We do not warrant that -the App will be error-free or uninterrupted, that Agents will act correctly -or as you expect, that Output will be accurate or secure, that data will not -be lost, or that any Third-Party Service will function or remain available. -Some jurisdictions do not allow the exclusion of certain warranties, so -parts of this section may not apply to you. +otherwise, including any implied warranties of merchantability, fitness for a +particular purpose, title, and non-infringement. We do not warrant that the +App, the iOS App, or the Relay will be error-free, uninterrupted, or +available, that Agents will act correctly or as you expect, that Output will +be accurate or secure, that data will not be lost, or that any Third-Party +Service will function or remain available. Some jurisdictions do not allow the +exclusion of certain warranties, so parts of this section may not apply to +you. ## 12. Limitation of Liability To the maximum extent permitted by law, we will not be liable for any -indirect, incidental, special, consequential, exemplary, or punitive -damages, or for any loss or corruption of data or code, loss of or damage to -systems or infrastructure, recovery costs, lost profits or revenue, business -interruption, security incidents, or charges incurred with third parties. -This exclusion applies to any claim arising out of or relating to Modula, -Output, or these Terms, however the claim is characterized and whatever the -theory of liability — contract, tort (including negligence), strict -liability, or otherwise — even if we were advised of the possibility of -such damages, and including where losses result from actions taken -autonomously by Agents. - -To the maximum extent permitted by law, our total liability arising out of -or relating to Modula and these Terms will not exceed the greater of the -amounts you paid us for Modula in the twelve months before the event giving -rise to the claim and one hundred US dollars (US $100). These limitations -apply to each Modula Party individually and to the Modula Parties -collectively, and do not exclude or limit liability that cannot lawfully be -excluded or limited. +indirect, incidental, special, consequential, exemplary, or punitive damages, +or for any loss or corruption of data or code, loss of or damage to systems or +infrastructure, recovery costs, lost profits or revenue, business +interruption, security incidents, or charges incurred with third parties. This +exclusion applies to any claim arising out of or relating to Modula, Output, +or these Terms, however the claim is characterized and whatever the theory of +liability — contract, tort (including negligence), strict liability, or +otherwise — even if we were advised of the possibility of such damages, and +including where losses result from actions taken autonomously by Agents. + +To the maximum extent permitted by law, our total liability arising out of or +relating to Modula and these Terms will not exceed the greater of the amounts +you paid us for Modula in the twelve months before the event giving rise to +the claim and one hundred US dollars (US $100). These limitations apply to +each Modula Party individually and to the Modula Parties collectively, and do +not exclude or limit liability that cannot lawfully be excluded or limited. ## 13. Indemnification You will defend and indemnify us against third-party claims and resulting damages and reasonable costs (including attorneys' fees) arising from your violation of these Terms or applicable law, access to systems, data, or -accounts you were not authorized to expose to Agents, credentials or -authority you were not permitted to provide, Third-Party Services you -configured, or your use of Output. +accounts you were not authorized to expose to Agents, credentials or authority +you were not permitted to provide, Third-Party Services you configured, or +your use of Output. ## 14. Termination -These Terms apply from your acceptance until terminated. You may terminate -at any time by stopping your use of Modula and deleting your copies. We may -terminate these Terms if you breach them; termination of your ELv2 license -is governed by ELv2. Sections that by their nature should survive -termination do so, including Sections 4–6 and 8–13. +These Terms apply from your acceptance until terminated. You may terminate at +any time by stopping your use of Modula and deleting your copies. We may +terminate these Terms if you breach them; termination of your ELv2 license is +governed by ELv2. Sections that by their nature should survive termination do +so, including Sections 4–6, 8–13, and 17–18. ## 15. Changes -Modula is early-stage software under active development. Features may -change, break, or be removed, and we may modify or discontinue Modula at any -time. Modula is currently free of charge; if we introduce paid features, any -fees will be presented before they apply to you. +Modula is early-stage software under active development. Features may change, +break, or be removed, and we may modify or discontinue Modula at any time. +Modula is currently free of charge; if we introduce paid features, any fees +will be presented before they apply to you. We may revise these Terms from time to time. Material changes will be announced through the App or the project's repository, with an updated date @@ -200,12 +209,51 @@ the revised Terms. ## 16. General These Terms, together with ELv2, are the entire agreement between you and us -regarding Modula. If a provision is held unenforceable, it will be enforced -to the maximum extent permissible and the rest remains in effect. Failure to +regarding Modula. If a provision is held unenforceable, it will be enforced to +the maximum extent permissible and the rest remains in effect. Failure to enforce a provision is not a waiver of it. You may not assign these Terms -without our consent; we may assign them, including to a successor entity -that assumes responsibility for Modula. - -## 17. Contact - -Questions about these Terms: **legal@modula.sh** +without our consent; we may assign them, including to a successor entity that +assumes responsibility for Modula. + +## 17. The iOS App + +Pairing a device lets it act on your Host. Depending on the scope your Host +grants, a paired device may create and edit tasks, start conversations, and +cancel runs — which means it can cause Agents to run on that machine, with the +consequences described in Sections 2 through 5. Your Host decides and enforces +what a paired device may do, and you can lower it to read-only or revoke it at +any time. Treat a paired device, a pairing code, and your remote password as +keys to the machine running the Host. + +The iOS App is distributed through the Apple App Store, and Apple's own +licence terms for App Store applications apply alongside these Terms. Apple is +not a party to these Terms and has no obligation to provide maintenance or +support for the iOS App; we, not Apple, are responsible for it and for any +claim relating to it. Your licence is limited to Apple-branded products you +own or control, as permitted by the Usage Rules in Apple's Media Services +Terms and Conditions. You represent that you are not located in a country +subject to a United States Government embargo and are not listed on any United +States Government list of prohibited or restricted parties. Apple Inc. and its +subsidiaries are third-party beneficiaries of this paragraph and may enforce +it against you. + +## 18. The Relay + +The Relay is provided free of charge, on a best-effort basis, solely so that +your own devices can reach each other. We give no undertaking about its +availability, capacity, or performance, and we may rate-limit, restrict, +suspend, or discontinue it at any time without notice. It is not a backup or a +store-and-forward service. When it is unavailable, the iOS App can still read +what it has already synchronised, and devices that can reach each other +directly keep working. + +Use the Relay only for traffic between devices you own or are authorized to +operate. Do not relay traffic for others, resell or proxy it, build a service +on it, attempt to disrupt or overload it or gain unauthorized access to it or +the systems it runs on, or use it in connection with any unlawful, fraudulent, +abusive, or malicious activity. We may block a device we reasonably believe is +in breach. + +## 19. Contact + +Questions about these Terms: **[legal@modula.sh](mailto:legal@modula.sh)**