Notifications & Privacy in the Status Messenger

Notifications & Privacy in the Status Messenger

We’re excited to bring notifications to the Status Messenger for Android users. This clearly valuable addition to the messenger is one of our most-requested features. As a privacy-focused Messenger, we needed to overcome technical considerations to ship a product that upholds our principles and not simply rely on the centralized services available. We still have some issues to solve for iOS devices, but we understand how critical notifications are to users and are working on solutions.

Notifications are a critical part of the landscape of any mobile app today. Apps are fighting for attention in the sea of mobile apps and social media. Even Status Messenger fans need to be reminded that they have a message - it’s become an expected shortcut for how we deal with incoming messages.

Ship early, ship often

We shipped the Status Messenger without notifications in February 2020 for two reasons.

First, we needed to ship the core product. We know that many of our users were ready for a product, and often when building tech it’s better to ship and improve rather than never ship and constantly refine. Once we knew that the messaging was private and the funds were secure, then we were ready to put it out, even without all the bells and whistles.

The second reason was ensuring that notifications for a privacy-first application are applied correctly. The native Android and iOS environments are not built for privacy. Both platforms leverage data for their own revenue and for their app creators to use for their own aims. Both platforms are in constant discussion with governments to share user data. With the location detection features on Android and Apple devices, physical location could potentially be constructed to determine both when and where a user got a notification. These are not always features that protect user privacy.

This is not an option for Status.

We refuse to compromise our principles and risk data sharing with anyone. This was a situation that we needed to solve from an engineering standpoint. How do we create a necessary feature that pushes information about the sender, receiver, and message contents through several layers of technology without giving up privacy? A notification feature needs to be able to display at least partial information about a new message when the app is not being used by the user (running in the background). The difficulty is how to do that with leaking as little metadata as possible.

In centralized services chat apps store user information on the device, and match it with information in the central storage. When an account is flagged as having a message incoming, the central database sends a call to the user’s device, and engages with Apple or Android’s notification system. Everybody in the system knows the accounts and who is messaging who.

Built Different, Built For Privacy

Status is built differently. Instead of a centralized database, when our message relayers, called mailservers, receive a message, we don’t know the sender, nor the receiver. It’s just meaningless bytes for anyone but the recipient who owns the decryption key. To get access to that message as a notification, Status Messenger runs in the background and displays the notification when the user receives a message.

Android allows apps to run in the background. This makes it possible to maintain the privacy of the Status App. iOS uses a different notification system. Apple does not allow apps to run in the background, but keeps them in a form of stasis. The Apple system decides which apps are woken in the background for brief notifications or other actions. That program relies on more than 80 heuristic indicators, data about your phone and apps etc, to determine which apps are roused for a background update. Relying on Apple’s program leaves notification delivery time inconsistent.

At present this means there is no way to use Apple’s system and maintain a reliable notification service. We might be able to offer it with inconsistent or spotty service, but this would be a broken user experience. Apple devices require using the iOS push notification system, which means that we will have to make tradeoffs in relying on centralized Apple services. We are currently working on a solution to manage these tradeoffs and bring a good user experience to Apple devices. You can read about it and participate in the conversation on our Discuss post on this feature.

Notifications are important to communication technology adoption. Consumers and users expect this feature, and it’s one of the improvements that we are diligently working on improving. We’re excited to continually roll out new features and make the Status Messenger better with each iteration.

Your feedback makes a difference. We know what you need when you talk to us.

Invite your friends to Status and make a wish list together to give us feature requests and join in the discussion on our active Discuss forums.

See you Status!