Resources Required for 2026H1:

  • 2 Chat engineers

Once done, apps like Status can build a chat experience which includes support for multiple devices and multiple participants in a given group chat.

Group chat features will be limited at this stage and extended with further milestones. Support for plugging Status Communities on top of Logos Chat is not expected — further group size scaling and extension of membership management API would be needed.

Encryption approach: de-MLS (decentralised MLS) from the AnonComms team, which provides multi-steward group management. de-MLS API is consumed as a dependency from the AnonComms team.

Identity: A simple identity model must be in place for this milestone. A “user” is a set of installations (devices), with basic association between them. Key rotation and device recovery are included at a basic level. Full identity (binding to external identities, provenance logs, advanced recovery) is planned for Chat — Developer Preview.

Remove unnecessary Nim shim: This milestone includes an attempt to remove the unnecessary Nim layer in Logos Chat by rewriting it in Rust. Currently the Nim layer exists primarily to manage the async runtime and Logos Delivery integration, but adds complexity with no clear benefit. This rewrite is only feasible if Logos Chat can remain fully synchronous on the Rust side. If successful, it would significantly simplify development going forward.

FURPS

Risks

Type/LevelRisk(Accept, Own, Mitigation)
Schedule/MediumMilestone dependencyThis milestone depends on Chat — Foundations. Delays there translate into delays here.
Technical/LowGroup chat bugsGroup chat is prone to bugs even when using existing encryption protocols. Extra time allocated to testing and debugging.
Technical/HighSDS and de-MLS ordering conflictSDS works backward in the dependency tree, but de-MLS requires forward construction from checkpoints. Specific deliverable scheduled to design and define integration.
Technical/HighNim shim removal feasibilityRemoving the Nim layer is only possible if Logos Chat remains fully synchronous. If async is required (e.g. for data storage), the removal may not be feasible.

Deliverables

Add Group Chat

Owner: Chat Team

Feature: Group Chat

FURPS:

  • F1. Accounts can receive a message in multiple locations (e.g. devices) by registering new installations.

  • F2. Accounts can view and remove installations as needed.

  • F3. Accounts can create group chats between multiple accounts.

  • F4. Participants can set a group name and description for all participants in the group.

  • F5. Account can view all provisioned installations.

  • F6. Account can revoke other installations in case of a lost device.

  • R1. Group participants in a conversation can tell if a message is missing, and who sent it.

  • P1. The number of network messages for a single outbound group message does not scale with the number of group members.

  • +PRIV1. Non-participants cannot correlate a group conversation to any of its participants.

  • +PRIV2. No identifying information is visible when registering an installation.

Implement simple identity model

Owner: Chat Team

  • A “user” is represented as a set of installations (devices)
  • Basic association between installations belonging to the same user
  • Basic key rotation: ability to add/remove installations

Implement contact discovery

Owner: Chat Team

The implementation should replace v0.1 out-of-band intro bundle sharing. Current agreement is to use on-chain storage.

Risk

Requires research into whether Logos Blockchain supports the needed functionality by this timeline. Fallback is to continue with out-of-band sharing.

Design SDS and de-MLS integration

Owner: Chat Team

Define how SDS reliability (backward dependency resolution) integrates with de-MLS encryption (forward checkpoint construction). This is a design deliverable that feeds into the Reliable Channel API General Availability milestone.

Dependency: de-MLS API from AnonComms team must be available.

Remove unnecessary Nim shim from Logos Chat

Owner: Chat Team

Evaluate and attempt removing the Nim layer of Logos Chat (logos-chat) by rewriting it in Rust. The Nim layer currently handles async runtime management and Logos Delivery integration but adds development complexity. If Logos Chat can remain fully synchronous, this layer can be replaced with Rust, unifying the codebase.

Perform test integration of Logos Chat into Status App

Owner: Chat Team + Status Team

Initial validation that Logos Chat (1:1 + group chats) can be consumed by Status. This is an exploratory integration, not a production milestone. The goal is to get feedback on the API from a production app.