How the sync works
Each mailbox is synced by a queued job that talks to the Gmail API, Microsoft Graph or IMAP. Jobs take a per-account lock, so two workers never sync the same mailbox at once, and they resume from a stored cursor rather than re-reading the mailbox from the start.
Where the provider supports it, WaryMail also subscribes to change notifications — Gmail push and Graph subscriptions — so new mail usually appears without waiting for the next poll. Polling continues regardless, so a lapsed subscription slows the inbox down instead of breaking it.
What is stored
- Thread and message metadata: participants, subject, dates, folder, read state, a short snippet.
- Message bodies, cached for display and purged after the retention window (30 days by default).
- A plain-text search copy of each synced message, so everything in the sync window stays searchable after the display copy is purged.
- Attachments you open, stored under a per-workspace private path and served only through an authorised download.
Full mailboxes are never mirrored: mail outside the sync window is not copied in, except the older messages a search you run finds on your mail server, which are then kept like any other. Formatting, images and raw MIME are never kept, and everything goes when the mailbox is disconnected.
Reading mail safely
- HTML is sanitised before it reaches your browser: no scripts, no embedded frames, no event handlers.
- Remote images are blocked until you choose to load them for that conversation, so a sender cannot silently confirm you read it.
- Executable attachment types are refused outright, and every attachment is size- and type-checked before storage.