Patter — Privacy Policy
Last updated: 22 April 2026
This policy describes how Patter ("the app") handles information when you use it on iPhone. The app is a serverless, local-first application; you do not need an account, and there is no developer-owned server or cloud service running behind the app.
When you choose to sign in with your Google account, additional data is collected from Google and used to authenticate requests to Google's AI services. This policy describes that data collection below.
If anything here conflicts with Apple's in-app labels in App Store Connect or on the App Store product page, the store listing and system permission dialogs control for required disclosures.
Summary
- All conversations (chat messages, grammar corrections, persona data) are stored on your device only via SwiftData. We do not collect, transmit, or store any of your conversation content on a server.
- The app requires you to provide your own API key from an AI/LLM provider (for example Google AI Studio, OpenAI, or Anthropic). Your API key is stored exclusively in the iOS Keychain — it is never written to SwiftData, UserDefaults, or logs.
- When you sign in with your Google account, your email address and OAuth tokens are collected from Google and stored securely in the iOS Keychain for authentication with Google's AI services.
- When you send a message in a chat, your text (along with recent conversation history and system prompts) is sent directly from your device to the API of the provider whose key you configured. That provider's own privacy policy governs how they process that data.
- The app uses retrieval/memory features (via Google Gemini) to allow AI personas to remember prior conversations across sessions, enabling a continuous language-learning experience. This data is processed by Google's Gemini API and governed by their terms.
- The app uses local notifications (proactive pings) to remind you to practice. These are scheduled entirely on your device and do not transmit any personal information.
Information the app stores or processes
Conversation data (stored locally)
- What: Chat messages, AI persona definitions (name, emoji, backstory, tone), grammar correction history, and conversation metadata.
- Where: Stored locally on your device via SwiftData in the app's container. Nothing is uploaded to any server.
- Your control: You can delete conversations at any time within the app. Deleting the app removes all stored data (subject to iOS backup behavior).
API key (stored in Keychain)
- What: Your personal API key for an LLM provider.
- Where: Stored exclusively in the iOS Keychain using standard secure-storage APIs. The key is never stored in SwiftData, UserDefaults, files, or logs.
- Usage: Used only to authenticate requests sent directly from your device to your chosen LLM provider's API endpoint. The app developer cannot access or see your key.
Data sent to your LLM provider
- What: Your chat messages, recent conversation history (last 20 messages), system prompts (including your selected CEFR level and persona instructions).
- Where: Sent directly to the API endpoint of the provider you configured. This traffic is not routed through any intermediate server owned by the app developer.
- Governance: Your data sent to the LLM provider is subject to that provider's privacy policy and terms of service, not this policy. We encourage you to review their policies before providing an API key.
Google account data (when you sign in with Google)
-
What: When you choose to sign in with your Google account, the app uses OAuth 2.0 /
OpenID Connect to authenticate you with Google. This provides:
- Your email address (displayed in-app for identification)
- Access and refresh tokens stored securely in the iOS Keychain to authenticate requests to Google's Gemini AI API, including the retrieval/memory features that allow personas to remember prior conversations
- Where: Your email address is obtained from your Google ID token. Tokens are stored exclusively in the iOS Keychain — they are never written to SwiftData, UserDefaults, files, or logs.
- Purpose: Authentication and authorization for Gemini API access. The email address is used only for user identification within the app. Tokens enable the app to use Google's AI services for conversation responses and persistent memory stores (via the Gemini retrieval feature) that allow AI personas to maintain context across sessions — a core language-learning functionality.
- Your control: You can sign out at any time in the app's Settings screen. Signing out deletes all stored tokens from the Keychain and removes your locally stored conversation data from SwiftData. Your Google account remains unaffected.
iCloud sync (opt-in, future feature)
- What: Conversation data may be synced via your personal iCloud container in a future update (v2). This is opt-in and uses your own private iCloud storage.
- Governance: iCloud sync follows Apple's privacy framework and your iCloud settings. No data is accessible to the app developer beyond what iCloud provides for your personal container.
No advertising or analytics SDKs
Patter does not integrate any third-party advertising, analytics, or crash-reporting SDKs. No tracking identifiers, coarse location data, or usage diagnostics are collected by the app itself. Any data processing related to advertising or analytics is governed solely by your LLM provider's own services (if applicable to your account with them).
Data retention
All conversation data and settings remain on your device until you delete them in the app or remove the app. API keys and OAuth tokens stored in the Keychain persist until you sign out (which clears all tokens) or remove the app. There is no server-side data to request deletion of.
When you sign out, the app deletes all locally stored conversation data from SwiftData and removes all OAuth tokens from the Keychain. Your Google account and any data held in Google's Gemini API memory stores associated with your Google account can be managed through your Google Account settings.
Children
The app is not directed to children. Parents and guardians should use Apple's Screen Time and Family Sharing controls if needed.
International users
If you use the app outside your home country, data sent to your LLM provider may be processed in the United States or other countries where that provider's infrastructure operates, as described in their respective privacy policies.
Consent
By choosing to sign in with your Google account, you consent to the collection and storage of your email address and OAuth tokens as described above. You will be presented with an explicit consent prompt before your Google account is linked to the app. If you do not wish to provide this data, you may still use the app by configuring a manual API key instead of signing in with Google.
Changes to this policy
We may update this page to reflect product, legal, or App Store requirements. The Last updated date at the top will change when we do; continued use of the app after changes means you accept the updated policy.
Contact
For questions about this policy or the app's privacy practices, open an issue in the public repository: vilaverdeapps/patter.
Your privacy choices
- iOS: Settings → Privacy & Security → Tracking — control whether apps may ask to track you across other companies' apps and websites (see Apple's support).
- API key management: You can view or remove your API key at any time in the app's Settings screen. The key is stored in the iOS Keychain and cannot be exported from the app.
This page is provided for the Privacy Policy URL field in App Store Connect. Repository: vilaverdeapps/patter.