May 11, 2026
Hi everyone,
I keep postponing the task to wrap up this update, but it’s about time, so let’s dive in.
One of my rules for working on Cirrux is to prioritize bugs, always. Moving fast is fun, but working with a broken product isn’t. And while I have pretty good monitoring and logging in place, please do report anything that’s off. Big or small. Use any channel that you prefer: the feedback button in app, email or any other messaging app, it all works for me.
I’m currently working on getting the File storage and sharing component ready. I know a lot of you have been waiting on that in order to make the transition. One of the items I needed to tackle first was how I set up pricing. That’s all done now and much simpler than it was before. Details below.
Alongside that, there’s a long list of smaller improvements and fixes. Let’s dive in.
There's now one plan: Cirrux at €2,99 per user per month (or €29/year). It includes everything: your cirrux.me address, custom domains, email, calendar, contacts, IMAP access, Cirrux Sync, and Cirrux Backup. It comes with 20GB of storage. If you need more space, you can upgrade to Cirrux Plus for €4,99 per user per month which bumps storage to 100GB. This was the crucial change needed for Drive, because those files obviously don’t fit the ‘pay per mailbox’ model. Now it’s all clear.
In the sea of 20 or 30+ euro subscriptions we’re now getting used to, I’m trying to stick to friendly and simple pricing. But I know a lot of you want to support the project, which you can do by becoming a Superfan. This gives access to the Telegram group, and you’re getting early access to new features. You can now pledge three different options, depending on how much you want to contribute.
You can review and upgrade directly from Settings → Billing.
The new pricing is also live on cirrux.co/pricing if you want to send it to someone considering the switch.
Here’s a fun little feature: if you’re using a catch-all (meaning anything before the @ is sent to one mailbox), Cirrux will automatically create aliases for any email that is used. From then on, you can send and reply from this address as well, and you can disable this alias with a single click too.
Example: let’s say I use @foo.com. I can now sign up for Frank’s newsletter with franks-newsletter@foo.com. When I no longer want to receive this newsletter, I can disable the address with one click, and I’ll never hear from Frank again.
I love that with the completely independent stack we can now start to build these smaller, useful additions.
Having a strong password is a good start. Adding two-factor authentication is better. But if you add a layer of biometric verification (unlocking with your fingerprint or Face ID), or by adding a physical security key, you dramatically improve the security of your account.
This system is called Passkeys, and all modern browsers support it. In Cirrux, you can now configure Passkeys (Settings → Security), which allows you to sign in without providing your password. As soon as it is set up, you can even disable the normal password route, improving your security setup even more.
I’m committed to make third party clients work seamlessly together with my own clients. So I’ve spent quite some time making sure that creating a draft in your IMAP client pops up in Cirrux Mail and vice versa. That seems simple on the surface but under the hood that means translating two different formats, handling attachments and making sure your IMAP client is aware of remote updates. But bottom line: it should just work, without noticing.
While working on this, I also improved arrow navigation in the editor in combination with inline attachments and images, and fixed issues where sometimes images could not be removed for older drafts.
Last but not least: drafts in webmail would sometimes not respond to keyboard shortcuts, especially if you used the pop-out version. It also didn’t always keep your cursor in the same spot, which it now does.
Other notable improvements and fixes:
Cmd+z (or Ctrl+z).Cmd+A (or Ctrl+A) to select all.X to select a thread, you can also use Cmd+click (or Ctrl+click).types parameter was missing.STATUS:CONFIRMED regardless of their actual status.Have a great week,
Rick