Sensor monitor for android

Over the years, data privacy has been a major concern amongst consumers. Applications such as Facebook, Uber, and Instagram collect a huge amount of data from users in return for the free service. Some of this data collection is necessary for the service to work. However, the data being collected is often not essential for the functionality but is rather used for targeted advertising or user analytics. As the data collection takes place in the background, most consumers are left clueless. Consumers also lack the technical expertise to identify such data collection. Not just third-party applications, but even the Android operating system itself sometimes violates users’ privacy heavily. There are various ways of collecting user data, one of which is using device sensors, such as microphones, cameras, GPS, Wi-Fi and accelerometer, to precisely monitor the users’ activity. The goal of this project is to create a sensor monitor that allows users to view and capture accurately what happens to their data on a day-to-day basis. The sensor monitor also informs users to view which applications are accessing which sensors and at what time. To achieve this functionality, the sensor monitor targets three parts of the Android stack: the Linux kernel’s PROC file system, Android’s SensorManager utility, and sensor.h header file. Combining these metrics along with a flag status allows the sensor monitor to form historical insights and send real-time alerts. The sensor monitor is designed to be modular for better maintainability and extensibility. All sensor monitor insights are stored in JSON and can be easily exported for further analysis. Thus, the sensor monitor will benefit a regular smartphone user as well as form a base for future projects in the Android domain.