Privacy Policy

Last updated September 25, 2026

Account data

Grain uses Firebase Authentication for account access. Depending on how you sign in, Firebase may process account details from Google, GitHub, or an email-and-password account, such as your email address, profile details, provider identifier, and authentication records.

Product analytics and session replay

The website uses PostHog to understand product usage. This includes product analytics, page activity, device and browser information, and session replay. Replay inputs are masked, and captured network requests and URLs are redacted. We use this information to operate and improve Grain.

Desktop app, CLI agents, and workspaces

Grain is a desktop app that works with BYO CLI coding agents and local workspaces. Local workspaces are designed to run on your machine, and your agent is designed to use your own provider credentials or subscription. These design statements are pending the confirmation described above and are not promises that data never leaves your device.

Optional hosted cloud workspaces run code and workspace content in E2B sandboxes. Content placed in a cloud workspace must be sent to that hosted environment so the workspace can operate.

Connected AI clients (MCP)

You can connect an AI client, such as Claude, ChatGPT, Claude Code, Codex or Cursor, to Grain's hosted MCP server. When you approve a connection, you choose what it can reach, either every workspace in one organization or a single workspace, and which permissions it gets: finding and reading workspaces, creating and editing them, turning off share links, and running commands in app workspaces. The client acts as you, for as long as you keep builder access, and cannot reach anything outside what you chose.

To operate the connection, Grain stores the name and return addresses the client registered (clients that publish these details at their own address are read and cached in memory, not stored), a record of your approval (your account, the organization or workspace, the permissions, the client, when you approved it and when it was last used), and hashed versions of the client's access and refresh tokens. Access tokens expire after one hour and refresh tokens 30 days after their last use. Files the client writes are workspace content and are handled like any other workspace content.

Whatever the client reads from the workspace, including command output and file contents, goes to that client and the AI provider behind it. Their handling of that data is governed by your agreement with them, not by this policy. To end a connection, disconnect it on the Connected apps page (rungrain.com/oauth/connections), which works right away, or remove Grain from the client. A client that revokes its tokens ends the connection right away; otherwise its refresh token stops working 30 days after it was last used. Removing a member's builder access ends their connections immediately. Deleting a workspace ends connections limited to that workspace; connections to a whole organization keep working for its other workspaces.

Sharing

Apps you share can be reached by anyone who holds the share URL. Do not publish secrets or information that should not be available to recipients of that link.

Payments

Stripe processes payments for paid add-ons. Stripe receives the payment and billing information needed to complete a transaction; Grain receives transaction and subscription records needed to provide and administer the purchased feature.

Retention, deletion, and contact

Specific retention and deletion periods are pending legal and operational confirmation. To ask about your data or request deletion, email hello@dcouple.ai. We will evaluate the request against applicable obligations and system capabilities.