A rootless, ownerless substrate for human expression.
Speech without roots. Power without owners.
Features • Quick Start • Documentation • Contributing • License
RootlessNet is a decentralized protocol for censorship-resistant communication. It's not a platform, company, or product—it's infrastructure that makes human expression structurally resilient to control, capture, and silent erasure.
- 🔑 Self-Sovereign Identity — You own your keys, you own your identity
- 📦 Data Portability — Take your content and audience anywhere
- 🌐 No Central Authority — No one can globally censor or control
- 🔒 Privacy by Default — End-to-end encryption for private communications
- 🏛️ Local Moderation — Communities choose their own rules
- 🔄 Client Diversity — Multiple clients, one protocol
- Self-generated cryptographic identities
- Persistent pseudonyms or ephemeral presence
- Key rotation and recovery options
- Zero-knowledge proofs for attribute verification
- Signed, content-addressed posts
- Multi-format support (text, media, documents)
- Threaded conversations
- Optional encryption levels
- Create topic-focused spaces
- Flexible governance models
- Local moderation policies
- Federation between zones
- End-to-end encrypted direct messages
- Group messaging with forward secrecy
- Optional message expiration
- Anonymous sending option
- P2P mesh networking
- Multiple transport options
- Tor/I2P support for anonymity
- Offline-first design
# Using bun (recommended)
bun add @rootlessnet/sdk
# Install CLI globally
bun add -g @rootlessnet/clirootless identity createrootless post "Hello, RootlessNet!"rootless node startimport { RootlessNet } from '@rootlessnet/sdk';
const client = new RootlessNet();
// Create identity
const identity = await client.createIdentity();
// Post content
const post = await client.post('Hello, decentralized world!');
// Send encrypted message
await client.sendMessage(recipientDid, 'Private message here');| Document | Description |
|---|---|
| CONTEXT.md | Complete protocol specification and philosophy |
| docs/ARCHITECTURE.md | Technical architecture details |
| docs/SECURITY.md | Security model and threat analysis |
| docs/PROTOCOL.md | Wire protocol overview |
| docs/PROTOCOL_SPEC.md | Comprehensive protocol specification |
| docs/CRYPTO_SPEC.md | Cryptographic implementation requirements |
| docs/DEVELOPER_GUIDE.md | Developer getting started guide |
| docs/FAQ.md | Frequently asked questions |
| docs/CONTRIBUTING.md | How to contribute |
| docs/GOVERNANCE.md | Project governance |
┌─────────────────────────────────────────────────────────────┐
│ Client Applications │
├─────────────────────────────────────────────────────────────┤
│ Protocol Layer │
├─────────────────────────────────────────────────────────────┤
│ Identity │ Content │ Zones │ Messaging │
├─────────────────────────────────────────────────────────────┤
│ Cryptographic Layer │
├─────────────────────────────────────────────────────────────┤
│ P2P Network │ Relays │ Storage │ DHT │
└─────────────────────────────────────────────────────────────┘
RootlessNet is designed with security as a core principle:
- Signatures: Ed25519 for all content signing
- Encryption: XChaCha20-Poly1305 for symmetric encryption
- Key Exchange: X25519 for asymmetric operations
- Hashing: BLAKE3 for content addressing
- Forward Secrecy: Double Ratchet for messages
See SECURITY.md for the complete threat model.
Please report security issues to: [email protected]
- ✅ Core protocol specification
- ✅ Identity system
- ✅ Content creation and sync
- ✅ Zone support
- ✅ E2E messaging
- 🔄 Post-quantum cryptography migration
- 🔄 Hardware wallet integration
- 🔄 Enhanced reputation system
- 📋 Cross-protocol bridges
- 📋 Mobile apps
- 📋 Incentive layer
We welcome contributions! See CONTRIBUTING.md for guidelines.
# Clone the repository
git clone https://github.com/RootlessNet/protocol
# Install dependencies
bun install
# Run tests
bun testThis project is licensed under the MIT License - see the LICENSE file for details.
Speech is structural. Freedom is designed.
Made with ❤️ by the RootlessNet community