Privacy Policy

Last updated: 2026-08-21

This Privacy Policy describes how Lanes ("we", "us", or "our") collects, uses and protects your information when you use our website at lanes.sh, the Lanes desktop application, Lanes Link (our open-source MCP endpoint, which you run on your own machine or in your own cloud) and Lanes Forms, our hosted form backend service (together, the "Service"). By using the Service you agree to the practices described below.

If you are here because you are connecting a Google account to Lanes Link, section 7, Google User Data is the part that applies to you.

1. Information We Collect

Account Information

When you sign in with Google, we receive your name, email address and profile photo from your Google account. We use this to create and manage your account.

Analytics and Telemetry Data

We collect anonymous telemetry data to understand how the Service is used and to optimise performance. This includes feature usage patterns, session duration, app version, operating system, crash reports and general device information. This data is collected in aggregate and cannot be used to identify you personally.

Your Work Stays on Your Machine

Lanes is built around a simple principle: your work is yours. For local workspaces, we do not collect, store, read or transmit the contents of your code, terminal sessions, prompts, AI agent interactions, task names, project names or workspace configurations. All of that stays entirely on your machine and is confidential to you.

The local MCP server that lets agents drive your workspace runs on your machine. Issue, session and workspace data exchanged with it stays on your device.

For remote workspaces, Lanes stores issue and session data via Supabase to enable collaboration. This data is held in a data center in Europe with logical segregation at workspace level.

2. What We Do Not Collect

Lanes is a desktop application that runs locally on your machine. For local workspaces, your session activity is private and confidential to you. The following data stays entirely on your device and is never sent to our servers:

  • Source code and repository contents
  • Terminal input and output
  • Prompts sent to AI agents
  • Responses received from AI agents
  • File contents opened or modified through the app
  • API keys or credentials for third-party CLI tools
  • Task names, labels and descriptions
  • Project names and workspace configurations

All interactions between you and your AI coding agents (such as Claude Code, Codex, Gemini CLI or others) occur directly between your machine and those providers. Lanes does not act as an intermediary for these communications.

For remote workspaces, issue and session data is stored via Supabase to enable collaboration.

3. Lanes Forms

Lanes Forms is an optional, hosted service that lets you create form endpoints and receive the submissions people send to them. It is separate from the local-first desktop app described above. Because its purpose is to receive, hold and forward submissions to you, form submissions are stored on our servers rather than staying on your machine.

Data We Collect Through Forms

When someone submits one of your forms, we collect and store:

  • The field values in that submission. You decide which fields your form has, so this may include personal data such as names, email addresses and messages.
  • Any additional fields that are submitted but are not part of your form's schema.
  • The origin (web address) the submission was sent from, and the browser user-agent.
  • A salted, irreversible hash of the submitter's IP address. We never store or log the raw IP address.

Lanes Forms does not accept file uploads.

How Form Data Is Used and Shared

As the form owner, you decide what data your form collects and why, and you are responsible for that data. Lanes stores and forwards it on your behalf. We use limited technical data (the hashed IP address and the user-agent) for our own spam prevention, rate limiting and abuse protection.

Form submissions are stored via Supabase in a data center in Europe, with access limited to members of the workspace that owns the form and authenticated through Firebase.

If you enable email forwarding, the contents of each submission are delivered to your verified recipient addresses through Resend, our transactional email provider. Administrative emails such as claim, verification and reminder messages never contain submission content.

Form Data Retention

If a form is never claimed, it and its stored submissions are frozen after 7 days and permanently deleted 30 days later. Once a form is claimed, its submissions are retained until you delete them, after which they are purged within 30 days.

4. How We Use Your Information

We use your information to:

  • Authenticate your identity and manage your account
  • Provide and maintain the Service
  • Collect anonymous telemetry such as action-level events (e.g. which features are used), health pings and crash reports to optimise app performance and reliability
  • Process payments and manage subscriptions (when applicable)
  • Improve the Service and fix issues

We do not use telemetry to monitor, record or analyse what you are working on. Telemetry tells us things like "a user opened the app" or "a session lasted 20 minutes", never the content of your work.

We do not sell, rent or share your personal information with third parties for marketing purposes.

5. Third-Party Services

