Data security

Data Security Manual
mWater values the security and privacy of user data and takes numerous measures to ensure that our database, server and user data are protected from loss due to crashes or malicious attacks. In this article, we explain the precautions we take to secure your data in terms that non-computer engineers can understand. We also provide some tips and best practices that you should follow in your organization to protect your data from unauthorized access. 
Contents

Here is a quick overview of how to approach data security in your use of mWater:
  1. Use mWater features designed to protect data - The first line of defense is to make use of the many features we have built into mWater for data security. This includes understanding and setting permissions correctly, using the Organizations feature to implement role-based security, setting permissions properly for sites and deployments, and using Confidential data mode to redact answers to questions that contain sensitive data and/or to obscure locations of mapped sites.
  2. Develop thorough organizational policies for data safety and train users to follow them - Technology alone cannot protect your data; it is also critical to develop clear policies and ensure that all employees who deal with data (hopefully that means everyone!) know about them. 
  3. Don't collect data that could be harmful - Some information is just too sensitive to collect, especially if irreparable harm could result from unauthorized access. Examples include household locations that might bring stigma upon that family if, for example, you associate their location with their well's safety status; or refugee's names in an unstable government. If your judgement tells you that the risk of disclosure is too great compared with the benefits of using data to improve your programs, you should not collect that information.

Data security in the mWater software platform

mWater was designed from the ground up with best practices in data security. These security measures are reviewed and updated on a regular basis in response to new threats. Here is a quick overview of our approach to platform security:
Detailed information about specific concerns that you or your organization might have is provided in the sections that follow. 

Database and server security

The mWater database is stored on a UpCloud-hosted server for security and reliability. It features continuous offsite backups to Backblaze with Point In Time Recovery (PITR) allowing restoring of the database to a point immediately before a problem occurred. The server also has a restrictive firewall, and high-reliability storage. All mWater image data is stored in Backblaze B2, which features high-reliability and 99.9999+% durability. The database is accessible only to authenticated users via the mWater API server. Server administration is also protected by two-factor authentication requiring an automatically generated code which changes every 30 seconds.

Disaster recovery

mWater has a tested disaster recovery plan that allows the server to be completely recreated in the unlikely event of its destruction. The database can be restored within a few hours to an exact point in time. Database backups are protected on Backblaze to prevent data deletion even in the event that the server is compromised.

Data transmission security

mWater clients connect to the API server using HTTPS-encrypted connections. In the event that a malicious party were eavesdropping on the communication with the mWater server, they would be unable to read or modify the data being transmitted because it is encrypted with high-security encryption. The API server validates all requests and creates a permanent copy of all changes to the database, including deletes.

User account security

In the event that a malicious user obtained the password of an mWater user or account administrator, all changes and deletions in the database could be reversed. Passwords in the mWater database are stored securely in hashed form to prevent passwords from ever being able to be disclosed. Even the mWater administrator cannot physically view passwords as they are stored in a one-way encrypted form that prevents them from being read, even in the unlikely event of a security breach. All mWater user data is available for download at any time through the mWater API by an authenticated administrator.

How to protect your mWater data

All data you collect in mWater belongs to you, so that also means that you have an active role to play in protecting it from unauthorized access. Human error, such as unintentionally sharing passwords or not properly implementing access controls, is usually how large data breaches happen. Hacking into computer systems is difficult and requires specialized skills. It is much easier for malicious parties to take advantage of common mistakes or to trick people with social engineering or 'phishing' attacks, where a user is tricked into entering their credentials into a fake site. 
Your best defense is to have a trained and knowledgeable administrator managing your organization's data and to train all of your users on data security. The following sections provide a summary of best practices for data security in mWater. 
Understand and use mWater permissions correctly
mWater provides different levels of permissions, allowing you to share the basic data about public infrastructure, such as the location of water points, health care facilities, or communities, while keeping sensitive information like survey responses private. Some key concepts include:
Overview of user roles and permissions
Overview of user roles and permissions

Make all deployments using the Organizations feature

Every government office, NGO, or other group of mWater users should create an Organization, or org, to manage their user permissions. Here is how to quickly set up an org:
  1. Go to the Manage tab in the portal to create or view your organization.
  2. Add branches and teams (groups inside of branches) to match the way you manage your data.
  3. Go to the Share tab of any surveys you have created and add the 'Admin' team of the appropriate organization or branch that manages that survey to the Admin permission box. Teams and branches have special icons (see below) that show the full path to the team, with the Organization name always appearing first to avoid any confusion about the name.
Adding an organization's admin team to a survey
Adding an organization's admin team to a survey
Once your organization and surveys are set up properly, always go to the org chart to make new deployments. Simply open up the branch you want to deploy to, go to the Deployments tab, and click on Deploy new survey. The user roles will be pre-filled based on the options you select, but you can change these later.

Follow these best practices for organizational data management:

Develop policies on what types of data should be shared

There are many kinds of data that should be shared, such as infrastructure locations, functionality surveys, and indicators. However, most organizations also collect data that is sensitive, including contact information on beneficiaries, financial information, or the location of sensitive sites. It is important that you develop an organizational policy on what data should be shared and train your users to follow it. Telling employees to treat all data as sensitive is not a policy; people will find workarounds to unreasonable guidelines that make routine, non-sensitive work difficult. Keep your policy up to date by studying best practices for enterprise-level data security, as new threats are constantly emerging.
If you purchase a paid setup package from mWater, we can provide a custom app environment for your users that limits them to using only the surveys and permission settings that you choose, further enhancing security. Contact us at info@mwater.co for more information. 

Train all users in data security

All of the mWater features to protect data security depend to some extent on the user understanding how to use them properly. Make sure that you train all users, especially admins, in your data protection policies and have a plan to train new employees. Here are some training tips:

Use Confidential Data Mode for sensitive data

Sensitive data is any information that should be protected against unwarranted disclosure due to concerns over personal privacy or sensitive business information. We collaborated with the University of North Carolina Water Institute to develop a feature called Confidential data mode that helps you to conduct household or beneficiary surveys in a manner that protects sensitive data from disclosure. With this feature activated, you can specific certain questions in your survey as confidential. Once the survey is submitted, only survey admins will be able to see the confidential answers and GPS locations will be offset by a random distance and direction. Refer to the Confidential mode tutorial for more information on how to use this feature.

Take even more care when collecting data on or about children. 

We provide a separate guide on the ethical measures to consider when working with vulnerable and/or young people. 

Don't collect data that could be harmful

In a world where large companies and governments have suffered from serious data breaches (including Yahoo, Uber, EquiFax, and the US Government), the truth is that no software company can guarantee that your data is 100% safe. We work hard to keep on top of current trends and emerging threats, but as we mentioned earlier, most data breaches are the result of unauthorized access caused by compromised users rather than skilled computer hacking. Therefore, our most important advice is that if unauthorized access to a particular piece of data could cause serious or irreparable harm to someone, do not collect it. 

Last updated January 2023