# privacy is not just encryption

· #privacy #self-hosting #matrix

salix@host:~/posts/privacy-is-not-just-encryption

People hear “privacy” and they think of encryption. The idea is clean: your messages get scrambled on one device, unscrambled on another, and nobody in between can read them. End-to-end encryption is a real and important tool. But it is not the whole story. It protects what flows through the pipe, but it does not protect you from the pipe itself.

I keep running into this, both as someone who runs a server and as someone who cares about privacy more broadly. Encryption is necessary, but it is nowhere near sufficient on its own.

Your server still knows who you talk to

Here is something that always surprises people: even with end-to-end encryption turned on, your server can still see a hell of a lot about your conversations. Who you message, when you message them, how often, and for how long. Which rooms you join, which files you share, whether you are online right now.

None of that is “content.” None of it is covered by encryption. But all of it is intimate. A list of your contacts and the timing of your conversations tells a story about your life that most people would not hand over voluntarily.

This is part of why I built salix.host instead of just telling everyone to use Signal. Signal’s encryption is excellent, and I have recommended it plenty of times. But Signal is still a centralized service run by one organization. Your messages are private, but the server still knows who you talk to, when, and how often. And while Signal says they do not store your contacts, groups, or profile data, the server still sees the connection metadata in real-time, including who you talk to, when, and how often, even if it does not keep it.

Matrix gives you a choice. You can pick a server you trust, or one you run yourself. The encryption is the same, but the infrastructure is different. That difference is not a minor detail. It is the difference between renting your digital life from a company and owning a piece of it.

The CAPTCHA I built instead of using Google’s

The same idea shows up in the most unexpected places. Like that weird driving game on salix.host’s registration page.

If you have signed up, you probably noticed it. You survive eighteen seconds of pixel traffic, and if you do not crash, you get a registration token. It is a bit silly, but there is a reason it exists.

Every other site on the internet outsources this problem to Google or Cloudflare. You solve a reCAPTCHA, and in return, Google gets your IP address, your browser fingerprint, and a behavioral profile that feeds into their advertising machine. For a privacy-focused server, that is a contradiction: “We care about your privacy, now please report to Google before entering” is not a very convincing welcome message.

So I built my own. The driving game, the proof-of-work puzzle, the server-side replay validation, the PNG traffic images instead of JSON. None of it is about encryption. It is about not handing your registration data to a third party just to get an account. The privacy boundary does not stop at the message content. It extends to every interaction, including the very first one.

Most people never notice this. They solve the CAPTCHA and move on. But the choice was made for them, by someone else’s server, before they ever typed a message.

Small servers and the laws that threaten them

This is what I keep coming back to: privacy is not just about the messages you send. It is about the systems that carry them.

When you use a service hosted by a large company, you are not just trusting them with your data. You are trusting them with your behavior, your relationships, your habits, your presence. You are trusting them not to be compelled to hand over information, not to change their terms, not to be acquired by someone with different priorities.

Signal has learned this lesson the hard way. They opposed the UK’s Online Safety Bill, and have threatened to leave Canada over similar legislation. They have the resources to fight, and the public profile to make headlines when they do.

But what happens to the small services that cannot afford lawyers? What happens to a homeserver like salix.host when the law says you have to scan messages, whether you want to or not?

This is exactly what Chat Control threatens. I have written about it before, and I will probably write about it again. But the core point is simple: encryption cannot save you from a law that forces you to break it. If the state can compel you to scan messages on your own server, or to build a backdoor into your own software, then the strength of your encryption is irrelevant. The vulnerability is not in the protocol. It is in the infrastructure.

Why I run a server instead of just using one

This is why I frame privacy as an infrastructure problem, not just a cryptography problem. Owning your infrastructure, or at least choosing it carefully, gives you control over the full stack of your digital life.

When you run your own server, you decide:

  • who can see your metadata
  • what data is logged, and for how long
  • whether your server federates with other servers, and on what terms
  • how your registration process works, and what third parties are involved
  • what happens when the law comes knocking

You also take on responsibility. Security patches, backups, outages, abuse reports. There is no support desk to call when something breaks at 3am. But there is also no company that can change the rules overnight, no advertiser that can buy access to your data, no government that can compel a service you do not control.

This is not a lifestyle recommendation for everyone. Most people should not have to run their own server to have a private conversation. But the ecosystem needs people who do, because federation only works when there are multiple servers to choose from. If everyone concentrates on a handful of giant platforms, then the infrastructure problem becomes everyone’s problem.

Privacy is a system, not a feature

I did not set out to write a post about infrastructure when I built that driving game. I just wanted to keep bots out without inviting Google in. But it turns out that every privacy decision I make comes back to the same thing: who controls the systems that carry our digital lives.

When I run salix.host on Synapse instead of my experimental Vitis homeserver, I am thinking about reliability as a privacy property. A server that crashes or loses data is not a private server, it is a broken one. When I built the registration dispenser with process separation, I was thinking about limiting the damage if a bug lets an attacker through. When I oppose Chat Control, I am thinking about legal threats to the infrastructure itself.

None of this is about encryption alone. It is about who controls the pipe.

That is why small servers matter. Not because they are perfect, but because they are alternatives. Not because they are easy, but because they are choices. In a world where everything funnels through a handful of giant platforms, a small server run by a real person is a statement that the infrastructure does not have to be owned by someone else.

And sometimes, that is enough.

As always, if you want to talk about this, whether you agree, disagree, or just want to run your own damn server, you know where to find me.

~$