Skip to content
MapleSpike
Mosaic · sovereign social
MosaicSovereign social layer

Sovereign
social.
Powered by Haven.

Ed25519 identity, customizable profile pages, and signed feeds on top of realtime chat and voice. No platform account required. Fork the repo, own the stack.

Fork on GitHubRead the planAGPL-3.0 · fork of Haven

identity · Ed25519 + Passkey

01 · Identity layer

Your key is
your account.

Mosaic replaces platform-bound accounts with Ed25519 cryptography. Generate a keypair once, register a passkey for convenience, and discover peers by scanning a QR code.

Self-custody · no KYC · no platform gate
Key generation01

First boot generates an Ed25519 keypair + BIP39 seed phrase. Your identity is a public key, not an email address.

Passkey registration02

Bind a WebAuthn passkey to your keypair. Login with biometrics — the passkey signs a challenge, no password needed.

QR discovery03

Scan a QR code to exchange pubkeys. The payload encodes identity, display name, and node URL — instant connection.

02 · Features

Chat plus identity,
profiles, and feeds.

Everything you expect from modern chat — channels, voice, screenshare, E2EE DMs, file sharing — plus sovereign identity and self-publishing on top.

Profiles

Customizable per-user profile pages alongside the chat UI. Sandboxed HTML, CSS, and JS — your space, your rules.

Signed feeds

Broadcast signed posts and bulletins alongside chat channels. Each post carries an Ed25519 signature, timestamped and verifiable.

Connections

Pubkey-based social graph. Follow peers by scanning their QR code or entering their pubkey. No friend requests, no gatekeeping.

Federation

Connect nodes by pubkey exchange. Your identity follows you across instances — self-hosted, IP-based, or onion-routed.

03 · Quickstart

Keygen, connect,
post.

Three commands to establish your identity, discover peers, and publish signed content. No signup form, no captcha, no email verification.

mosaic · zsh
# # Mosaic identity flow
$ $
mosaic keygen
> ed25519 keypair generated
> seed phrase: canyon glow ... skate vendor
> pubkey: ed25519:8f3a...c291
# # Export QR for peer discovery
$ $
mosaic qr
> QR encodes: pubkey + display_name + node_url
> scan to connect — no typing needed
# # Register a passkey
$ $
mosaic passkey register
> WebAuthn credential bound to keypair
> biometric login replaces password
04 · Stack

Built on realtime chat,
extended for sovereignty.

01
Haven

Fork base: realtime chat, voice, screenshare

02
Express + Socket.IO

Server runtime and WebSocket signaling

03
Ed25519

@noble/ed25519 keypairs, signing, verification

04
WebAuthn

@simplewebauthn/server passkey registration

05
BIP39

Seed phrase key generation and recovery

06
QR Code

qrcode package for identity exchange

07
AGPL-3.0

Open source, forever

Mosaic

Sovereign social,
powered by Haven.

Mosaic is built on Haven, adding sovereign identity, customizable profiles, and signed feeds to rock-solid realtime chat. Fork the repo, read the plan, and join the build.