The future of Fief 🏰



This January, we celebrate 2 years of Fief 🎉 When I started this project, my goal was to build an authentication platform that would be open, secure, and quick and easy to integrate into any project.

At the time of writing, Fief has more than 350 stars on GitHub and 240 active workspaces on the public Cloud beta, serving 2000 users. Over two years, more than 100 questions have been raised in our GitHub Discussions forum. Not so bad for a solo-project in a domain counting already very good and mature project!

Thanks to the numerous feedback we had, I can confidently say that we have a fresh and innovative vision on what a user authentication system should be. However, I also see that I overestimated the importance of some features and aspects. The most important one being: the cloud offer.

Removing multiple workspaces architecture

Even though a lot of developers signed up and tried Fief on our cloud server, very few actually used it in production. Besides, most of the questions I answered on GitHub were actually about how to deploy Fief on a self-hosted server and all the difficulties it implies.

Indeed, while developing, I designed Fief to work as a standard SaaS, with built-in support for multiple workspaces, directly created through the web. While perfectly suited for Fief Cloud, it brings a lot of confusion and difficulties in a self-hosting context. Namely:

  • Host detection: to detect the right workspace to use, Fief has to check for the HTTP request's host. In a local development setup with Docker, this is very difficult to work with.
  • Workspace schema: Fief always assumes you'll have several workspaces on your instance. That's why we have to manage a "main" schema and a "workspace" schema. For classic use-cases, this is highly confusing.

For those reasons, I decided to completely rethink this and re-architecture Fief into a single server = single workspace approach. The goal is both to dramatically simplify the code base and self-hosting.

Sunsetting the cloud offer

As a consequence, I'll also sunset the cloud offer. It's quite clear that it was not the best-selling point of Fief and, as mentioned above, it added a maintenance burden that wasn't worth the hassle.

To compensate for this, we'll work to provide 1-click hosting options on popular platforms like Digital Ocean, Render, Restack, etc. The goal is to have several sensible options so anyone can deploy Fief easily and securely.

I'll personally contact current users of Fief Cloud to provide help and guidance.

Rethinking business model

The initial plan was to make Fief open source's development sustainable by selling Fief Cloud subscriptions. Now that this is put aside, we'll need to find a new business model for Fief.

For a few months, I'm part of the Polar team, where we're building new ways for open-source maintainers to monetize their work. Naturally, I'll use the tools we're building there for Fief! The newsletter you're reading right now is made possible by Polar 😄

I set up subscription plans so you can support my work and have access to premium benefits. Those still need to be completely defined but I've a few ideas:

  • Early access to features
  • Premium support
  • Prioritized features development
  • ...

You can already subscribe if you wish to support! I'll send you exclusive Fief stickers to thank you 🏰


Reorganizing the roadmap

Apart from the big strategic changes described above, we'll, of course, continue to implement new features for Fief.

My main objective for 2024 will be to make authentication methods more modular. Today, Fief supports password and social providers as authentication methods. This year, I would like to add support for passwordless authentication. With this, I think it's time to have a more modular architecture allowing us to easily implement new authentication methods and letting administrators choose which one to enable or not.

The other objective is to improve or expand existing SDK. In particular, the Next.js SDK will be updated to better work with version 13+. I would also like to have an official integration for Vue.js.

As we commemorate Fief's two-year anniversary, I want to express my deep appreciation for the community's support. The journey so far has been incredible, with valuable feedback shaping Fief into a dynamic and innovative authentication platform.

Looking ahead, I am more committed than ever to refine, enhance, and evolve Fief into the best authentication platform available. Your support has been instrumental, and I am excited about the future as we work together to set new standards in user authentication.

Thank you for being part of this journey, and here's to making Fief even more exceptional in the years to come.