We rely on the following third-party services to operate:

  • Firebase Authentication: for sign-in and account management (Google)
  • Stripe: for payment processing and subscription management. Your email address and billing plan information are shared with Stripe when you subscribe to a paid plan
  • Firebase Analytics: for anonymous telemetry and performance monitoring
  • Sentry: for crash log capture and error monitoring
  • Supabase: for remote workspace storage and Lanes Forms submissions (issue, session and form submission data). Data is stored in a data center in Europe with logical segregation at workspace level.
  • Resend: for transactional email, including Lanes Forms notifications and the forwarding of form submissions to your verified recipient addresses.

Each third-party service is governed by its own privacy policy. We encourage you to review them.

6. Optional Integrations You Connect

Lanes lets you connect optional third-party accounts so that agents running on your machine can act on your behalf. Which accounts are available depends on the product:

  • Lanes desktop connects issue trackers, currently GitHub and Linear.
  • Lanes Link connects the accounts you want an agent to reach, currently Google (Gmail, Drive, Sheets, Docs, Calendar, Tasks and Contacts), Apple iCloud, GitHub, Notion and Linear.

The list of supported integrations may grow over time.

These integrations are user-initiated. You authorise them through a standard OAuth flow in your browser, and the third party shows you the exact scopes you are granting at consent time. Lanes Link also lists those scopes in plain language, in your terminal, before the browser opens. You can disconnect any integration at any time, which removes the stored tokens from your machine.

Where the tokens live. Access and refresh tokens are stored on the machine you ran the connection from: for Lanes desktop, in an integrations.json file inside the Lanes data directory; for Lanes Link, in an encrypted credential store inside the workspace you chose. They are not retained on our servers.

What the OAuth handshake involves. An OAuth client secret cannot be shipped inside an application that runs on your machine, because anyone running it could read it. So for most integrations the handshake is brokered by the Lanes API, which holds the client secret and exchanges the authorisation code for tokens on your behalf. The code and the resulting refresh token pass through the Lanes API in transit. We do not store either.

Two exceptions are worth naming. Notion and Linear register a client automatically, so no Lanes-held secret is involved. And in Lanes Link you may register an OAuth client of your own with lanes link connect <provider> --own-client, in which case the exchange happens directly between your machine and the provider and the Lanes API is not involved at all.

For Linear specifically, access tokens are short-lived; the Lanes API performs a refresh on your behalf when needed, during which the refresh token is transmitted to the Lanes API for the duration of the refresh and is not stored.

All data read from or written to a connected service flows directly between your machine and that service. Lanes does not store this data on its servers. Your use of any connected service is governed by that provider's own terms and privacy policy, for example GitHub's privacy policy and Linear's privacy policy.

7. Google User Data

This section describes how Lanes handles data obtained from Google APIs. It applies when you connect a Google account to Lanes Link.

How Lanes Link uses Google APIs

Lanes Link is software you run yourself. It exposes your connected accounts to an AI agent of your choosing through the Model Context Protocol, under permissions you set. When you ask that agent to read a message, find a file or add a calendar event, the request goes from your machine directly to Google and the response comes back to your machine.

What we ask for, and why

You grant scopes per product, and only for the products you connect. Nothing below is requested unless you run the command that connects it.

ProductScopes requestedWhy it is needed
Gmailgmail.readonly, gmail.compose, gmail.modify, gmail.settings.basicRead and search mail, draft and send messages, apply labels and read-state, and read filters so an agent can explain why a message was sorted the way it was.
Drivedrive.readonly, drive.fileList and read files you point the agent at, and create or update files the agent itself made.
Sheetsspreadsheets, plus the Drive scopes aboveRead and write spreadsheet values and structure.
Docsdocuments, plus the Drive scopes aboveRead and write document content.
Calendarcalendar.readonly, calendar.eventsRead your calendars, and create or amend events you ask for.
TaskstasksRead and write task lists.
Contactscontacts.readonly, contacts.other.readonlyLook up an address by name so a message can be sent to the right person.
All of the aboveopenid, emailIdentify which Google account a connection belongs to, so we can apply per-account limits to the shared OAuth client described below. Neither scope grants access to any Google service.

Lanes Link does not request https://mail.google.com/ (full mailbox access, including permanent deletion) or unrestricted drive access for any product.

What passes through Lanes servers, and what does not

Your Google user data does not pass through Lanes servers. Mail, files, documents, calendar entries, tasks and contacts move directly between your machine and Google. We have no copy and no access.

