Yeah they can try to take our rights away but if some programmers got together they could be protected with some swifty encryption. My theory is this. You have a chat server (could even be a simple CGI script). But anyone is allowed to create a private chat room that’s called anything they want. (make the names long for better encryption.) Then make it a P2P chat application, the chat server is just there to match up IP numbers. So the server has the IP’s grouped for a certain chat room, but the IP’s are encrypted and they’re not stored under the name of the chat room. Instead make a SHA hash of the chat room name, and also use the chat room name to generate an encryption key for all parties joining that room. Store the encrypted IP’s (encrypted with the generated key). in a file named whatever the SHA hash was. Encrypted all the communications before they go over the line with the generated encryption key, and make sure the server reports back how many IP’s are logged into the chat room so people know if someone is eavsdropping. And bingo, unless you know the exact name of the chat room someone is talking in, you can’t eavsdrop their communication. You may also consider making the program able to generate your hash’s and keys from a wav file that you’ve given to your friends. This is immune to a man in the middle attack as well, without using CA’s or a trusted third party. Which is one flaw with RSA. email me at email@example.com if you want me to explain what a man in the middle attack is, even if they are unlikly. Anyone, remember that the encryption key would never be sent over the line. If all parties involved knew the name of the chat room, they would all be able to generate the same key without ever transmitting it. So the authorities couldn’t intercept it, and they couldn’t get the name of the room off the server, because only the SHA has is stored on the server which is not what was used to generate the key.