BitTorrent’s Jaehee Lee offers insight into the development of BitTorrent’s new chat application, focused on how we are addressing the various needs of privacy.
We’ve just released an internal Alpha and wanted to share some of the key learnings from our development process. When our product and engineering teams sat down for our initial brainstorming of the most important features for our upcoming chat application, we all agreed on one thing: The central focus would be around privacy.
So we’ve been doing a lot of serious thinking and research on the issue, particularly as it applies to communicating. What is apparent, as many of you may already know, is that “privacy” in a chat application can mean different things to different people.
To some, what counts most is what’s under the hood. What differentiates the application to ensure that metadata and content remain private? To others, privacy means having social autonomy, private time with the person or people they are talking to; the application should just work. The privacy scenarios include:
- Journalists communicating with sources without exposing their identity or content being shared
- Members of the diplomatic corps sharing private dispatches
- Keeping business communications confidential, safe from leaks, and safe from industrial espionage
- Keeping your conversations private amongst friends
The list can go on. But privacy is, ultimately, the ability to express oneself freely with autonomy and to feel safe doing so. To not worry that the wrong friend will see a message that wasn’t intended for them.
Engineering For Privacy
We realized that there would never be a single message delivery method that was ideally private to all users in all situations. This led us to ask new questions that explored how we could create a chat app that solves different problems for different people, and is transparent in signalling the level of privacy in every use case.
From an engineering perspective, there are specific solutions to address each scenario. For communication between two trusted parties, peer-to-peer (or device-to-device) is optimal.
But there are scenarios where your identity or metadata may need to be obscured from the person with whom you are communicating. The journalist communicating with a source who may be under threat of danger, for instance. For these instances there will be a way to communicate without any need for personal or identifiable information. There will be an additional setting for routing communiques via a relay server to obscure metadata. It will function much like a VPN: the IP address will touch the relay server, but no metadata will be collected or stored. The content is encrypted from end-to-end and never exposed to a third party.
Regardless of how the content of the messages are sent, our chat app will always use our distributed network for users to find one another on the network. This minimizes, and in many cases eliminates, the metadata that is created by other cloud based and centralized approaches to chat apps.
We deliberated further. What if we created a way to inform users of how their messages were being routed and so they could decide for themselves if they feel comfortable chatting through that connection? What if we allowed them to choose a specific type of connection?
Privacy And Convenience
To start, users will be able to choose how they use our chat app. If you are porting in contact lists, you have the convenience of signing up with email or with a phone number. You will also have the option to sign up in Incognito mode, using no such information at all.
What we are building for the Alpha will also address users communicating with a trusted source who prefer their communication to be device-to-device (decentralized). This means no hops through any 3rd party servers, and no chance of anything being intercepted.
For users who may prefer to have their metadata obscured, messages will be indirect and routed through a third node. It is all a matter of preference.
We think these considerations are important, and we’re coming up with what we believe to be some great ways to give people control over their conversations.
Future posts will discuss more details of our chat app. For now, the team here is putting the internal release through it’s paces. The private alpha launch is right around the corner, and it represents just the beginning of what our vision is for a privacy-centered chat application. We can’t wait to share it with you.