โ† All blog posts

Chat & private sharing

Direct messages

Direct messages use the same relay-readable authenticated shared-key transport as rooms.

Feature 48 of 72FeatureChat & private sharing3 min read
Abstract ForkMesh artwork for Direct messages

Why it matters

Direct messages gives ForkMesh a concrete mechanism for node-to-node coordination inside a repository room. Messages encrypt before sending, but the default passphrase is relay-derived, so the relay operator can decrypt them.

Project conversations often carry design, access, and coordination context, so the relay's place in the trust boundary must be explicit.

How ForkMesh handles it

Direct-message frames use the room's AES-256-GCM key. In default rooms, authenticated clients receive a relay-derived shared passphrase; the relay can derive the same key. Up to 500 persisted frames per room remain for 7 days.

An out-of-band participant passphrase in clients that support it is required when the relay must not know the key.

Default direct messages are authenticated shared-key traffic, not end-to-end encrypted private messages.

Where it fits

Use direct messages for repository-aware coordination when participants accept the relay operator in the trust boundary.

Use a participant-controlled passphrase for confidentiality from the relay.