To really be censorship resistant you have to follow the example of the pirate streaming services. Have servers in multiple places. Multiple domain names. Be resilient to any instance going down.
Any capability the server has to violate user privacy a government has. So ensure you have as few capabilities as possible to violate privacy. If your users are very vulnerable make sure that you don’t have the data to expose them ever.
You can consider hosting in a “safe country” That’s just the beginning. You could make your service available on tor via hidden service address. That way even if users don’t have good operational security themselves you try to protect them from leaking their activity to whoever their vulnerable to
Just wanted to chime in by mentioning i2p. In some ways it’s much better depending on your requirements. For me Java was a dealbreaker but these days i2pd exists.
To really be censorship resistant you have to follow the example of the pirate streaming services. Have servers in multiple places. Multiple domain names. Be resilient to any instance going down.
Any capability the server has to violate user privacy a government has. So ensure you have as few capabilities as possible to violate privacy. If your users are very vulnerable make sure that you don’t have the data to expose them ever.
You can consider hosting in a “safe country” That’s just the beginning. You could make your service available on tor via hidden service address. That way even if users don’t have good operational security themselves you try to protect them from leaking their activity to whoever their vulnerable to
aka disable any logs or delete them automatically, periodically.
Just wanted to chime in by mentioning i2p. In some ways it’s much better depending on your requirements. For me Java was a dealbreaker but these days i2pd exists.