Built with ZITADEL: Improved User Experience and Security for Chapati Systems

Key outcomes

  • Chapati Systems uses self-hosted instances of ZITADEL for centralized user and access management for both internal users and external customers.
  • Overall, Chapati Systems' use of ZITADEL has improved the user experience and security for their internal and external applications such as Alphalerts.
  • ZITADEL's ability to authenticate and manage users across various systems, as well as its ability to share data across different apps, will enable Chapati Systems to expand and improve its offerings to customers.

Introduction

Chapati Systems GmbH, founded and led by Christoph Miksche, is a new software development company that has been in operation since 2022. Christoph has experience creating software solutions for a variety of industries, including automotive, marketing, and manufacturing. Currently, Chapati Systems' focus is on creating financial and project management applications.

One of Chapati Systems' core offerings, Alphalerts, is a SaaS platform hosted in Germany that allows customers to set filters based on key performance indicators (KPIs) to receive alerts when certain stock, option, or crypto events occur. The target customers for the app are investors looking for advanced filters and real-time alerts, who want to analyze and build their own strategies.

Alphalerts offers over 80 KPIs for stocks on NYSE and Nasdaq and allows customers to search through thousands of stocks and get alerts when specific events occur. Users can also query the options and crypto-currencies databases, and receive alerts via SMS, email, or app notifications.

The service allows users to create custom alerts based on their preferred stocks or crypto-currencies, and also offers a 14-day free trial for users to test the platform and its capabilities in addition to the Basic, Pro, and Biz plans. The number of alerts and advanced filters available depends on the subscription plan chosen.

Problem

Alphalerts required a centralized identity and access management solution to allow its users to access their accounts securely and seamlessly. Chapati Systems wanted to offer their users the flexibility to log in to Alphalerts through either a traditional password-based method or their Google accounts because almost all users had a Google account. Additionally, they also wanted to enable MFA, which is optional for the users.

At the same time, Chapati Systems also required a Single Sign-On solution that allowed their internal users to simplify access to their internal applications, namely their Gitea instance for source control, CI/CD application, and project management system.

Solution

ZITADEL was chosen as the identity and access management solution for Alphalerts, which allowed Chapati Systems to easily identify and authenticate customers. They also decided to use ZITADEL for internal user authentication and Single Sign-On. Chapati Systems chose to self-host ZITADEL on a Virtual Private Server (VPS) in Germany along with all their internal applications.

According to Christoph, one of the main reasons for choosing ZITADEL was the simplicity the product offered. Another was that it allowed an organization to register multiple applications, whereas other identity and access management solutions that were evaluated demanded a separate registration for each application. So, ZITADEL was used not only to improve security but also to enable Chapati Systems to offer services such as bundle deals for separate applications (Alphalerts and other upcoming apps) and share data across these apps.

Centralized Identity and Access Management for Alphalerts

Application Architecture of Alphalerts

Figure 1: Application Architecture of Alphalerts

The architecture for Alphalerts includes a front-end written in plain Javascript and JQuery, with users able to log in to the system via ZITADEL, and users can create custom queries for alerts based on their preferred stocks or crypto-currencies, then subscribe to alerts via SMS, email or push notifications.

Alphalerts utilizes a Python backend that is integrated with Firebase for push notifications, Twilio for SMS notifications, and an email server for email notifications to provide a variety of notification options, giving users the flexibility to receive alerts in the way that best suits them.

The “Collector” component in the backend continuously collects data from various financial data APIs and feeds the stock data into a MongoDB database. Data related to users are stored in an SQLite database. The backend is also responsible for processing the user's filters and sending out notifications based on those filters. This allows for alerting and ensures that users receive the most up-to-date information on the stock, option, or crypto events they are interested in.

ZITADEL allows Alphalerts to easily authenticate and manage access for each user, ensuring that only authorized users have access to the platform and their personalized alerts. ZITADEL uses PostgreSQL as the database to store user data.

All the core components of the Alphalerts application are hosted on its own VPS. ZITADEL is hosted on a separate VPS with the rest of the internal applications of Chapati Systems.

Single Sign-On for Internal Applications

To manage user identities and access across their internal projects and public applications, Chapati Systems chose ZITADEL as their central user management and identity solution. ZITADEL's centralized platform allows Chapati Systems to easily manage and authenticate internal users across their various systems, including their Gitea instance, CI/CD, and project management systems. The internal users currently use Google login with optional MFA. For MFA, they use OTP code and passwordless with Apple FaceID/TouchID.

Use of ZITADEL for Single Sign-On for Internal Applications

Figure 2: Use of ZITADEL for Single Sign-On for Internal Applications

Future Plans

os.money is a new app being developed by Chapati Systems that allows users to track their existing portfolio of companies and receive updates on any significant changes. The app will use certain key performance indicators (equity-to-debt ratio, revenue growth rate, and other audit KPIs) to identify potential red flags in a company's financials that are often overlooked by investors but are crucial for auditing and assessing the trustworthiness of a company's balance sheet.

In summary, Alphalerts is a tool designed to help users discover new investment opportunities, while os.money is focused on providing a way for users to monitor and assess the safety of their existing investments. However, the two apps will share some similarities.

ZITADEL will play an important role in os.money by providing user authentication and allowing for data sharing across the app, Alphalerts, and other upcoming products. This will enable users to use their os.money portfolio data in Alphalerts and create additional filters that only check companies from their existing portfolio or companies not yet in their portfolio. This data sharing will allow the system to better understand the user's interests and make personalized suggestions based on the data from both apps.

ZITADEL's Organization Structure Allowing for Sharing of Resources Between Projects

Figure 3: ZITADEL's Organization Structure Allowing for Sharing of Resources Between Projects

This is possible due to the fact that ZITADEL has the ability to grant different projects to customers individually, which is a significant advantage for these cases.

For example, if a customer has a subscription for Alphalerts and wants to purchase os.money, the grant for project os.money can be easily added to the Alphalerts organization in ZITADEL through automatic processes, such as a call from the subscription component. This offers the following benefits:

  • Self-service (e.g., authorizing users) can be done like with Alphalerts.
  • Clients can discover available and authorized services.
  • Downgrading is as easy as removing the grant, which is then propagated to all users.

Therefore, in addition to the standalone subscription, Chapati Systems will also offer combined subscription plans for os.money and Alphalerts at a discounted rate for existing Alphalerts users. This will allow users to benefit from the full suite of Chapati Systems products and make the most of their investment decisions.

Testimonials

Portrait of Christoph Miksche

“ZITADEL is the best identity management system I have used. It is perfect for managing users across multiple apps, and it offers innovative features like passwordless authentication, which I got used to.

I plan to use ZITADEL for managing users across all my different programs for both customers and employees. Third-party login definitely makes it easier for customers to sign up, and as a single source of trust, it can be used for combined marketing and data sharing efforts across multiple apps.” - Christoph Miksche founder of Chapati Systems GmbH

Read Christoph's own opinion on selecting an open-source identity provider here.

Liked it? Share it!