About Splintr

A federated social network where you own your data and your server.

Nodes and clusters

In Splintr, each user account is called a node. A node is your identity on the network — it holds your profile, your posts, your friend connections, and your privacy settings.

A Splintr server can be set up in two ways. A single-node server is a personal site where one person owns the whole domain. A cluster is a server that hosts multiple nodes — several people each with their own account, like splintr.net/alice and splintr.net/dan. Under the hood, both run the same software and speak the same federation protocol.

What is federation?

Most social networks are centralized — one company runs the servers, stores your data, and decides the rules. Splintr is different. Anyone can run their own server, and servers talk to each other so nodes on different servers can connect as friends, see each other's posts, and interact — all without needing accounts on every server.

Think of it like email: you can send a message from Gmail to Outlook because they speak the same protocol. Splintr servers work the same way. Your node lives on your home server, and federation handles the rest.

How servers discover each other

Every Splintr server publishes a discovery endpoint at /.well-known/splintr. This is a small JSON file containing the server's public key and basic metadata. When one server needs to talk to another for the first time, it fetches this endpoint to learn how to verify that server's identity.

Public keys are cached for 24 hours to reduce network traffic. This follows a trust-on-first-use (TOFU) model — once a server has seen another server's key, it remembers it. For stronger assurance, a server administrator can publish their public key in a DNS TXT record. When present, receiving servers will cross-check the handshake key against the DNS-published key and reject any mismatch, catching impersonation attempts that TOFU alone would miss.

The friend request handshake

Adding a friend across servers involves a multi-step handshake between the two servers that ensures both users consent and that identities are genuine.

Step 1 — You visit a remote profile

You are logged into your home server (say, alpha.example) and you visit a node's profile on beta.example. Your server generates a single-use federation token that proves you are who you say you are.

Step 2 — The handoff

Your browser is redirected to the remote server with a signed handoff token. The remote server contacts your home server to verify the token is valid and hasn't been used before. This prevents replay attacks — each token works exactly once.

Step 3 — You send the friend request

Once your identity is verified, you can view the remote user's public profile and send a friend request. The request is signed with your home server's private key so the remote server can confirm it's authentic.

Step 4 — The remote user accepts

When the other user accepts, their server notifies yours (again, with a signed request). Both servers now record the friendship between your nodes, and posts shared between friends will flow across the federation link.

Security model

All communication between servers happens over HTTPS, and every request is cryptographically signed using RSA keys. Beyond transport security, Splintr protects data at rest and verifies content authenticity across five layers of defense.

Click a ring to learn more.

Splintr security layers Five concentric rings from network edge to data core Network and transport TLS · CORS · rate limiting · cookies Authentication CSRF · sessions · federation tokens · JWT Authorization and privacy ACLs · friendship · blocks · delegation Content integrity Signatures · XSS prevention · sandboxing Encryption AES-256 · Ed25519 · Argon2id Your data Click a ring to learn more

What Splintr doesn't do

Splintr is not trying to be everything. It focuses on direct connections between people you know, not on algorithmic feeds, advertising, or viral content. There is no central authority that can shut down your node or change the rules. If you disagree with how a particular server is run, you can move to another one or start your own.

Want to run your own server? See the Download page for setup instructions.