Architecture |
Centralized |
Centralized UI, Decentral Storage |
Decentralized (ActivityPub) |
Centralized (Self-Hosted) |
Decentralized (ActivityPub, Diaspora) |
Decentralized (ActivityPub) |
Decentralized (Diaspora Protocol) |
Decentralized (ActivityPub) |
Decentralized |
Decentralized (ActivityPub) |
Decentralized (Nostr Protocol) |
Decentralized (Self-Hosted/Clustered) |
User Authentication |
Username / Password |
Username / Password |
Password |
Password |
Password-based |
Password |
Username / Password |
Username / Password |
Username / Password |
Password-based |
Public/Private Key Pair |
Passwordless via Email Tokens |
Content Synchronization |
Central server handles all |
Planned for decentralization |
Federated, server-to-server |
Manual or plugin-based |
Federated, server-to-server |
Federated, server-to-server |
Federated, pod-to-pod |
Federated, video sharing |
Federated, across hubs |
Federated, server-to-server |
Client-driven, no central server |
Clustered, content synchronized |
Post Length |
280 characters |
300 characters (subject to change) |
500 characters |
Flexible, Markdown supported |
No strict limit, Markdown |
No strict limit, Markdown |
No strict limit, Markdown |
Video-centric, long descriptions |
No strict limit, rich text |
No strict limit, MFM formatting |
No strict limit, depends on clients |
Markdown posts, no strict limit |
Media Support |
Images, Videos, GIFs |
Images, Videos |
Images, Videos, Audio |
Images, Videos, Customizable |
Images, Videos, Audio |
Images, Videos, Audio |
Images, Videos |
Videos, Images |
Images, Videos, Files |
Images, Videos, Audio |
Depends on client implementations |
Images, Videos, Custom Media |
API Access |
Restricted, Paid for full access |
Open API for development |
Open API for development |
Open API, customizable |
Open API, extensible |
Open API, extensible |
Limited API |
Open API for development |
Open API, extensible |
Open API |
Open, no central API |
Open API for development |
Clustering & Federation |
Not applicable |
Developing AT Protocol for this |
Federated by default |
Not inherently, but can be extended |
Federated, plugin support |
Federated, server clusters |
Federated, pod clusters |
Federated, instance clusters |
Federated, hub clusters |
Federated, server clusters |
No clustering, peer-to-peer |
Clustered, manual source setup |
User Control Over Algorithms |
No direct control, algorithmic |
Users can select algorithms |
Chronological by default, customizable |
None by default, customizable |
Limited, plugin-based |
Limited, server configuration |
Limited, pod configuration |
Limited, by instance admin |
Extensive, through hubs |
Customizable by server admins |
Client-driven, no algorithms |
Chronological, searchable |
Privacy & Data Ownership |
Limited user control |
Emphasis on user data control |
Strong emphasis on user control |
High control, self-hosted |
Strong emphasis on user control |
Strong emphasis on user control |
Strong emphasis on user privacy |
Strong, instance-specific policies |
Strong, with many privacy options |
Strong, instance-specific policies |
High, self-sovereign data |
High control, self-hosted or clustered |
Moderation |
Centralized, can be controversial |
Automated with user control |
Server-specific, community-driven |
Customizable by the admin |
Server-specific, community-driven |
Server-specific, community-driven |
Pod-specific, community-driven |
Instance-specific |
Hub-specific, community-driven |
Server-specific, community-driven |
No central moderation, client-based |
Admin-based, configurable |
Interoperability |
Limited |
Planned with AT Protocol |
With ActivityPub protocol |
Limited, depends on plugins |
High, with multiple protocols |
High with ActivityPub |
Limited to Diaspora network |
With other ActivityPub platforms |
High, with multiple protocols |
With other ActivityPub platforms |
Interoperable via Nostr protocol |
Limited, JSON/XML API |
Search Functionality |
Advanced, algorithmic |
Basic, customizable feeds |
Server-specific, less advanced |
Basic, depends on setup |
Basic, server-specific |
Basic, server-specific |
Basic, pod-specific |
Basic, instance-specific |
Advanced, hub-specific |
Advanced, server-specific |
Depends on client implementation |
Advanced, chronological & by search |
Monetization |
Ads, Premium features |
Not specified, open-source ethos |
Donations, no ads by default |
Free, can be monetized by host |
Donations, no ads by default |
Donations, no ads by default |
Donations, no ads by default |
Donations, no ads by default |
Donations, no ads by default |
Donations, no ads by default |
No central monetization |
Not specified, customizable |
User Migration |
Difficult to export data |
Designed for portability |
Data can be moved between servers |
Depends on implementation |
Data can be moved between servers |
Data can be moved between servers |
Data can be moved between pods |
Data can be moved between instances |
Data can be moved between hubs |
Data can be moved between servers |
User controls data, no migration needed |
Data import from X, manual setup |
Running Own Server |
Not applicable |
PDS Limited to 10 users, requires subdomain, DNS setup, no UI |
Full server with UI, unlimited users |
Full server with UI, customizable |
Full server with UI, customizable |
Full server with UI, customizable |
Full pod with UI, customizable |
Full server with UI, video focus |
Full hub with UI, customizable |
Full server with UI, customizable |
No central server, client-driven |
Full server with UI, JSON/XML data, clustered |
Direct Web Access |
Via official app or website |
No direct web access for PDS, needs Bluesky app |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
Direct via domain/server |
No central server for direct access |
Direct via domain/server with JSON/XML API |