Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 2.36 KB

File metadata and controls

71 lines (51 loc) · 2.36 KB

Privacy

AirGradient Android is designed for local-network monitoring.

Data Processed

The app fetches the configured device endpoint:

<configured-device-base-url>/measures/current

Current readings are kept in memory for dashboard display, trend comparison, and foreground alert evaluation. The app does not persist historical sensor readings.

Data Stored On Device

The app stores user settings in Jetpack DataStore:

- normalized AirGradient device base URL
- refresh interval
- notifications enabled flag
- minimum alert severity
- recovery and device-unreachable alert preferences
- theme mode

The app also stores notification decision state in a separate DataStore file:

- last alert condition status
- last dominant metric key
- alert cooldown and recovery timestamps
- consecutive fetch-failure count

This notification state lets cooldown and recovery behavior survive an app process restart. It does not include raw sensor readings.

The app also stores monitoring runtime metadata in a separate DataStore file:

- last completed background check timestamp
- last successful background check timestamp
- last successful measurement timestamp
- last background failure timestamp
- consecutive background failure count

This runtime state lets the dashboard show when foreground-service or WorkManager monitoring last checked the device. It does not include raw sensor readings or historical sensor samples. When the configured device URL is cleared, monitoring runtime state is cleared as well so old local-device timestamps do not remain visible for an unconfigured app.

These files stay on the device. Android cloud backup and device-transfer extraction rules exclude all AirGradient DataStore files:

datastore/airgradient_settings.preferences_pb
datastore/airgradient_notification_state.preferences_pb
datastore/airgradient_monitoring_runtime_state.preferences_pb

This avoids copying the local device address, notification preference, or local alert history into a backup account or to another device.

Network Behavior

The app contacts only the device URL configured by the user. Many AirGradient local-server deployments expose plain HTTP on a private LAN, so the Android manifest deliberately allows cleartext traffic.

No cloud account, analytics SDK, crash reporter, remote proxy, or third-party telemetry is configured.