Two narrow things do involve our servers, both part of the sign-in step rather than the data:

  1. The authorisation code and refresh token. By default Lanes Link authorises against an OAuth client that Lanes operates, whose secret is held in the Lanes API and never placed on your machine. Exchanging the code for a token, and refreshing an expired token, therefore happen through the Lanes API. The tokens are returned to your machine and stored there. We do not retain them.
  2. A record that an account connected. We store a salted, irreversible hash of your Google account identifier, together with the first and most recent time it was used and a count of exchanges. This is used to apply per-account rate limits, to count how many accounts have connected against the limit Google places on the shared client, and to withdraw access from a specific account if it is abused. We do not store your Google account identifier, your email address or your name in this record.

If you would rather no part of the sign-in reach us, register your own OAuth client. lanes link connect gmail --own-client walks you through it, and afterwards the exchange happens entirely between your machine and Google.

Limited Use

Lanes' use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

In particular:

  • We use Google user data only to provide and improve the user-facing features that you asked for by connecting the account.
  • We do not transfer Google user data to others except as necessary to provide those features, to comply with applicable law, or as part of a merger, acquisition or sale of assets with your explicit prior consent.
  • We do not use Google user data for serving advertising of any kind.
  • We do not allow humans to read Google user data, unless we have your affirmative agreement for specific messages, it is necessary for security purposes such as investigating abuse, to comply with applicable law, or the data has been aggregated and anonymised.
  • We do not use Google user data to develop, improve or train generalised or non-personalised artificial intelligence or machine learning models.

Google user data and AI agents

Lanes Link exists to let an AI agent act on your accounts, so this deserves to be stated plainly rather than left to inference.

When you ask an agent to read your mail or your files, the content of what it reads is sent to whichever AI provider you have configured, for example Anthropic, OpenAI or Google. That is the feature. It happens because you asked for it, at the moment you asked, and to a provider you chose and hold your own account with. Lanes is not a party to that exchange: the request goes from your machine to your provider, using your credentials.

Lanes does not operate a model, does not receive your Google user data, and does not use it to train anything. Your use of an AI provider is governed by that provider's own terms and privacy policy. You control what an agent may reach: Lanes Link denies everything by default, and only the capabilities and accounts you explicitly permit are exposed.

Retaining and deleting Google user data

Tokens live on your machine and are removed when you disconnect the account or delete the credential store.

You can revoke Lanes' access at any time from your Google Account permissions page, which invalidates the tokens immediately and independently of anything on your machine.

The connection record described above is retained while the connection is in use and deleted within 30 days of a request. Because it contains only an irreversible hash, we can locate and delete it only if you connect the account again or tell us which account to look for. Write to hello@lanes.sh.

8. Third-Party CLI Tools and AI Agents

Lanes integrates with third-party AI coding agents and CLI tools (such as Claude Code, Codex, Gemini CLI and others) that you install and configure independently. These tools run locally on your machine using your own accounts and credentials.

We have no access to, control over, or responsibility for the data you exchange with these tools. Your use of third-party CLI tools is governed by the respective provider's terms and privacy policies, including but not limited to those of Anthropic, OpenAI and Google.

9. Data Storage and Security

Your account profile (name, email, profile photo) is held by Firebase Authentication. Remote workspace data is stored in Supabase, hosted in a data center in Europe with logical segregation at workspace level. We use HTTPS for all data in transit and encryption at rest across all storage.

No method of electronic transmission or storage is 100% secure. While we use commercially reasonable measures to protect your data, we cannot guarantee absolute security. You acknowledge that data transmitted over the internet may be intercepted by third parties.

You are responsible for keeping your account credentials safe and for the security of any CLI tools and API keys configured on your machine.

10. Data Retention

We retain your account data for as long as your account is active. If you delete your account, we will remove your personal data within 30 days.

We may retain anonymised and aggregated analytics data (such as feature usage statistics and performance metrics) indefinitely for service improvement purposes. This data cannot be used to identify you.

11. Your Rights

You may at any time:

  • View and update your account information through the dashboard
  • Export your data by contacting us
  • Request deletion of your account and all associated data

To exercise these rights, contact us at the address below.

12. Cookies

We use essential cookies and local storage for authentication state and theme preferences. Analytics cookies are only set with your explicit consent. For full details on the cookies we use and how to manage your preferences, see our Cookie Policy.

13. Changes to This Policy

We may update this Privacy Policy from time to time. Changes take effect when published on this page. Continued use of the Service constitutes acceptance of any changes.

14. Contact

If you have questions about this Privacy Policy, contact us at hello@lanes.sh.