View on GitHub

Disconnected Data Distribution

Bringing Internet Services to Disconnected Areas of the World

The Problem

Much of the world still doesn’t have access to the internet. Some parts never will due to economic conditions, lack of resources, and lack of local technical expertise. Other parts lose internet access due to natural and man-made disasters.

Our solution

Rather than transporting internet data over data channels, we physically transport the data using existing physical transportation methods, such as buses, trains, delivery vehicles, mules, etc. We call this Disconnected Data Distribution (DDD). We don’t require any new infrastructure or equipment. We use existing Android phones and USB keyfobs. Our solution is completely software-based and does not require new equipment or modifications to existing Android phones. Users simply install our Android apps on their phones. Our solution complements other solutions, such as long-distance Wifi and satellite internet, to bring internet services to the rest of the world.

You can start using our apps to send mail from disconnected areas right now!

System components

We have three core components

{5B5029D5-BE08-4E7A-B19C-43FADA845DFF}

We use end-to-end encryption between villagers and our server based on the Signal protocol. When a transport is in the village, villagers’ phones detect and exchange data using the Wi-Fi Direct. The villager’s phones will exchange end-to-end encrypted bundles with the transports. We do not trust transports: data is end-to-end encrypted, and our data management does not expect every exchange to reach the destination. This lack of trust allows anyone to be a transport. A malicious transport can collect data that it cannot decrypt; any data changes by the transport will be detected; and transports that only collect data but never send to the destination do as much harm as not being present in the first place.

Initial plan

Our initial plan is to target email. We are modifying K9, an open-source Android mail client, and writing a simple Java STMP server to integrate with DDD. Unfortunately, there are many devastated areas of the world (due to man-made and natural disasters) that have populations that need to connect with families, friends, loved ones, educational institutions, businesses, aid, etc. We plan to try out this way of providing email in Ukraine in the near future to get experience with the benefits and challenges of DDD.

Future plans

There are plenty of common internet applications that would work well with DDD:

We also would like to develop more infrastructure: