Gray Privacy Policy
This Privacy Policy explains how Layer Gray Inc., a Delaware corporation doing business as Gray ("Gray," "we," "us," or "our"), handles information when you use the Gray mobile app, the Gray self-host server software, the Gray website and documentation, and related services (the "Service").
If you do not agree with this Privacy Policy, do not use the Service.
1. Summary
Gray is a voice-first interface to an AI brain that runs on a server you control. The product is self-host by design: your conversations, files, and working data live on your own server (your "box"). The AI model access the brain uses is either your own (your existing model accounts and keys on your box) or Gray-funded model access that Gray relays for you (see §4). Gray, the company, operates only a small set of supporting services — account sign-in code delivery, purchase validation and entitlements, the Gray-funded model relay, an optional feedback inbox, and our website and documentation.
Two voice paths exist:
- Main voice (default) — your speech is transcribed by your device's speech recognition (Apple's, on iPhone). Gray requests on-device-only recognition and turns voice input off on devices that report no on-device support, so transcription happens on your phone wherever the device supports it; where on-device transcription is unavailable, Apple's servers may process the audio (see §8). Only the resulting text is sent to your own box — the audio is never sent to Gray, your box, or your AI provider.
- Premium voice (optional, metered) — a realtime conversational voice. During a premium voice session your microphone audio is streamed to OpenAI to be processed and answered in speech. Gray brokers the session token; Gray does not receive or store the audio.
Because of this design, Gray the company does not receive your conversations, voice recordings, transcripts, files, or connected-service data in the ordinary operation of the product, with one exception: when your box uses Gray-funded model access, its AI requests (including message content) pass through Gray's relay in transit. The relay does not store that content; Gray retains only usage records (see §2 and §4).
Before anything you say or share is sent to the AI provider configured on your box, the app asks for your permission in-app (see §4 and §5).
2. Information Gray Receives
Gray, the company, receives the following limited categories.
Account Information
When you sign in, the app sends your email address to our authentication service so we can deliver a 6-digit sign-in code. We retain the email address and related authentication records (timestamps, verification state, abuse-prevention counters) to operate sign-in and prevent abuse.
Purchase And Entitlement Information
If you subscribe to a paid plan through Apple's App Store, our entitlement issuer receives the StoreKit-signed transaction (which includes the Apple transaction identifier, product identifier, and renewal state) and your account email, and returns a signed entitlement that your box verifies. Apple holds your payment details; Gray never sees your card number.
Gray-Funded Model Usage
If your box uses Gray-funded model access (the default when you have not brought your own provider account), your box's AI requests reach the provider through a relay Gray operates. The relay reads each request only as needed to authenticate it, forward it, and record usage; it does not store prompts or responses. Gray retains a usage record per request — account, provider, model, approximate request size (a token estimate), estimated cost, response status, and timestamp — to operate spending caps, billing, and abuse prevention. See §4.
Feedback
If you submit feedback in the app, your box keeps the full record locally and relays a minimal copy to Gray containing only: a timestamp, the app version, the feedback source, and the text you wrote. No conversation data, identifiers, or attachments are included in the relay.
Support And Communications
If you email us or otherwise communicate with us, we receive the information you choose to provide.
Website, Documentation, And Install Endpoints
Like most websites, our web surfaces (layergray.com, docs, the install endpoint) receive standard request logs: IP address, user agent, requested page, and time. Web sign-in surfaces use Cloudflare Turnstile to filter automated abuse; Turnstile evaluates the request and returns a pass/fail token.
Crash Reporting And Usage Analytics
The app reports crash diagnostics and a small set of anonymous usage events (which setup and upgrade steps were reached — never your content, voice, files, or server details) to infrastructure we operate. Usage events carry only a random install identifier that is not derived from and cannot be joined to your account or email. Both can be turned off in the app under Privacy & security.
Install Attribution
The app includes AppsFlyer, an install-attribution service, so we can tell which ads and links lead to installs. It reports install and app-open events with a random attribution identifier and standard device signals (IP address, device model, OS version). On iOS, ad attribution runs through Apple's SKAdNetwork framework, which reports results in aggregate. Gray does not show the App Tracking Transparency prompt and does not use the advertising identifier (IDFA). Those APIs are not compiled into the app. What we receive is campaign-level install counts, never a profile of you, and attribution data is not joined to your account, your email, or anything on your box.
3. Information That Stays On Your Box And Device
The following is not stored by Gray and — apart from passing through Gray's relay in transit when your box uses Gray-funded model access (§4) — never reaches Gray's servers in normal operation:
- microphone audio on the main voice path (transcribed by the device's speech recognition, on-device where supported — see §1 and §8; never sent to Gray);
- conversation history, transcripts, and AI responses (stored on your box, under your control);
- files and images you upload for processing (stored on your box);
- your model provider keys and accounts (they remain on your box; the app never holds model keys);
- connected-service data retrieved by tools you run;
- usage meters, security events, and server logs generated by your box.
The app stores its connection credential (the bearer token for your box) in your device's secure storage (the iOS Keychain). If you enable the app lock, Face ID or your device passcode is verified by the operating system; Gray does not receive or store your Face ID template.
4. AI Providers And Connector Broker
- OpenAI — premium voice. When you use premium voice, your microphone audio is streamed to OpenAI's Realtime API for the length of the session and synthesized speech and transcripts are returned. The session's setup instructions also carry a small amount of account context so the voice can behave correctly: your configured name, plan tier, agent and voice allowances (including whether you brought your own key), the number of connected services, and the identifier of the active skill, if any. Under OpenAI's API data controls, API data is not used to train OpenAI models unless the customer opts in; we have not opted in. OpenAI may retain abuse-monitoring logs for a limited period. https://openai.com/policies/api-data-usage-policies
- Your model providers — the brain. The brain on your box does its thinking with the AI provider(s) configured there (for example your own Anthropic or other model account, or Gray-funded access — see the next two entries). When you use Gray, the messages you type, the transcripts of what you say (your speech is transcribed by your device's speech recognition — on-device where supported, see §8; only the resulting text is sent), and the files and images you choose to share are sent from the app to your box, and from your box to that provider, solely to generate Gray's responses and carry out the work you asked for. Where your box is configured to route model traffic through an infrastructure host — for example Amazon Bedrock (AWS), Google Vertex AI, or a gateway of your choosing — that host also receives the requests; it may serve the model itself or pass the requests through to the model maker's own API, and the app cannot determine which route your box uses. So the provider can answer well, your box also includes context it holds for you automatically: your saved memory, profile, and preferences; relevant earlier exchanges from your conversation history; the current local date, time, and time zone; the working directory and git/workspace status of the box workspace; the names and connection status of all services registered on your box, connected or not — where a connection was shared with you, its name can include the sharing person's name or email address; your task and crew rosters and all coding agents installed on your box, running or not; any approval requests waiting in your terminal, including the text of the command awaiting your yes/no; the outputs of tools and background jobs the request draws on, including data retrieved from services you have connected; and similar operational context your box holds at the moment of the request. This content is not used for advertising, is not sold, and is not used by Gray to train models. The app asks for your permission in-app before your first AI conversation, and it does not proceed past that permission screen until you agree (see §5).
- Your own keys (BYOK). When the provider account is your own, the provider requests are made from your box under your own agreement with that provider; Gray, the company, is not a party to that processing and does not transmit, receive, or store those prompts or responses.
- Gray-funded models — Gray's relay. When your box uses Gray-funded model access instead of your own provider account (the default for new boxes), its AI requests reach the provider through a relay Gray operates. The relay authenticates each request, reads it only as needed to forward it and to record usage, sends it to the provider under Gray's own provider agreement, and streams the response back to your box. The relay does not store prompt or response content. Gray retains usage records — account, provider, model, approximate request size (a token estimate), estimated cost, response status, and timestamp — to operate spending caps, billing, and abuse prevention (see §2 and §7).
- Composio — connector broker. If you connect a third-party service (for example Gmail, Slack, Shopify, GitHub), the connection is brokered by Composio. Composio holds the OAuth tokens for services you connect; your box stores a reference identifier. Tool calls to a connected service are routed through Composio at your direction. https://composio.dev/privacy
Each provider named above processes this content under its own privacy policy and API data-protection terms, which provide the same or equal protection to the commitments described in this Policy — including, for the AI providers, that API inputs and outputs are not used to train their models without an explicit customer opt-in (Anthropic: https://www.anthropic.com/legal/privacy — OpenAI and Composio linked above).
If we add or change providers in a way that affects personal data, this Policy will be updated.
5. Recording And Consent
The app asks for your permission in-app, before your first AI conversation, before any message, transcript, or file is sent to the AI provider configured on your box. This permission is required to use Gray: if you decline, the app holds at the consent screen and nothing is sent to any AI provider. You can agree there at any time to continue; until then, Gray does not proceed past that screen.
Gray processes microphone audio when you use voice features. You are responsible for making sure you have permission to record or transmit any person whose voice, image, or information you submit through the Service.
Do not use Gray to secretly record calls, meetings, or private conversations. Recording-consent laws vary by location, and some places require consent from all participants.
6. Sensitive Information
Do not submit information that you are not authorized to share. Unless we separately agree in writing, Gray is not designed for:
- medical diagnosis or treatment;
- emergency services;
- legal, tax, investment, or financial advice;
- children's data;
- biometric identification or voiceprint authentication;
- regulated records or protected health information.
Your box is your own infrastructure; treat secrets you keep on it (API keys, private keys, passwords) with the care your own security practices require.
7. Data Retention
Gray retains the limited information it receives only as long as needed for the purposes described in this Policy, unless a longer period is required or permitted by law.
| Category | Held by | Intended retention |
|---|---|---|
| Voice audio (main path) | Your device / Apple speech recognition | Transcribed on your device where supported (Gray requests on-device-only recognition and disables voice input where the device reports none); where on-device transcription is unavailable, Apple's servers may process the audio under Apple's policies. Never received or retained by Gray. |
| Voice audio (premium sessions) | OpenAI (processing) | Streamed for the session; not retained by Gray. Subject to OpenAI API data controls. |
| Conversations, transcripts, files | Your box | Under your control; delete on your own schedule. |
| Messages, transcripts, files, and automatic context sent for AI processing | Your configured AI provider, or the infrastructure host your box routes through (§4) | Processed to answer your request, under the applicable provider's API data terms (see §4). Not stored by Gray; Gray-funded requests pass through Gray's relay in transit only. |
| Gray-funded model usage records (account, provider, model, token estimate, cost, status, timestamp) | Gray | While your account is active, as needed for billing, spending caps, audit, and abuse prevention. Prompt and response content is not stored. |
| Account email + authentication records | Gray | While your account is active, plus as needed for security and legal purposes. |
| Entitlement and transaction records | Gray | While the subscription is active and for the period needed for refund, audit, and tax support. |
| Feedback relay records (timestamp, app version, source, text) | Gray | While needed for support and product improvement. |
| Support emails | Gray | While needed for support and record-keeping. |
| Web and security logs | Gray | A rolling operational window, as needed to secure the Service. |
| Connected-service tokens | Composio | Until you disconnect the service. Your box keeps only a reference identifier. |
| App connection credential | Your device (secure storage) | Until you sign out, remove the box, or uninstall the app. |
8. Sharing Information
We share information with:
- Apple, as the payment platform for in-app subscriptions, and as the provider of the speech recognition behind main voice input — Gray requests on-device-only recognition and disables voice input on devices that report no on-device support, but where on-device transcription for the recognition language is unavailable, Apple's servers may process the audio under Apple's policies;
- OpenAI, to provide premium voice when you use it (see §4);
- Your configured AI provider(s) (for example Anthropic), or the infrastructure host your box routes model traffic through (for example Amazon Bedrock or Google Vertex AI — see §4), which receive your messages, voice transcripts, shared files, and the automatic context described in §4 from your box — directly under your own agreement when you use your own keys, or through Gray's relay under Gray's provider agreement when you use Gray-funded models, and only after you agree in the app — to generate responses when you use Gray (see §4);
- Composio, as the connector broker for services you connect;
- Resend, our email delivery provider, to deliver sign-in codes and transactional email;
- Cloudflare (DNS, edge, Turnstile) and Hetzner and Vercel (infrastructure and website hosting) as operational providers;
- Professional advisors (lawyers, accountants);
- Authorities, courts, or other parties when required by law or needed to protect rights, safety, and security;
- A buyer or successor in a merger, acquisition, financing, reorganization, or sale of assets.
We do not sell personal information. We do not share personal information for cross-context behavioral advertising. We do not use your content to train models.
9. Your Choices
- Sign out on this device: Me → Sign out.
- Disconnect a third-party service: disconnect the connector in the app, which revokes the brokered connection.
- Delete on-box data: your conversations and files live on your own server; you can delete them there at any time, or wipe the box entirely.
- Delete your account records held by Gray: contact contact@layergray.com and we will delete account, authentication, and feedback records, except records we must keep for legal, tax, audit, or security purposes (for example transaction records).
- Object to or restrict certain processing under applicable law.
10. Children
The Service is not directed to children under 18. You may not use the Service if you are under 18. We do not knowingly collect personal information from children under 13. If you believe a child has provided information to us, contact contact@layergray.com.
11. Security
We use reasonable technical, administrative, and organizational safeguards designed to protect the limited information we hold, including transport encryption, access controls, and signed entitlements. Your box enforces its own protections, including bearer authentication, optional passkey sign-in, secrets kept outside the AI workspace, and fail-closed usage metering.
No system is perfectly secure. You are responsible for protecting your device, your server, and your credentials.
12. International Users
Gray is operated from the United States. If you use the Service from outside the United States, the limited information Gray receives may be processed in the United States and other countries where we or our providers operate.
13. Changes
We may update this Privacy Policy from time to time. If we make material changes, we will provide notice as required by law. The updated Policy will be effective when posted or when otherwise stated.
14. Contact
Layer Gray Inc., a Delaware corporation, doing business as Gray
contact@layergray.com