FlyMail is a proprietary macOS email client developed by GiantAccel, LLC. This policy describes the desktop application’s data handling, this website, and information you choose to send to our support address, [email protected].
FlyMail 0.6.0 for macOS is available. Google OAuth restricted-scope verification is still pending; this does not mean the requested Gmail permissions have been approved. Separate FlyMail identity providers and iCloud sync still require their own registration, configuration, and Apple permissions.
1. Mail and local data
FlyMail connects to the mailbox provider you configure to retrieve, display, search, organize, and send email. The current desktop implementation connects directly to mailbox and authorization services; it does not route your mailbox through a GiantAccel-operated email relay.
The app stores mailbox configuration, message headers and metadata, cached bodies, downloaded attachment data, drafts, search records, and analysis results on your Mac as needed for its features. In version 0.6.0, the mailbox database and its write-ahead log (WAL), including search data, drafts, analyses, and stored attachment blobs, are encrypted with SQLCipher. Separate local files for contacts, incoming-mail rules, signatures/writing preferences, AI/reminder settings and mailbox-specific transfer consents use authenticated AES-GCM encryption. The local iCloud sync ledger stored in macOS preferences is also protected with AES-GCM.
App data is held in FlyMail’s local Application Support directory and macOS preferences. Passwords/app passwords, OAuth credentials, AI keys, Telegram bot credentials, and local encryption keys use macOS Keychain. Local encryption keys are device-only (ThisDeviceOnly) and are not synchronized through iCloud. This protects stored app data; it does not provide end-to-end encryption of email or control other services’ storage. Without the original key, the encrypted local cache and drafts cannot be decrypted; do not delete Keychain encryption keys while retaining data you need. Reinstalling FlyMail or restoring only its encrypted files cannot recover a lost key.
Mail remains on your provider’s servers according to your account and the actions you request. Moving mail to Trash and explicitly confirming permanent deletion are different actions. Removing an account from FlyMail does not delete the provider’s mailbox. Opening an attachment creates a temporary plaintext copy in TemporaryExports for the receiving app to use. FlyMail cleans these copies on normal exit and at the next startup; cleanup may need to be retried after an interruption or a file-permission failure. During migration, legacy JSON mail caches and files from the old Attachments directory are retained as encrypted recovery copies, including previously opened files that may have been edited.
2. Sign-in and authorization
Mailbox OAuth authorization is performed with the provider. FlyMail receives access/refresh credentials and enough account information to confirm the authorized mailbox. The current Gmail IMAP/SMTP integration requests full mail access; the app’s actual requested permissions are shown during provider authorization.
Optional FlyMail identity sign-in is separate from mailbox access. Depending on the provider and its response, it can return a stable account identifier, display name, email address, avatar URL, and session credentials. These are kept locally, with saved identity sessions in Keychain. Signing out of the FlyMail identity does not remove connected mailboxes or switch the system’s iCloud account. Some provider-returned profile information, such as the Apple identity information needed for later sign-ins, can remain locally after sign-out. In 0.6.0, these separate identity providers are not preconfigured for general use; they require their own provider registration and, where applicable, Apple signing permissions. Connecting Gmail does not enable them.
3. Optional AI summaries
AI and automatic analysis are off by default. FlyMail does not select a third-party AI provider for you. You can configure an OpenAI-compatible endpoint and model, with your own API key where required; a local model may not require a key. For Gmail in 0.6.0, analysis is limited to local addresses (localhost, 127.0.0.1, or ::1). External AI configuration is retained, but sending Google mail to external AI services is blocked pending service selection and verification of the required data-use evidence.
After you authorize the individual mailbox for the current destination, a manual analysis request or enabled automatic analysis of eligible new mail sends the configured, permitted service:
- The sender’s display value, which can be the email address when no name is available, limited to 160 characters.
- The subject, limited to 500 characters.
- Up to 12,000 characters of message text.
- The selected model, analysis instructions, and applicable output settings.
Attachments are not included in the AI request. Your API key, if configured, is sent to that endpoint for authentication and is saved in Keychain. An AI connection test uses a built-in sample message rather than a mailbox message. Analysis results are cached locally.
Messages recognized by FlyMail’s verification-code detection are handled locally instead of being analyzed by AI. Detection is heuristic; this is not a guarantee that every sensitive code or piece of information will be recognized.
A permitted service receives the request directly and applies its own processing, retention, access, and deletion practices. Before enabling Gmail analysis, confirm that your local model actually performs inference on this Mac and does not relay mail to a cloud service. A loopback address alone cannot establish the local service’s behavior, and FlyMail cannot guarantee every user-entered endpoint. Authorization is separate for each mailbox and service, bound to the exact endpoint, model and key, or Telegram bot and chat. Changing these requires a new authorization. Approval stays on this device and is not inherited through iCloud restoration. Using your own key or approving a transfer does not remove the obligations in section 7.
4. Optional Telegram delivery and system reminders
Telegram delivery is off by default and requires a bot token, target Chat ID, enabled delivery rules, and separate authorization for each mailbox and destination. In 0.6.0, Gmail verification-code and important-summary delivery to Telegram is blocked pending verification of third-party data-use evidence; the configuration and feature remain available for future eligibility. For other eligible, authorized mailboxes, a code message can include the locally detected code, sender, and subject. An important-mail message can include the subject, sender, category, AI-generated summary, and action items, including information derived from the original mail. Code delivery is limited to eligible new mail dated within the preceding 15 minutes; initial imports and historical pages are not automatically pushed.
Delivery goes directly to Telegram’s Bot API and the configured chat. The token authenticates the request, and the Chat ID identifies the destination. Telegram and participants or administrators of that chat may process or retain the delivered content under their own practices. FlyMail does not claim that bot messages are end-to-end encrypted, that a chat has only one reader, or that delivered messages can be remotely erased by FlyMail. The connection-test button sends only a fixed, fictional test message containing no mail content.
Local new-mail notifications are also off by default and require macOS permission. By default, their content does not show sender/subject; you can enable that preview. macOS controls notification presentation and retention.
5. Optional iCloud configuration sync
iCloud configuration sync is off by default and is available only with the required Apple signing permissions. It uses the private CloudKit database associated with the Apple account signed in to macOS. A separate FlyMail identity login does not select that account. The distributed 0.6.0 build does not yet have the required iCloud signing configuration; the setup interface does not mean live sync is available.
If enabled, the app synchronizes a limited subset: mailbox account identifiers, names, addresses/usernames, provider and server connection settings, sent-copy preference and creation metadata; the compact-list preference; and non-secret AI endpoint/model/output-parameter settings. The sync ledger includes timestamps, device identifiers, and deletion markers for merging changes.
This sync does not include email bodies or headers, attachments, drafts, contacts, signatures, mail rules, mailbox passwords, OAuth tokens or client secrets, AI keys, Telegram bot tokens/Chat IDs, switches that enable AI or forwarding, or device-local mailbox-specific transfer consents. Restored mailbox configurations require authorization on the receiving device. Cloud AI settings require explicit import; importing clears the old AI key from the edit form and leaves AI/automatic analysis off until you choose and save settings.
Turning sync off stops further sync attempts but does not delete previously stored cloud records. Removing a cloud mailbox configuration creates a deletion marker and does not remove already-connected mailboxes on other devices. Resetting a sync connection, when offered, resets the local binding/copy rather than erasing the cloud database.
6. Sharing, security, and retention
The current desktop build does not include advertising or application-usage analytics. GiantAccel does not receive your mailbox contents through a built-in collection backend. This does not prevent the mailbox provider, a service you explicitly enable, a recipient, or a website you choose to access from receiving data needed for that interaction.
External images in email are blocked by default. Allowing them can contact the image host; opening links uses the relevant external handler/browser. Those services can receive ordinary network-request information. The app’s local storage and transport protections do not determine how independent services retain data.
Cached mail, local analyses, configuration, drafts, and other local records do not have a promised automatic deletion deadline. They remain until the app updates/removes them or you clear the relevant data. TemporaryExports copies follow the cleanup described in section 1. Previously created backups or filesystem snapshots, copies saved by another app or exported elsewhere, system notifications, and content already delivered to a third party are not retroactively encrypted or erased by migration, disabling a feature, or removing a mailbox. Encrypted recovery copies of legacy files can remain locally. iCloud copies and third-party records have separate controls and retention practices.
If you email support, GiantAccel receives the address and information you include, through the email services handling that correspondence. Share only information needed for the request; do not include passwords, API keys, bot tokens, or live verification codes. We use support correspondence to respond to and manage your request. Contact us to request access, correction, or deletion of information you have sent to support. We cannot remotely inspect or erase files stored only on your Mac or in your private iCloud database.
7. Google data and Limited Use
FlyMail complies with the Google API Services User Data Policy, including its Limited Use requirements, for Google API data.
Google mailbox data, including derived summaries or codes, is used for the mail features you request. GiantAccel does not use that data to serve advertising, sell it to data brokers, or create, train, or improve generalized/foundation AI or machine-learning models. FlyMail does not include a model-training pipeline. Permitted processing must remain limited to the user-facing purpose, including Google’s personalized-use and isolation requirements.
Optional processing requires your choice and disclosure of the data flow, subject to the release’s eligibility controls: Gmail currently permits only local-model analysis, while its external AI and Telegram mail transfers remain blocked. Neither consent, an arbitrary custom API URL, nor a “no training” label authorizes generalized model training or unrelated uses of Google data. Provider selection, retention, isolation, and Google verification obligations must be addressed before those external paths can be opened.
Policy references: Google API Services User Data Policy, Google Workspace data policy, and Google’s AI / Limited Use FAQ. This commitment does not claim endorsement, completed OAuth verification, or approval of every possible user-selected service.
8. Stop, clear, or revoke access
| Your choice | Current route and effect |
|---|---|
| Authorize, revoke, or stop AI analysis | Settings → AI 与提醒 (AI and reminders) → AI 整理 (AI analysis) → 逐邮箱外发授权 (mailbox-specific authorization): choose the mailbox for the current destination and confirm; new approval takes effect after saving. Select 立即撤销已保存授权 (immediately revoke saved authorization) to revoke at once, even if you later cancel the settings window. To stop all analysis, turn AI or automatic analysis off and save; turning AI off also disables important-summary forwarding. Existing analyses and provider records are not erased. |
| Remove a saved AI key | With AI off, clear the API Key field and save. Revoke the key separately in the AI provider’s own controls if needed. |
| Stop Telegram and remove its saved configuration | Settings → AI 与提醒 → Telegram → 逐邮箱外发授权: use 立即撤销已保存授权 for the mailbox to stop its authorized transfers immediately. To disable Telegram and remove its configuration, turn it off, clear Bot Token and Chat ID, and save. Revoke/regenerate the token separately through Telegram’s BotFather if needed. Gmail mail transfers remain blocked by the release’s eligibility control; existing chat messages remain subject to Telegram/chat controls. |
| Stop system notifications | Turn off new-mail reminders and save, or use macOS System Settings → Notifications. Clear already delivered notifications separately. |
| Disconnect a mailbox / clear its active cache | Settings → Mail accounts → the account menu → Remove this mailbox. The app removes that account and its mail from the active store, revokes its device-local transfer approvals, and requests deletion of its mailbox credentials from Keychain. Provider mail and local drafts remain. Legacy encrypted recovery copies and copies saved outside the app are not automatically erased; TemporaryExports follows the exit/startup cleanup in section 1. System-denied Keychain deletion may require manual removal. |
| Delete retained writing or saved information | Delete unwanted local drafts from Drafts; remove contacts and rules in their settings; clear saved signatures/writing preferences separately. Removing a mailbox does not perform these independent actions. |
| Revoke Google authorization | Use Google Account third-party connections to remove FlyMail’s access. Local account removal alone does not revoke the provider grant; revocation does not erase already cached or transferred copies. |
| Stop iCloud / remove cloud mailbox settings | In Account & iCloud → iCloud sync, remove an unwanted cloud mailbox configuration while sync is enabled, then disable sync if desired. Local mailbox removal does not remove its cloud configuration. For remaining cloud app data, use Apple’s iCloud storage controls where available; the current app has no single button to erase every cloud preference. |
| Sign out of a FlyMail identity | Account & iCloud → FlyMail account → Sign out. This clears the active local identity session; it does not disconnect mailboxes, disable iCloud, or revoke provider grants. |
| Complete local removal | Quit FlyMail, then remove its Application Support data, preferences, and relevant Keychain items only if you intend to erase those local records. Deleting an encryption key makes the associated encrypted cache and drafts unreadable; keep the key if you need that data. The app has no single “erase all” control; contact support for version-specific guidance. Removing only the app bundle may leave app data, Keychain items and iCloud records. Backups, snapshots and copies held by other apps or services require separate handling. |
Revoking mailbox-specific transfer approval invalidates queued requests and attempts to cancel in-flight requests; already delivered data cannot be recalled. Turning a feature off and saving stops future app-initiated work after the change takes effect. For deletion of previously shared AI or Telegram records, use the receiving service’s controls or contact that service. For iCloud storage controls, see Apple’s guidance; availability varies by app and system version.
9. This website
We do not add analytics, advertising trackers, forms, or application scripts to these pages. Our web server, hosting provider, and Cloudflare may process basic request information, such as your IP address, requested URL, browser metadata, and request time, to deliver and protect the site.
10. Changes and contact
Before adopting material changes to this policy or adding new data uses, GiantAccel will update the published policy and provide any notice or consent required for those uses.
For questions or privacy requests, contact GiantAccel, LLC at [email protected].