One account. Any number of devices. Each with its own email address.
Mailcycle is programmable, privacy-first email infrastructure. The same product runs a single private address on your phone or a console provisioning addresses across a thousand devices. Here is how it fits together.
One place to manage every device and email address.
An Operator controls the Mailcycle environment: devices, email addresses, assignments, plans, usage and account settings. It works from a phone to a wide desktop: a sidebar above 900px, a bottom tab bar below it, and the same screens on both.
Home
Your email addresses, devices and mail this week, the latest mail and your devices at a glance.
Email addresses
Every address on your account and how many your plan allows. Create addresses, read their mail, see which device holds each one, and delete addresses to free their place.
Devices
A table on desktop, cards on mobile. Search by name, ID, tag or address, filter by status or tag, sort, and on Operator and above select many to disable, enable or remove at once.
Device detail
Rename, tag and add notes, assign or remove email addresses, read the device's mail remotely, disable it for a while or remove it.
Plans & Billing
Plan, address limit and payment. Upgrades apply once payment is confirmed. Downgrades are checked against the addresses you hold before they are accepted.
Your domains
On Scale and above, bring your own domains: prove ownership with a DNS record, and Mailcycle checks each step against public DNS.
API
A map of the HTTP API the app itself runs on: where it lives, how to get a session, and every route an account token can call.
Settings
Account details, security (signed-in sessions, app lock on phones, sign out when inactive on the web), appearance, notifications, data export and account deletion.
Scan. Connect. Assign.
A Worker is a connected device or browser that receives mail for one or more Mailcycle email addresses. It has no account or password, and sees only the addresses assigned to it.
- Receives and reads mail for its assigned email addresses
- Holds a credential scoped to that device, in the iOS Keychain or Android Keystore
- Survives restarts without re-pairing
- Cannot list other devices, mint email addresses or reach billing
- Can be disabled or removed from the console at any time
- Runs in a browser where an app cannot be installed
How a device joins an account
Worker device
Opens Mailcycle, shows a code
QR or pairing code
Scanned or typed, single use
Operator
Confirms the device on the account
Address assigned
One address, or several
Ready
Mail arrives on the device
The device shows an 8-digit code and a QR code. You scan or type it in the console and confirm the device, and a credential scoped to that one device is minted. A code works once, and an unclaimed code is cleared after 14 days. Assign an email address and the device starts receiving mail.
Addresses are a resource you distribute.
A plan sets how many email addresses your account can hold, not how many devices it can pair. Devices are unlimited on every paid plan, and Free pairs one. Every address you create counts, assigned or not, and deleting one frees its place. Deleted addresses are retired and never reissued to anyone.
| Example fleet on Scale (1,000 addresses) | Email addresses | Counted toward plan |
|---|---|---|
| iPhone Rack A-12 | 1 | 1 |
| Testing Pixel 07 | 3 | 4 |
| Browser Worker 04 | 1 | 5 |
| Remaining | 995 more addresses available | |
Downgrades are checked first. If you hold 340 email addresses and try to move to a plan that allows 250, the change is refused and tells you how many to delete first. Nothing is deleted for you.
Both ends of the handshake see the same thing.
The app emits these events on every change. Today a pairing device checks its session every couple of seconds, so it moves to the next screen shortly after you confirm it. A live server channel is planned; until then screens refresh by polling.
Device events
- worker.paired
- worker.updated
- worker.removed
Address events
- inbox.created
- inbox.assigned
- inbox.removed
Mail and billing
- message.received
- subscription.updated
Not yet available to your code. Your code will subscribe to these event names when webhooks and the public event stream ship. Both are planned; see the developer overview.
Three platforms, one product.
Mailcycle is a single codebase running natively on iOS and Android and as a web application. There is no "lite" version.
iOS
Native app with camera QR pairing and credentials in the Keychain. iPhone and iPad, including tablet layouts.
App Store: not published yetAndroid
Native app with camera QR pairing and credentials in the Keystore. Edge-to-edge and themed icons supported.
Google Play: not published yetWeb
The full console and the full device interface in any modern browser. Pairing scans a QR code with a webcam, or takes the 8-digit code by hand.
Open the app