Legal

Privacy Policy

Last updated: October 22, 2026

The short version

We collect the minimum we need to run MAINS — your email, your account, and the content you create. We don't sell your data. We don't train AI models on it. Your content lives in your private vault — MAINS staff do not read or access it except where required by a valid legal order. When you direct MAINS to send your prompts to Claude, ChatGPT, Gemini, or Grok, those providers receive what you sent them — that's how the Service works. Where you have not supplied your own key for a participant, we dispatch on our provider accounts rather than yours; see section 4. You can export or delete your data at any time.

1. Who we are

MAINS (“we,” “us”) operates the multi-AI orchestration platform at mains-ai.app. Contact us at hello@mains-ai.app for any privacy question.

2. What we collect

We collect three categories of information:

  • Account data — your email address, authentication tokens, and any profile information you provide.
  • Your content — the scope cards, threads, prompts, decisions, and AI responses you create while using MAINS. This content is stored in your private vault. MAINS staff do not read, review, or access it in the course of normal operations. The sole exception is a valid legal order (such as a court order or formal law enforcement request), in which case we will notify you in advance wherever the law permits us to do so.
  • Usage and device data — IP address, browser type, pages visited, and basic interaction events. We use this for security, debugging, and improving the Service. On the free Explorer plan, from 1 November 2026, we also count how many MAINS Council replies come from your own API keys each month, to apply the plan's monthly limit: the number, and an identifier for each round so it is counted once. Counting sends nothing else: not the messages, the replies or your keys, which go from your browser to each provider as before (with the one exception for files Claude makes, described in our FAQ). On the homepage's free try, with no account, we count each day how many people start it, how many finish it, and how many sign up afterwards: numbers only, never who or what was asked. If you sign up from the free try, your account notes the date once, so you're counted once. If you claim a member trial with a code, we record the code and when your trial started and ends, to run it and so it can only be claimed once per account. During a trial we send you up to three emails about it (a week before it ends, on its last day, and when it has ended), through our email provider Fastmail, and record when each was sent. Each has a link to stop them. If you win a prize that comes with a plan, such as the LvlUp challenge, we record the grant on your account with the reason it was given. If you ask MAINS Council to email you a conversation, your browser sends it to us once and we email it, through Fastmail, to your account's own address; we keep none of it, only a count of how many you sent that day. If you tick the box for tip emails, we record that and when each of the three was sent; each has a link to unsubscribe.
  • What you publish to MAINS Acta — Acta is public. If you publish a MAINS Council session there, we receive and publish only the rounds you chose in the preview: your questions and the AIs' and invited agents' replies. Guests' messages are left out, and attached files, images and documents are never published. Your name appears only if you switch it on; otherwise the post shows your plan. Before it is published, the text is checked by a word list and by Anthropic's Claude for content that breaks our rules; anything flagged waits for our review. You can hide a post from your account page at any time. If you like a post on Acta, we record which account liked which post, privately and only to count the likes fairly; the public sees the number. If you enter the LvlUp challenge, we record which post is your entry; finalists' sessions are shown, without names, to the Council that judges them on a public livestream, and winners are named only if they agree.
  • MAINS MCP — if you connect an AI assistant (such as Claude, ChatGPT or Cursor) to MAINS, it can search and read public Acta posts. We keep nothing of what it searches. To limit how often it can call, we count calls for a few hours against a one-way fingerprint of the address they come from, which can't be turned back into the address. If you sign in to MAINS from an assistant, we keep one record per connected assistant: its name, where it signs in from, and when it connected and was last used. Its access is held as a one-way hash, and Account → Connected assistants lets you disconnect it at any time; connecting and disconnecting show in your MAINS Shield. If it asks the MAINS Council for you, the Council runs on MAINS with your own AI keys saved in Settings, or, for the AIs you have no key for, on MAINS's keys from your shared Council replies (counted as in the app); MAINS holds that Council (the question and the replies) only while it runs and for an hour after it ends, so the assistant can read the result, and never more than three hours in all; then it is deleted. If you ask it to publish that Council on MAINS Acta, the post is made from the Council's own replies, after you approve a preview, and is then public like any Acta post. If your plan has MAINS Memoria and it is on, a connected assistant can search your Memoria and save to it what you ask it to. If you continue without an account, MAINS makes a guest with no name, email or password: Google's reCAPTCHA checks you're a person on that page only, MAINS counts guests made per address and per browser as one-way fingerprints that can't be turned back, and your browser keeps a note of its guest so that signing in later carries the replies you used over. A guest unused for 30 days is deleted with its connection. What the assistant does with the results is up to the company that runs it, under its own policy.

3. Why we collect it

  • To create and authenticate your account
  • To deliver the Service — store your projects, route your prompts to AI providers, return responses
  • To bill you for paid plans (if you upgrade)
  • To send essential account email (security alerts, billing receipts, important policy changes)
  • To detect and prevent fraud, abuse, and security incidents
  • To comply with our legal obligations

We rely on the legal bases of contract performance, legitimate interest, and your consent — depending on the activity and your jurisdiction.

4. AI providers and your prompts

