Privacy
Privacy Policy
Last updated [DATE]
This policy explains what Mantle collects, why, where it goes and how long it stays. It is written to match what the software actually does. Details that depend on how Mantle is operated, rather than how it is built, are marked for completion.
In short
- We read only the repositories you choose, through a GitHub App you can remove at any time.
- To generate a migration, we send parts of your source code to an AI model provider.
- If you use Mantle Bot, your questions and the workspace records needed to answer them go to Anthropic. Mantle does not store the conversation.
- We keep what you need to review our work: file paths, call sites, the lines we changed and the results of your checks. We do not keep your repository.
- We do not sell your data, use it for advertising, or use tracking cookies.
Who we are
Mantle is operated by [LEGAL ENTITY NAME], [REGISTERED ADDRESS] (“Mantle”, “we”). For anything in this policy, contact [PRIVACY CONTACT EMAIL].
What we collect
Account information
Your email address and name. If you sign in with GitHub, also your GitHub user ID, username and avatar.
Credentials
If you set a password, we store only a bcrypt hash of it. If you turn on two-factor authentication, the secret is stored encrypted (AES-256-GCM) and your recovery codes are stored only as SHA-256 hashes. We cannot read your password or your recovery codes.
Sessions and security records
When you sign in we record your IP address and browser user agent against the session. We keep an audit log of account and security events: sign-ins, failed sign-in attempts, password and two-factor changes, and repository connections.
Workspaces and repositories
The workspaces you belong to and your role in each. The GitHub App installation, including which repositories it can reach and the permissions granted. For each connected repository: its name, default branch, language, package manager, dependency versions, and where your code calls the Stripe SDK.
Billing
Subscriptions are handled by Stripe. We receive your Stripe customer and subscription identifiers and your plan status. We never receive or store card numbers.
How your source code is handled
This is the part that matters most, so it is precise.
- Temporary checkout. To analyze a repository or generate a migration, Mantle downloads it into an isolated workspace. That workspace is deleted when the run ends, including when the run fails.
- What we keep. A record of each migration, so you can review it: the files and line numbers affected, the call sites and parameters involved, the exact lines Mantle proposed to change (before and after), a short summary of the model’s reasoning, and the output of your install, typecheck, lint, test and build scripts, up to 4,000 characters per check. We do not keep the rest of your repository.
- What we send to an AI model provider. To generate a migration, Mantle sends the relevant source files to [Anthropic or OpenAI, as configured]: up to 25 files and 400 KB per migration. Mantle does not use your code to train models. The provider processes each request under its commercial API terms. [CONFIRM the provider’s retention period and that API data is excluded from training]
- Pull requests. Each migration is pushed to your repository as a branch and pull request through the GitHub App. From then on that code lives in your GitHub account, under GitHub’s terms.
Mantle Bot
Mantle Bot is a chat assistant in the dashboard, available on paid plans. It runs only when you ask it something.
- What goes to Anthropic. Your question, the earlier messages in the same conversation, and the workspace records the bot looks up to answer it: integration and repository names, the Stripe changes Mantle detected, and the status of each migration. On Business and Enterprise plans it can also look up each migration’s changed lines (before and after) and the output of your checks. Anthropic processes these requests under its commercial API terms. [CONFIRM Anthropic’s retention period and that API data is excluded from training]
- What Mantle keeps. Nothing from the conversation. It lives in your browser tab and is gone when you reload the page. Mantle logs that a question was answered, with token counts, and applies rate limits; it does not log what was asked or answered.
- What it can do. Read only. The bot cannot connect repositories, start migrations, merge pull requests or change settings, and it only sees your own workspace.
How we use it
- To run the service: detect API changes, analyze repositories, generate and verify migrations, and open pull requests.
- To keep it secure: authenticate you, limit abuse, detect attacks and keep an audit trail.
- To bill for it.
- To contact you about your account, including password reset messages.
We do not use your data for advertising and we do not sell it.
Who we share it with
These providers process data on our behalf, and only for the purpose listed.
| Provider | Why | What they receive |
|---|---|---|
| GitHub | Repository access, sign-in, pull requests | Account identifiers; repository contents through the GitHub App |
| [Anthropic or OpenAI] | Generating migrations | Excerpts of source code, up to 400 KB per migration |
| Anthropic | Mantle Bot answers, when you use it | Your questions, the conversation, and the workspace records needed to answer |
| Stripe | Subscription billing | Email, customer and subscription identifiers, plan |
| Resend | Password reset email | Email address and the reset link |
| [HOSTING PROVIDER] | Running Mantle | Everything above, while it is processed |
| [DATABASE PROVIDER] | Storing Mantle’s records | Everything Mantle keeps |
We may also disclose information when the law requires it, or to protect the rights and safety of Mantle, our users or others.
Cookies
Mantle sets one cookie, mantle_session, which keeps you signed in. It is HTTP-only, so no script on the page can read it, and it expires after 30 days or when you sign out. It is strictly necessary. Mantle uses no analytics, advertising or tracking cookies, and loads no third-party scripts.
How long we keep it
| Data | Kept for |
|---|---|
| Repository checkouts | Deleted when each run ends |
| Sessions | 30 days, or until you sign out |
| Password reset links | One hour, and usable once |
| Two-factor sign-in handoffs | Ten minutes, and usable once |
| Account, workspace and migration records | [RETENTION PERIOD] |
| Audit log | [RETENTION PERIOD] |
| Billing records | [PERIOD REQUIRED BY TAX LAW] |
Security
Passwords are hashed, second-factor secrets are encrypted, and every tenant’s data is isolated both in the application and in the database itself. Your code runs in a disposable workspace with no access to Mantle’s credentials. The GitHub App asks for the minimum permissions and never for a password or personal access token. More on how Mantle is secured.
Your choices and rights
- Remove access at any time by uninstalling the GitHub App. Mantle immediately loses the ability to read your repositories.
- Disconnect a repository in Mantle to stop it being analyzed. Records of past migrations remain until you ask us to delete them.
- Ask for a copy, a correction or deletion of your data by writing to [PRIVACY CONTACT EMAIL]. We will respond within [RESPONSE PERIOD].
- [JURISDICTION-SPECIFIC RIGHTS, for example under the GDPR or CCPA, and how to exercise them]
Where data is processed
[WHERE Mantle’s data is stored and processed, and the legal basis for any international transfer]
Children
Mantle is a tool for software developers and is not directed at children under 16. We do not knowingly collect their information.
Changes to this policy
When this policy changes we will update the date at the top. For material changes, we will tell account holders before they take effect.
Contact
[PRIVACY CONTACT EMAIL]
[LEGAL ENTITY NAME], [REGISTERED ADDRESS]
Governing law: [JURISDICTION]