Privacy Policy
The short version. MultiO works by sending your prompts — and any files you attach — to the AI providers whose models answer you. That transmission is the product’s core mechanic, and Section 2 names every category of recipient. We never sell personal data, we run no advertising trackers, and we do not train models on your content.
1. What we collect
- Account data. Your email address and your password, stored only as a salted cryptographic hash. We never store your password in readable form.
- Content you create. Your conversations and messages; the prompts you save; the files you upload (images, and documents — for documents we also store the extracted text so the model can read it); and the memory facts the Service extracts from your chats (see Section 4).
- Usage and billing records. A per-message metering ledger (model used, token counts, exact cost, timestamps), your plan, top-ups, referral credits and family-seat links. Payment card details are collected and stored by our processor, Stripe — they never touch our servers.
- Technical data. Your IP address at signup (used for abuse prevention), the country indicated by your request headers (used to enforce the model providers’ regional restrictions), and basic server logs (timestamps, request paths, error data).
2. Your content is transmitted to third-party model providers
When you send a message, MultiO transmits the conversation — including the relevant earlier messages, any selected memory facts, and any attached files or extracted document text — to the provider of the model that answers, so that the model can generate a response. The recipients are:
- OpenAI — for GPT models;
- Anthropic — for Claude models;
- Google — for Gemini models;
- OpenRouter — a routing service through which some models are reached, including Meta’s Llama models, xAI’s Grok models and other hosted open models; OpenRouter passes the request on to the host of the model you used.
If you compare models, your prompt is sent to each selected model’s provider. If you turn web search on, your query is sent to the answering provider’s search tool (or, where configured, to a search provider) so results can be retrieved and cited. Share links you create make the shared conversation or comparison visible to anyone who has the link, until you revoke the link.
3. How the providers handle API data — their stated policies
We access every provider through its paid commercial API terms — the same terms under which businesses build products on these models. Under the API terms and data policies those providers publish (as of October 2026), they state that data submitted through their commercial APIs is not used to train their models. Some providers retain API data for a limited period for abuse and safety monitoring under their own terms.
These are the providers’ stated policies, which they control and may change; we rely on them as the factual basis for the statement above, but another company’s practice is not something we can guarantee. If a provider changes its terms, we will update this policy. MultiO itself does not train models on your content, and we never sell personal data.
One more note on routed models. Models reached through OpenRouter (Llama, Grok and other hosted open models) run on the host of the model you selected, under that host provider’s own terms, which we link from our attributions page. We configure OpenRouter to route those requests only to hosts that do not collect data for training.
4. What we store, and why
- Conversations — so your history, search, folders, re-runs and comparisons work, and so a model you switch to mid-conversation can see the whole thread (our context-integrity guarantee).
- Memory facts — short facts extracted from your chats (for example, “prefers short answers”) that are shared with every model. You can view and delete every fact in the Memory view at any time.
- Metering ledger — the append-only record behind your balance and receipts. It is kept for billing integrity and accounting.
- Response cache — identical repeat questions are answered from cache at no token cost (0 tokens). Cached question-and-answer pairs are stored for a short window (24 hours by default) and then expire. Answers produced with web search turned on are never placed in the shared cache — they stay in your own conversation only.
- Uploads — stored so attachments remain part of your conversations. You can delete an upload at any time.
4A. MultiO Code: repository access, snapshots and records
If you use MultiO Code, MultiO connects to GitHub repositories through the MultiO Code GitHub App, as described in the Terms, Section 9A. This section covers what that involves. It is the specific rule for Code data where it differs from the general rules elsewhere in this policy.
- What we access. Only the repositories you select when you install the App — we cannot see any other repository on your account. For a session, we take a snapshot of the selected branch through GitHub's API: a list of the repository's file paths, sizes and version identifiers (the "repo map"), and the contents of text files, fetched within fixed size limits. When the model reads from the snapshot to answer you, the relevant file contents become part of the request sent to that model's provider, exactly as Section 2 describes for your messages.
- Credential files are never read. A fixed denylist is enforced in our code at every step: environment files such as
.env(placeholder files named.env.example,.env.sampleor.env.templateare the only exception), private-key and certificate files (.pem,.key, SSH keys), files whose names indicate credentials or secrets, cloud and service-account key files, and files such as.npmrc,.netrcand anything under.aws,.sshor.gnupgdirectories are never fetched, never shown to a model, and can never be part of a proposal. In the repo map they appear as a path only, marked as restricted. Binary files are likewise never read as content; they appear in the repo map by path, size and version identifier only. - Snapshot lifetime. The downloaded snapshot is a working copy, not an archive. It is deleted when a session is interrupted by a service restart, after 24 hours without activity, or 1 hour after the session closes, whichever comes first, and orphaned snapshots are swept on the same cycle. Starting a new session takes a fresh snapshot from GitHub. The repo map and session record (below) are kept separately from the snapshot.
- What we store. Connection metadata: the GitHub installation identifier, the account login and type it belongs to, who connected it, its status, and timestamps. We store no GitHub tokens of any kind — the temporary access tokens the App uses are held in memory only and expire within an hour; the token that proves who clicked "install" is used once and discarded. Session records: the repository and branch, the commit the snapshot was taken from, the repo map, session status, any pull request number and link, and the session's step and token totals. Proposals: the proposed file contents, the diffs computed from them, and their review status (proposed, approved, rejected, edited, applied) — the content you edited a proposal to is stored the same way, marked as edited by you. The session transcript: your Code conversations are stored as ordinary conversations, under Section 4. Metering: Code model calls appear in the same append-only metering ledger as every other message.
- Code audit log. We keep a metadata-only log of Code activity on your account — that a connection, snapshot, file read, search, proposal, application or disconnection happened, with the file path and byte count where relevant, and when. It never contains file contents, diffs, proposal contents, or the text of your searches. You can see your own recent Code activity in Settings. It exists so that everything the agent did is visible to you, and as our abuse-investigation record.
- What we never do with repository content. We do not train models on your repository content, and neither your snapshot nor your proposals are used for any other user's session. We do not sell it or share it, as Section 6 states. Repository content goes to exactly two kinds of recipient: the model provider answering you (Section 2, under the API-data policies in Section 3), and GitHub itself when you approve an application — the approved file contents are sent back to GitHub to create the branch, commit and pull request. Our hosting provider, Fly.io (Section 6A), holds the snapshot and records while they exist, as it holds all our data.
- Retention and deletion. Snapshots follow the short lifetime above. Session records, proposals, connection metadata and the audit log are kept while your account is active, like the other records in Section 4. When you close your account, all of them are deleted with it, under Section 7; Code metering entries follow the same rule as the rest of the billing ledger. Disconnecting Code, or uninstalling the App on GitHub, ends our access immediately, at whichever you do first. Branches and pull requests already created exist on GitHub, under your control — deleting your MultiO account does not delete them; close or delete them on GitHub.
5. Cookies and local storage
We set no third-party cookies and run no advertising or cross-site tracking. The app stores your sign-in token in your browser’s local storage (that is how you stay signed in), and our service worker caches the app’s static shell files on your device so the app loads quickly and can be installed — it never caches API responses or conversation data. When paid billing is active, checkout happens on Stripe’s own pages, under Stripe’s privacy policy.
6. Who else receives data
- Stripe — payment processing (card data and billing details, under Stripe’s policy).
- GitHub — if you use MultiO Code: the file contents you approve are sent to GitHub to create the branch, commit and pull request described in Section 4A, and your repository data is read through GitHub's API under your installation grant.
- Fly.io — our hosting provider: the application and its stored data run on Fly.io’s infrastructure (see Section 6A).
- The model providers listed in Section 2 — the content needed to answer you.
- Authorities — only where the law requires it, or to report material that must be reported (see the Terms, Section 7).
That is the whole list of recipients. Section 6A lists the service providers (sub-processors) who process data on our behalf. There are no data brokers, no advertisers, and no “partners” receiving your content for their own purposes.
6A. Service providers (sub-processors)
As of 22 October 2026, the providers who process your data on our behalf are:
- Fly.io — application hosting and data storage (San Jose, California, USA).
- Stripe — payment processing.
- OpenAI — model inference for GPT models.
- Anthropic — model inference for Claude models.
- Google — model inference for Gemini models, and Grounding web search when you turn search on.
- OpenRouter — model routing: it passes your prompt to the host of the model you selected, including Meta Llama hosts and xAI. OpenRouter’s data-processing terms are incorporated into its commercial terms.
- GitHub — repository hosting and API for MultiO Code: reads of the repositories you connect, and creation of branches, commits and pull requests from content you approve (see Section 4A).
We update this list before a new provider starts processing your content.
7. Your controls
- Memory: view every stored fact and delete any of them, in the Memory view.
- Content: delete conversations, uploads and saved prompts at any time; revoke share links at any time.
- Export: download everything — all conversations, memory facts and a billing summary — as one JSON file from Settings, and individual conversations as JSON or Markdown. Your data is yours.
- Account deletion: you can delete your account yourself in Settings. Deletion first cancels any active subscription immediately and deletes your Stripe customer record; if that billing cleanup cannot be completed, the deletion stops and nothing is removed. Your personal content is then wiped — conversations and messages, uploads, memory facts, folders, saved prompts and your other user-keyed data are purged, and your share links stop working. Your account record is replaced by an anonymized tombstone (account ID, a deleted marker and the deletion date only — no email, password hash, Stripe IDs or sign-in links). The billing ledger is retained against that anonymized account ID for tax, audit and chargeback records, including the renewal-consent records we are required to keep.
If you are in the EEA or UK. We process your data mainly to perform our contract with you (providing the Service), for our legitimate interests in security and abuse prevention, and on consent where we ask for it — you may withdraw consent at any time. Your rights include: access (the Settings export gives you everything, self-serve); rectification (memory facts can be viewed and deleted in the Memory view, and you can ask us to correct anything else); erasure (via the account-deletion route above — we act on requests within one month, the statutory period); portability (the export is machine-readable JSON); and restriction of, or objection to, processing — contact us at the address in Section 10. You also have the right to complain to your local supervisory authority.
California residents. The categories of personal information we collect are listed in Section 1 (account identifiers such as your email address, the content you create, and usage and billing records), collected for the purposes this policy describes. We do not sell or share personal information, as “sell” and “share” are defined in California law, and we do not use it for cross-context behavioural advertising. You have the right to know what we hold, and to request deletion or correction, without discrimination for exercising those rights — use the Settings export or contact us at the address in Section 10; we respond within 45 days, as the law requires.
8. Retention and security
Your data is kept while your account is active, except the response cache (Section 4), which expires on its short cycle. Passwords are stored only as salted hashes, access to accounts is token-based, and data is transmitted over encrypted connections in production. No system is perfectly secure; if we learn of a breach affecting your data, we will tell you as the law requires.
International transfers. MultiO and most of our providers process data in the United States. Some providers also process data in other countries — for example, Google logs some API traffic for safety and abuse monitoring “in any country where Google or its agents maintain facilities”. Where the law requires transfer safeguards, the providers’ data-processing terms — including standard contractual clauses where applicable — apply.
9. Children
MultiO is for users aged 18 and over. We do not knowingly collect personal data from children. If you believe a child has given us data, contact us and we will delete it.
10. Changes and contact
We may update this policy; material changes get a new version number and date on this page, and we will describe what changed. Privacy questions or requests: privacy@multio.ai.