Stop trusting companies, start trusting code

Stop trusting companies, start trusting code

One of the principal sources of the omnipresent data collection and surveillance we see today lies in the inherently secretive and centralized development of most applications. If you have a system in which the users do not know and cannot easily verify what is being tracked and stored, there is little to no incentive to actually care about privacy. Now, in many cases there will be genuine, well- meaning people leading the charge in a company’s infancy, but this goodwill is often short lived. The final outcome of profits over people seems almost inevitable in the tech industry, and this is exactly the problem Status is trying to address.

This simple idea ties into several of our core principles. First and foremost, transparency and openness. All of our source code is public, and our development process is very accessible and transparent. Every other week, there is a Town Hall discussion covering all important changes at Status such as hiring, core development plans, infrastructure and more. Our research, planning and brainstorming is all accessible on our Discuss forum, in which users are encouraged to participate. Anyone is free to follow along, and contribute, within the inner workings of our development process. There are no hidden updates, no secret trackers, and no unwanted data collection.

The beauty of Status, and open source in general, is that even if a degradation of integrity were to occur within Status’ management, the code and the peer-to-peer (P2P) network would live on, unscathed. Once an application’s code is out in the wild, it is difficult to transition towards a proprietary development model given the tendency for codebases to be forked. This leads into another core principle: decentralization. There is no restriction on what type of clients can interact with the P2P network, and there is no way to shut it down. As such, were Status to attempt to introduce unwanted changes such as invasive tracking, anyone could fork the codebase and provide a privacy-conscious third-party client. It may even be the case that the usage of alternative clients will eventually outpace that of the official client, just as the first BitTorrent client made by the protocol’s author was soon superseded by other options.

Now, in order to be maximally transparent, it is important to recognize where Status currently falls short of its ideals and what is being done about it. Although our code is entirely open source, there is currently no trivial way for the average user to verify that the distributed applications were actually built with the source code you see on GitHub. The ultimate form of ensuring integrity through transparency would be reproducible builds. This essentially guarantees that the built application you are about to open on your phone is the exact same as the code you see on GitHub. Without such a system, the distributor of the built application could simply throw in their own changes which you could not easily detect. Although Status does indeed have reproducible builds, there currently isn’t any infrastructure to facilitate and automate the verification of reproducibility. If you are extremely conscious of your privacy, you will have to build the Status application yourself in order to verify that the hash matches with the binaries distributed on the Play Store or App Store, until we develop a more accessible solution.

Furthermore, although the end goal of our P2P network is to be completely functional without our assistance, this is not currently the case, as a majority of the nodes in the network are operated by Status. In order to address this, there needs to be a strong incentive for network participation to ensure a healthy number of nodes are online at all times. Much of this work is currently in R&D by the Vac team. Creating a network that is highly operational whilst simultaneously ensuring it is censorship-resistant, private and secure is no simple task. Updates in this area may be followed at Vac’s Research Log, or their Discuss forum. Finally, in order to pave the path for Status’ future, there will likely need to be a transition into some form of Decentralized Autonomous Organization (DAO) to allow for continuous updates to the network without compromising on censorship-resistance.