Privacy policy
In force from 26 October 2026.
1. What this covers
This policy covers gagarin.cloud — the website, the CLI (gg), the dashboard at my.gagarin.cloud, the API at api.gagarin.cloud, and the MCP server at mcp.gagarin.cloud, which is how a coding agent reaches Gagarin. Together we call all of that the Service. “We” is Gagarin; “you” is whoever is using it — and on a developer platform that is often an agent acting for you, which changes nothing about whose data it is or who we answer to.
Using the Service means accepting this policy. If you do not accept it, stop using the Service.
2. What we collect
Only what the Service needs to work:
- Who you are at GitHub or Google — you sign in through one of them, and it tells us your account’s id there and the email address it has verified. From GitHub we also keep your username and the date your GitHub account was created, because we turn away accounts younger than thirty days. Google’s sign-in shows us your name and picture as well; we do not keep them. We store no passwords, because there are none, and we keep no GitHub or Google token: the access they give us is used only while you sign in, to read the details above.
- Your email address — the one GitHub or Google verified, which is where we write to you.
- Technical details — IP address, browser, device, operating system — whenever you reach the website or the API.
- Cookies for analytics and advertising. Two things, behind one answer. The first is PostHog, a product analytics service whose EU-hosted instance we use; it records page views, clicks and the events named in our code, and may record how a session looked on screen. The second, since 30 September 2026, is the Reddit advertising pixel, which runs on this website only: it tells Reddit that a visit happened, and if you arrived from one of our ads and go on to create an account, it tells Reddit that too, so that we can see which ads are worth paying for. For that last message we send Reddit your email address hashed — a one-way scramble it can match against its own hashes but cannot read — along with the identifier Reddit itself put in the link you clicked. It runs on the website and never in the console at my.gagarin.cloud, where nothing you do is shared with an advertiser. The notice on your first visit lets you refuse all of this; refused, the Reddit pixel never loads and Reddit is told nothing whatsoever, the visit is still counted from a daily hash PostHog computes on its side, and nothing is written to your browser except the refusal itself and, if you arrived through an invitation link, the referral cookie below. Clear this site’s data in your browser and the notice asks again. When you follow a sign-up link to the console, the campaign tags in the address you arrived on (the
utm_ones, which name an ad and not a person) go with you; your PostHog identifier and the ad’s click identifier go with you only if you accepted, so that the visit and the account are counted as one person. - Your account’s milestones, told to PostHog by our own servers under your account’s email address: that you signed up, created a project, deployed, gave a service an address, added a resource or a dependency, turned on alerts, saved project memory, or topped up — the top-up as a range, such as “$10–49”, never the amount. Each comes with the project’s id, which kind of client it came through (the console,
gg, an agent, or CI), and a few yes-or-no facts about it, such as whether it was a project’s first deploy. Never a name, a domain, configuration, credentials or anything you wrote. This happens wherever you work — a terminal included — and is not behind the notice above, because it is not a cookie and nothing is written to your browser; it is how we work out what to fix next (§3). - A referral cookie, only if you arrive through an invitation link (one with
?ref=in it). It holds the eight-character code from that link, for 30 days, so that if you sign up the person who invited you is credited. Nothing is sent to anyone when it is set, it is not behind the notice above because it is not advertising, and a later link replaces it. See how referrals work. - What you did and when — which projects, services and resources you created, which commands ran, and under whose name (“Claude Code on viktor-mbp”, for instance).
- How your services are configured — image, port, environment variables. Environment variables are stored encrypted and are never read outside of starting your container.
- Project memory — notes your coding agent saves about a project so that the next session does not have to work the same things out again: a title and a body, what kind of note it is, tags, a short key if the note has one, the file paths it concerns, and how notes link to each other. Your agent writes them and your agent reads them back; we do not put anything there ourselves. This is the one place on the Service where we hold something you wrote rather than something you configured, so §5 says exactly how it is kept.
- Referrals — if you signed up through somebody’s invitation link, which account invited yours, when, and the referral credit each of you received because of it. If you invite people, the same about each of them. See how referrals work.
We do not ask you for identity documents, photographs, or anything else beyond the minimum the Service needs to run.
3. What we use it for
- Running the product — deploying, routing, and billing you for what you used.
- Crediting referrals, and spotting referrals that are abused — for instance several accounts that look like one person inviting themselves.
- Getting hold of you — approval requests, notifications, support.
- Writing to you about the Service. When your account is created — the first time you sign in with GitHub or Google — your address goes on our customer list, and we may write to it about changes to the Service, incidents, and what is new. Every such message carries an unsubscribe link, and leaving the list changes nothing else: approval emails are how the Service works, not a mailing, and keep arriving.
- Asking before anything irreversible. Deleting a service, destroying a resource, removing an address or handing over a project sends a button to the email address on the account concerned. The button does nothing by itself: it is pressed by somebody signed in to the dashboard as that account, so a forwarded or intercepted email approves nothing.
- Working out what to fix next.
4. Who else sees it
Nobody, unless one of these applies:
- the law requires it;
- we cannot do our job without it — the companies named below;
- you told us to.
One of the things you can tell us is to credit somebody for inviting you. If you sign up through an invitation link, the person who invited you can see, in their console, your GitHub login (or, if you signed in another way, your email address with most of it hidden), the date you signed up, the total you have topped up, and the credit they earned from it. Nothing else: not your projects, your services, your balance or your full email address. You are never told who invited you, and if you invite people, this is what you see about them.
These are every company that handles any part of your data on our behalf, and what each one gets. We name them rather than describing them by category, because “our cloud provider” is not something you can check.
- Scaleway (France) — the machines, the database, the object storage and the DNS. Everything the Service holds is here, in
fr-par, Paris: your services, your volumes, your project memory, your account. - Vercel (United States) — serves this website and the dashboard at
my.gagarin.cloud. It sees the requests your browser makes to those two, and holds no account data of its own. - GitHub and Google — whichever you sign in with tells us your id there and your verified email address, as §2 describes.
- PostHog (EU) — product analytics: the browser events in §2 if you accept the notice, and the account milestones described there.
- Resend (United States) — delivers every email we send, and holds the customer list described above: your address, and what we sent you.
- Dodo Payments — takes payments. Card details go to it and never to us; we see that a payment happened and for how much.
- OpenAI — the dashboard’s Agent tab only. That tab works by handing OpenAI Gagarin’s own API and your session’s credential, so what you type there and whatever it then reads on your behalf — your projects, services, logs, spend, and your project memory — passes through OpenAI. Nothing reaches it unless you use that tab; the CLI, your own coding agent and the rest of the dashboard do not go near it.
- ntfy.sh — carries our own alerts when the platform is unwell. It receives no customer data.
- Browser push services — Google (Firebase Cloud Messaging), Apple (Apple Push Notification service), Mozilla (Mozilla Push Service) and Microsoft (Windows Push Notification Services). They carry your project alerts to the devices you have chosen to receive them on, and only if you opt in. Each alert is encrypted end to end for your device before it leaves us, so the service sees that a message passed and its size, not what it says.
5. How it is kept
We keep data for as long as the purposes above require, including whatever period accounting and settlement records have to survive after an account is deleted. Account passwords are not kept at all — signing in goes through GitHub or Google. Machine secrets (your CLI credentials) are stored as an irreversible hash. Service environment variables are stored encrypted.
Project memory, being the one thing here you wrote yourself, gets its own paragraph — and it says what is not protected as well as what is, because a half-told encryption story is worse than none.
- A note’s title and body are encrypted before they are written down. Its kind, its tags, its key, its file paths, the dates it was confirmed or disputed and the links between notes are not: those are what searching and sorting run on. Neither is the numeric index we build from the text so that a search for one wording finds a note written in another — that index cannot be read back as your sentences, but it does reveal roughly what a note is about. So: nothing secret in a tag, a key or a path, and no credentials in project memory at all. It has a place for them, and it is not this.
- We hold the key. This is encryption against somebody who walks off with the database, not against us — we could decrypt your notes, and so could anyone who compelled us. Anything you would not want read under those circumstances does not belong here.
- That index is built on our own machines, by a model that runs on them. No AI company receives your notes to make it — with the one exception in §4, the dashboard’s Agent tab, which you have to open.
- We read your notes to answer your agent’s requests, and for nothing else. We do not train anything on them.
- They live at Scaleway in
fr-par, Paris, like everything else. Destroying a project deletes its memory with it; our database backups then hold a copy for up to seven more days before they expire.
We take reasonable measures to protect all of it. Nobody can promise that anything sent over the internet is absolutely safe, and we are not going to be the first.
6. What we cannot promise
Sending anything over the internet carries risk, and you accept that by using the Service. We are not liable for data lost, stolen or exposed through somebody else’s doing or your own — losing your CLI credentials, for instance.
7. Changes to this policy
We may change it. The current version lives on this page with its date on it. Carrying on using the Service after a change means you accept the new version.
8. Getting in touch
Anything about your data: support@mail.gagarin.cloud.