MAINS sends your prompt to the AI providers you select — Claude (Anthropic), ChatGPT (OpenAI), Gemini (Google), Grok (SpaceXAI). Where the response is then kept depends on where you asked. In a thread, it is stored in your project vault. In MAINS Council, it is not: the transcript lives in your own browser on the device you had the conversation on, and we store no prompt or reply from it at all — not even when the round runs on our keys. The one exception is MAINS Memoria, which you switch on in the Council's side panel (plans with Memoria). While it is on, the conversation's text is saved to your own Memoria on our servers as it goes, in the project you chose, so the AIs can recall it in later sessions. Switching it off stops further saving; what was already saved stays in your Memoria until you forget it, from the side panel or the Memoria page, or delete your account. It is private to your account, and everyone in the room is told while it is on. With MAINS Voice, what you say in the Council is recorded in your browser only until it has been turned into text, and we keep no audio. On your own OpenAI, Grok or Gemini key, the recording goes from your browser straight to that provider. If that provider fails, the same recording is sent to the next of those keys you have, and last of all through our servers, so what you said is not lost. Without one of those keys, and for people you invite into a room, it passes through our servers to OpenAI to be transcribed on our key; we hold it only for that one request, store and log none of it, and keep only a count of the seconds used. Replies read aloud on our keys are sent as text to the provider whose voice speaks them, and the audio is passed back to your browser without being stored. A document you attach in the Council (a PDF, Word, PowerPoint, Excel, text or code file) is read in your browser, and only its text goes with your message. On your own keys that text goes from your browser straight to each AI's provider, as your message does; on our keys it passes through our servers with the round, and we store none of it. It is kept with the conversation in your browser, and in a session file if you save one. If Memoria is on, only the document's name is saved there, never its text. While Memoria is on, each message you send in the Council also goes to our servers so we can find your relevant past conversations and decisions, and choosing which ones are relevant, and tagging a saved conversation's topics, each take one small AI call. That call runs on the keys saved to your MAINS account (Anthropic first, then OpenAI, Google and SpaceXAI if one fails), so those providers see the message and short excerpts of your saved conversations, and bill the usage to your keys; if none can answer, we match the text ourselves. A key saved only to your device is never used for this. Files and pictures the AIs make there are kept the same way, in your browser on that device, and removed when you clear the conversation or sign out. Those providers are independent data processors with their own privacy policies and data handling practices. We encourage you to read theirs:

There are three ways a prompt reaches a provider. Two questions separate them: whose account it travels on, and whether it passes through our servers on the way.

  • Your key, saved to this device. Used by MAINS Council. Your browser calls the provider directly, so the key and the prompt never reach our servers at all, and provider terms apply between you and them. One exception: when Claude makes a file, Anthropic does not let browsers download it, so that download passes through our servers with your Claude key. We use the key only to fetch the file and then delete Anthropic's copy, pass the file straight back to you, and store and log neither. And with MAINS Memoria on in the Council, your messages also reach our servers for Memoria, as described above; the key itself still never does.
  • Your key, saved to your MAINS account. Used by threads, Klaustrum and Deep Research, which run server-side, and by MAINS Memoria's small ranking and tagging calls, including for the Council. We read the key back from storage and make the call for you, so your prompt does pass through our servers — but it reaches the provider on your account, under your terms with them, and the usage is billed to you.
  • Our keys (pooled). Within free-tier allowances, and anywhere you have not supplied a key of your own, we dispatch from MAINS's own provider accounts. Your prompt reaches the provider under our contract with them rather than yours, and is handled under the terms of those accounts.

When you enable Web Browsing on a thread, the AI participants you dispatch also receive a coarse, IP-derived approximate location (city/region/country and timezone) so they can answer “local” questions like weather or the current time without you typing your location every time. This is the same kind of approximate location any website can infer from your network connection — not GPS, not precise tracking. It's sent only to the AI providers you've dispatched on that thread, the same way your prompts are, and is never stored separately from that request.

4a. Agents you invite into MAINS Council

You can invite an AI agent you already use — such as Claude Code or Codex — into a MAINS Council conversation with a private link. The agent reads the conversation when you address it and replies into it. What it does with what it reads, and what it can reach on its owner's computer, is governed by that agent and its owner, not by us.

Messages and files to and from an invited agent pass through our servers only as encrypted text, sealed in your browser with a key that stays in your browser and in the invite link, and never reaches us. We delete each message once it has been collected, and anything left uncollected within about twenty minutes.

We keep an activity record for each such conversation: when it was opened and closed, how many rounds it had and when they ran, when agents and people joined and left, the name and icon each invited agent gave itself, which of our built-in AIs took part, whether the host was on the MAINS team, and how many times each agent answered or missed its turn. We keep a count of who joined — never what anyone said (what is said is saved only to your own Memoria, while you have it on in the room, and stays there until you forget it). The record does not include your name, the invite link, keys, or IP addresses, is used to understand how the feature is used. After 180 days the names agents gave themselves are removed, and only the times and counts are kept.

