Skip to content

Overview

bae is a music library manager that uses decentralized identity and end-to-end encryption over pluggable storage to enable multi-device sync, collaborative curation, and discovery.

Each user has a locally generated keypair (Ed25519/X25519). Public keys are identities. There is no central identity server — users exchange public keys directly when sharing a library.

One symmetric key per library, shared by all members. Everything in the cloud home is encrypted before it leaves the device. The storage provider sees opaque blobs. See Encryption.

Pluggable. Any commercial cloud provider (Google Drive, Dropbox, OneDrive, iCloud Drive), any S3-compatible bucket (AWS, B2, R2, Wasabi, MinIO), or local-only with no cloud at all. A single CloudHome trait abstracts the differences. See Cloud Home.

Devices sync through the cloud home via encrypted changesets. Each edit produces a compact binary diff; other devices pull and apply it. Conflicts are resolved automatically using last-writer-wins with hybrid logical clocks. Multiple users can share a library through a membership chain and signed changesets. See Sync.

Users who match releases to MusicBrainz or Discogs IDs create mappings from metadata to content hashes. These mappings are shared over the BitTorrent Mainline DHT as signed attestations, enabling decentralized search and download without a central index. See Discovery Network.