Final scoring framework
All criteria are scored on a 0–100 scale and combined into a weighted composite out of 100. The weighting favors minimal attack surface, memory/runtime safety, self-hosting sovereignty, and role-correct architectural fit.
| Criterion | Weight | Definition |
|---|---|---|
| C1. License & Anti-Capture | 10% | How strongly the license resists closed SaaS or black-box capture while remaining FOSS. Server-side copyleft is treated as structurally stronger than permissive licensing. |
| C2. Language & Runtime Safety | 10% | Memory-safety and runtime posture. Rust, Go, TypeScript/Deno, and Android/Kotlin stacks score differently from C++ in the presence of adversarial input and long-lived network exposure. |
| C3. Deployment & Self-Hosting | 15% | Single-binary friendliness, database footprint, packaging, small-hardware viability, and absence of forced cloud or SaaS dependencies. |
| C4. Privacy, Attack Surface & Synthetic Adjacency | 20% | How “dumb” and narrow the system remains. Cross-protocol bridges, complex policy engines, social UIs, cloud backups, and bundled services expand the surface and lower the score. |
| C5. NIP Coverage & Protocol Correctness | 10% | Breadth and seriousness of relay-relevant NIP support, with more credit given to dedicated relay implementations than to general application servers with secondary relay capability. |
| C6. Architecture Simplicity & Antifragility | 15% | Minimal moving parts, clear failure modes, clean database story, and avoidance of unnecessary bundling inside the relay core. |
| C7. Ecosystem Maturity & Maintenance Outlook | 10% | Observed adoption, packaging, documented operational maturity, release activity, and explicit roadmap or maintenance posture. |
| C8. Sovereign Alignment, Defaults & DR | 10% | How well the project’s defaults and structure fit personal, sovereign, or operator-controlled relay patterns, plus backup/disaster-recovery ergonomics where relevant. |
App-server / social stack tier
This tier covers systems whose real center of gravity is application-layer community or social functionality rather than minimal relay substrate.
Ditto — 71.0 / 100
Ditto is described in the official repository as “a Nostr server for building resilient communities online.” It is AGPL-3.0 licensed, built in TypeScript for Deno, and paired with dedicated documentation. The surrounding Soapbox material frames Ditto as a way to create a customizable social network that is decentralized and free from ads and tracking, while also unlocking Mastodon app compatibility.