Skip to content

Why run a PDS

A Personal Data Server (PDS) is where an AT Protocol account lives. The PDS holds the repository of records that make up the account: posts, follows, profile, likes, and the signed commits that bind them together. It also stores blobs (images, video) and emits the firehose events that let the rest of the network discover new activity.

Most people on Bluesky use the PDS that Bluesky operates. Running a personal PDS is an alternative.

Independence from platform changes. A self-hosted PDS continues to serve the account even if the operator of a hosted PDS changes policy, pricing, or ownership. The cryptographic identity belongs to the holder of the signing key, not to any provider.

Network resilience. The AT Protocol works best with a diverse population of independent servers. Every self-hosted PDS makes the network harder to fail and harder to capture.

Data sovereignty. The repository sits on infrastructure under direct control. The choice of jurisdiction is explicit (see Data placement).

Portability. A PDS exposes standard endpoints for export and migration. Moving between providers is a defined operation, not a favour to ask the current host.

A PDS is not a Bluesky competitor. The account, the handle, and the posts remain part of the Bluesky network. The PDS is just the server that holds them.

A PDS is not a way to opt out of moderation. Other services in the network (relays, AppViews, labelers) still see the records the PDS emits. Self-hosting changes where the data lives, not what it is.

A PDS is not a replacement for backups. The signing key is the only piece of the system that cannot be recovered by re-deriving from other state. Back it up. See Back up your signing key.

Cloudflare is the dependency. Cirrus is designed for the Cloudflare Workers platform and uses Durable Objects and R2 directly. Running on a different provider would require a different PDS implementation.

Operational responsibility shifts. A self-hosted PDS means the operator handles secrets, key rotation, version upgrades, and DNS. The amount of work is small, but it is not zero.

Cirrus is beta software. Account migration has been tested and verified, but unexpected behaviour is still possible. See Status and roadmap for the current state.

Cirrus is built for one person hosting one account. It is appropriate for individuals who want to control their own identity on the AT Protocol network, are comfortable running npx, and are willing to use Cloudflare as the underlying platform.

Multi-tenant hosting, organisations running many accounts, or anyone who needs admin/moderation features for users other than themselves should use a different PDS implementation. The reference implementation from Bluesky is the right starting point.