We also count how many Council rounds run each day across all signed-in sessions: how many, whether they ran on our keys, your own keys or invited agents, and how many replies they had. Never what anyone asked or said, and never which models you chose. To count each member once a day we keep a one-way fingerprint for two days, a new one each day, which can’t be turned back into your account or linked from one day to the next. Rounds on your own keys are counted from a short note your Council room sends us after each one; Local MAINS sends nothing.

You can also invite people into a MAINS Council conversation. Their messages, and the conversation they are shown, travel the same way an invited agent's do: encrypted in a browser with a key that stays with you and the invite link, held by us only as ciphertext, and deleted once collected. The conversation itself stays in the host's browser, unless the host has MAINS Memoria on in the room: then it is also saved to the host's own Memoria, guests' messages included, and everyone in the room is shown that it is. What was saved stays in the host's Memoria until the host forgets it, even after Memoria is switched off.

For each person who joins we record only that someone did: whether they were signed in to MAINS, when they joined, were let in and left, and how many messages they sent. We do not record their name, their account, their email address or anything they said. If a guest is signed in, their account is used for one thing — showing the host the display name on it, so the host knows who is asking to come in.

4b. MAINS Scriptorium on the web

In MAINS Scriptorium, several AIs work on documents you give them. Each AI runs in its own private sandbox (hosted by E2B), on your own API key for that provider: the key is put only in that AI's sandbox, in a file only the sandbox can read, and never in another AI's. A separate sandbox with no key coordinates the work.

Your documents, the work as it goes, the AIs' replies and the record of the session are kept in your account's private storage, so the session can carry on later and you can read it after its sandboxes are gone. They stay for as long as you keep your account, or until you delete that session from Your sessions. Deleting your account stops every Scriptorium sandbox and deletes all of it.

If you start a session from one of your GitHub repositories, we read its text files with your own GitHub connection, and they become the session's documents, kept as above. The AIs' sandboxes never get your GitHub token. Only when you press the button for it do we put what the AIs changed on a new branch of that repository and open a pull request there, with your connection. We never write to your other branches, and merging is yours.

To say how long a step usually takes, and how much sandbox time a session usually uses, we keep how long each step of a finished session took and the minutes it used, as numbers only: never your name, your documents, your objective or which session they came from.

When a session needs you (a plan to approve, a pause, a result to decide on, an AI's question) or has finished, we send a push notification to the devices where you allowed MAINS's notifications, and, only if you turn it on, an email to your account's verified address. Each says only what is waiting, in fixed words, with a link to that session: never your objective, nor what the AIs wrote or asked.

5. Service providers we use

We use a small number of vetted infrastructure providers to run the Service. They process data on our behalf under contract:

  • Google Firebase — authentication, database (Firestore), hosting, and the push notifications you allow
  • Netlify — site delivery and edge functions
  • Fastmail — receives email you send to hello@mains-ai.app, and sends the member trial's reminder emails, the Council transcripts you ask for, the tip emails you opt in to and the Scriptorium emails you turn on
  • LemonSqueezy (when paid plans launch) — payment processing and checkout

6. What we don't do

  • We don't sell your personal data
  • We don't use Your Content to train any AI models
  • We don't read, review, or access the content of your vault (except where required by a valid legal order — see Section 2)
  • We don't share Your Content with anyone other than the providers you direct
  • We don't use third-party advertising or marketing tracking on the platform

7. How long we keep data

We keep account data and Your Content for as long as your account is active. If you delete your account, we delete or anonymize your data within 30 days, except where we're required to retain it for legal, tax, or security reasons (typically up to 7 years for billing records).

Backups roll off on a 30-day cycle.

8. Your rights

You have the right to:

  • Access the personal data we hold about you
  • Correct inaccurate or incomplete data
  • Delete your account and your data
  • Export Your Content in a portable format
  • Object to or restrict certain processing
  • Withdraw consent where processing is based on it
  • Lodge a complaint with your local data protection authority

Email hello@mains-ai.app to exercise any of these rights. We'll respond within 30 days.

9. Security

We use industry-standard measures to protect your data — encryption in transit (TLS) and at rest, access controls, and regular review of our infrastructure. No system is perfectly secure; if we discover a breach that affects your data, we'll notify you and the relevant authorities as required by law.

10. Cookies and similar technologies

We use a small number of strictly necessary cookies to keep you logged in, remember your preferences, and protect against abuse. We don't use advertising or analytics cookies that follow you across sites.

11. International data transfers

MAINS infrastructure runs on providers with global data centers. Your data may be transferred to and processed in countries other than your own, including the United States. Where required, we rely on Standard Contractual Clauses or equivalent safeguards approved by your jurisdiction's regulator.

12. Children

MAINS is not intended for children under 16. We don't knowingly collect data from anyone under that age. If you believe a child has provided us with personal data, email hello@mains-ai.app and we'll delete it.

13. Changes to this policy

We may update this Privacy Policy from time to time. If we make material changes, we'll notify you by email or in-app notice at least 14 days before they take effect. The “Last updated” date at the top reflects the most recent revision.

14. Contact us

If you have questions, concerns, or requests regarding this Privacy Policy or your personal data, please contact us:

© 2026 MAINS. All rights reserved.

See also our Terms of Service.