Over the past few weeks, we have deployed several major improvements to Bluvy Messenger's encryption system to enhance conversation reliability, simplify device management, and strengthen automatic recovery mechanisms.

Automatic Backup Key Replenishment

Each device maintains a pool of backup keys (Key Packages) that allows it to be securely added to encrypted conversations.

The server now continuously monitors the number of available keys for every device. When the available pool becomes low, the device receives a signal requesting it to generate additional keys.

The application then automatically replenishes its key pool in the background by uploading a new batch of keys. This prevents situations where a device could no longer be invited to a conversation because no valid keys remain available.

Instant Device Revocation

Device management has also been significantly improved.

When a user disconnects or revokes one of their devices, this information is immediately propagated to all relevant conversation participants. Encryption groups are then automatically updated to permanently remove the revoked device.

This ensures that a removed device can no longer access any new messages exchanged after its revocation.

New Self-Healing Recovery System

We have fixed several situations that could previously prevent devices from successfully resynchronizing after an encryption error.

Now, whenever a device receives a message that it cannot decrypt, it immediately enters recovery mode. The application automatically clears any inconsistent local cryptographic state and rebuilds a healthy conversation state.

In most cases, this recovery process happens automatically without any user intervention, allowing communication to be restored quickly.

Why a Database Reset Was Necessary

To support these improvements, we performed a targeted reset of the MLS-related data stored on our servers.

This operation was necessary to establish a clean foundation and remove legacy data created by earlier versions of the system.

Removing Inconsistent Synchronization States

Before these fixes were deployed, some conversations could enter divergent cryptographic states due to synchronization issues.

These inconsistent states remained stored in the database and could sometimes prevent devices from reaching a common synchronized state again.

Resetting the MLS data allowed us to remove these obsolete records and start from a clean, consistent foundation.

Renewing Backup Keys

Some backup keys stored on the server had become outdated, exhausted, or associated with old devices.

The cleanup allowed updated versions of the application to automatically generate and upload a completely fresh set of valid keys the next time they connected.

A Clean Foundation for the New System

Recent versions of Bluvy Messenger introduce atomic cryptographic operations as well as advanced self-healing recovery mechanisms.

Keeping data generated by the older system could have led to unpredictable edge cases and compatibility issues. The reset therefore created a clear boundary between the legacy implementation and the new architecture.

What This Means for You

Thanks to these improvements:

  • Adding new devices to conversations is more reliable.

  • Revoked devices are removed from encrypted conversations immediately.

  • Encryption synchronization issues are detected and resolved automatically.

  • Conversations can recover cleanly when problems occur.

  • The encryption infrastructure now operates on a fully cleaned and healthy foundation.

These changes represent an important milestone in the stabilization of Bluvy Messenger and our ongoing goal of providing a secure, modern, and resilient encrypted messaging experience that can automatically recover when issues arise.

Bluvy Messenger

An end-to-end encrypted messaging client for Bluesky, developed in France by @thomasfds.fr