You are handing us passwords. Here is what happens to them.
- Encrypted the moment you submit them, and deleted when the job finishes.
- Messages stream from one server to the other. We never store a copy.
- The old mailbox is opened read-only. Nothing is moved or deleted there.
- You can delete your credentials yourself at any point from the progress page.
- Would rather keep it all on your computer? Use the free CLI.
- Encryption at rest
- Server settings and passwords are encrypted with AES-256-GCM before they touch the database. The key lives only in the server environment, never next to the data.
- Deleted on a timer
- Credentials are wiped the moment you cancel or press “Delete my credentials now”, and automatically 24 hours after a job finishes or fails. Job data is removed after 30 days.
- No message storage
- Messages are fetched and appended in small batches held in memory. Bodies are never written to disk or to the database; only counts and the subject/date of messages we could not copy are kept for your report.
- Read-only on the old side
- The old mailbox is opened with EXAMINE and fetched with BODY.PEEK, so nothing is moved, deleted or even marked as read.
- Polite to your host
- Two connections per mailbox, backoff when the server pushes back, and a per-server cap across all jobs so shared hosting never locks your account.
- Analytics
- Visits are counted with Repora, a privacy-friendly analytics service, with no ad trackers. Unless you accept in the cookie banner, nothing is stored on your device and one visit can’t be linked to the next. If you accept, a random visitor ID is kept in your browser and, when you are signed in, linked to your account ID (never your email address), so we can see which pages lead to purchases. Details in the cookie policy; change your choice any time with “Cookie settings” at the bottom of the page.
Prefer a terminal?
The same engine as a free command-line tool, with no size limit. Passwords never leave your machine. Script it for a hundred mailboxes from a CSV.
npm install -g vayamail
$ vayamail migrate \
--from office@example.com \
--to office@example.com
Password for office@example.com (old): ********
Password for office@example.com (new): ********
ok old mail.example.com:993 6,415 messages 2.1 GB
ok new imap.hostinger.com:993 0 messages
INBOX 4,812 / 4,812
Sent 1,203 / 1,203
Invoices 2025 388 / 388
Done in 14m 22s. 6,403 copied, 12 already there.