PhoneLab
Effective & last updated: October 30, 2026
In short
PhoneLab's own code never connects to the internet. There are no PhoneLab servers, no accounts, no ads, no analytics and no tracking. Every sensor reading is calculated and shown on your device, and nothing is sent to the developer.
PhoneLab has no internet permission at all, whether you get it from Google Play or from GitHub, F-Droid and other stores, so it cannot send anything anywhere. There are no in-app purchases.
PhoneLab only creates files when you ask for them (a CSV recording or a spec export). They stay on your device until you share them yourself.
PhoneLab (package id com.sensolab.devicemonitor) is developed by an independent developer. It is distributed on Google Play and as an APK on GitHub Releases, F-Droid, IzzyOnDroid and other app stores. PhoneLab is a hardware-monitoring tool, so it has to read sensors, location and microphone levels to work. This policy explains what it does with them.
PhoneLab is open source under the GPL-3.0 licence. You can check every statement here against the source code on GitHub.
| Build | Where you get it | Internet access |
|---|---|---|
| Standard build | GitHub Releases, F-Droid, IzzyOnDroid, APKPure, Uptodown and other stores | None. The app does not request the Android INTERNET permission and contains no proprietary libraries, so it cannot send anything anywhere. |
| Google Play build | Google Play | None, the same as the standard build: no INTERNET permission and no proprietary libraries. |
Both builds come from the same source code and work the same way. The only difference is on the About tab: the Google Play build has a "Rate on Google Play" button.
None. The developer does not collect, receive, store, sell or share any personal data, in either build. PhoneLab contains no analytics, advertising or crash-reporting software of any kind. Every library in the app is a standard AndroidX or Material Components library for the user interface and for scheduling on-device background checks. None of them sends data off your device.
Everything described below happens locally, in your device's memory or storage, using Android's own sensor and file APIs.
PhoneLab does not read your phone number, IMEI, serial number, advertising ID, Android ID, accounts, contacts, photos, messages or list of installed apps.
PhoneLab asks for each permission only when you open the screen or feature that needs it, never all at once at launch. You can revoke any of them at any time in Android's Settings, and the rest of the app keeps working.
| Permission | Used for | Where the data goes |
|---|---|---|
| Asked for when you use the feature | ||
| ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION | Live GPS speed and altitude on the Sensors tab. If you start a sensor recording, your position (latitude, longitude, altitude) is also written into that CSV file, including while you use other apps, until you stop the recording. The recording notification stays visible the whole time. | Shown on screen. Saved only in a CSV recording you start. PhoneLab never asks for background location. |
| BODY_SENSORS health.READ_HEART_RATE | Live heart rate, on devices with a heart-rate sensor. Android 16 and later ask for the heart-rate permission instead of body sensors. | Shown on screen only |
| ACTIVITY_RECOGNITION | Step counter and step detector readings | Shown on screen only |
| RECORD_AUDIO | The sound-level (dB) meter on the Sensors tab and the Device check microphone test | Audio is analyzed in memory for loudness only. It is never recorded, saved or played back. |
| POST_NOTIFICATIONS | Thermal warnings and your custom sensor alerts (if you turn them on in Settings), and the notification shown while a recording runs | Local notifications only |
| Granted at install, no prompt | ||
| FOREGROUND_SERVICE FOREGROUND_SERVICE_DATA_SYNC FOREGROUND_SERVICE_LOCATION | Keeps a CSV sensor recording running while you switch apps, with a visible notification while it's active. The location part is used only if you've granted location access, so that GPS rows keep being recorded too. | Written to a CSV file in PhoneLab's own storage on your device |
| VIBRATE | The Device check vibration-motor test | Nothing is stored |
| WAKE_LOCK RECEIVE_BOOT_COMPLETED ACCESS_NETWORK_STATE | Added by Android's WorkManager library, which runs the periodic background check for thermal alerts, custom alerts, battery history and the widget, if you've turned any of them on, and restores it after a reboot. ACCESS_NETWORK_STATE only lets the scheduler see whether a network exists. It does not allow any connection. | On-device only |
| USE_BIOMETRIC USE_FINGERPRINT | Added by the AndroidX Biometric library. Used only to show on the Hardware tab whether biometrics are available. | Nothing is read or stored |
| …DYNAMIC_RECEIVER_ NOT_EXPORTED_PERMISSION | An internal AndroidX permission that keeps PhoneLab's in-app messages private to PhoneLab | Not applicable |
PhoneLab keeps a small amount of data in its private app storage, so it stays the way you set it up:
Uninstalling PhoneLab, or tapping Clear storage in Android's app settings, deletes all of it. Nothing is ever sent to the developer.
Android backup. If Android's own backup is turned on, Android can include PhoneLab's settings, alert rules and battery history in your device backup to your Google account. On Android 9 and later this backup is end-to-end encrypted with your screen lock. Android and Google handle it, and the developer cannot access it. Exported files and Device check results are excluded from backups.
Three features produce something you can keep or send, and you start all of them yourself:
.csv file. If location access is granted, the file also includes GPS position rows..txt or .json file. This file names your device model and hardware, so sharing it can identify the kind of phone you use.Files are saved in PhoneLab's own folder on your device (Android/data/com.sensolab.devicemonitor/files/Documents, or the app's cache as a fallback), and Android deletes them when you uninstall the app. PhoneLab never uploads them. A file or report leaves your device only if you send it yourself with the Android share sheet. From then on, the app you share it to handles it under its own policy.
PhoneLab has no sign-in and no user accounts, and keeps no profile about you anywhere. It shows no advertising, includes no advertising or analytics libraries, and has no in-app purchases. Downloading PhoneLab from Google Play is covered by the Google Privacy Policy and the Google Play Terms of Service; the app itself can't reach the network, so nothing in either build sends data anywhere.
The About tab's privacy policy, source code, PhoneLab Web and Rate links open in your browser or the Play Store app, and the feedback button opens your email app. What happens there is covered by those apps and websites, not by PhoneLab. PhoneLab Web is a separate website. This policy covers the Android app only.
PhoneLab is rated for Everyone. It does not knowingly collect information from anyone, including children, because it collects no information from anyone of any age.
If this policy changes, for example because a future version of PhoneLab adds a feature that uses the network, the "last updated" date at the top of this page will change. The new policy will describe exactly what changed and why. Earlier versions of this page stay visible in the history of the phonelab-privacy repository.
Send questions about this policy or the app to support@sensolab.app. It's the same address as the Feedback & support button on the app's About screen.