lowRiskPermissions top-level constant
Implementation
const lowRiskPermissions = [
PermissionInfo(
permission: 'android.permission.INTERNET',
risk: PermissionRisk.low,
category: 'Network',
reason: 'Allows the app to access the internet.',
recommendation:
'Ensure all network requests are made securely (e.g., using HTTPS).',
),
PermissionInfo(
permission: 'android.permission.ACCESS_NETWORK_STATE',
risk: PermissionRisk.low,
category: 'Network',
reason: 'Allows the app to check network connectivity status.',
recommendation:
'Use only if you need to check network state before making requests.',
),
PermissionInfo(
permission: 'android.permission.ACCESS_WIFI_STATE',
risk: PermissionRisk.low,
category: 'Network',
reason: 'Allows the app to view information about WiFi network state.',
recommendation: 'Low risk; confirm it is actually used before keeping it.',
),
PermissionInfo(
permission: 'android.permission.CHANGE_WIFI_STATE',
risk: PermissionRisk.low,
category: 'Network',
reason: 'Allows the app to change WiFi connectivity state.',
recommendation:
'Remove if the app does not actively manage WiFi connections.',
),
PermissionInfo(
permission: 'android.permission.VIBRATE',
risk: PermissionRisk.low,
category: 'Device',
reason: 'Allows the app to control the vibration motor.',
recommendation: 'No action needed; standard low-risk permission.',
),
PermissionInfo(
permission: 'android.permission.WAKE_LOCK',
risk: PermissionRisk.low,
category: 'Device',
reason: 'Prevents the device from sleeping.',
recommendation:
'Ensure wake locks are released promptly to avoid battery drain complaints.',
),
PermissionInfo(
permission: 'android.permission.POST_NOTIFICATIONS',
risk: PermissionRisk.low,
category: 'Notifications',
reason:
'Allows the app to post notifications (required at runtime on Android 13+).',
recommendation:
'Request at a contextually relevant moment, not immediately on app launch.',
),
PermissionInfo(
permission: 'android.permission.SCHEDULE_EXACT_ALARM',
risk: PermissionRisk.low,
category: 'Alarms',
reason:
'Schedules exact alarms; user-grantable, safer alternative to USE_EXACT_ALARM.',
recommendation: 'Preferred over USE_EXACT_ALARM for non-alarm-core apps.',
),
PermissionInfo(
permission: 'android.permission.FOREGROUND_SERVICE',
risk: PermissionRisk.low,
category: 'Services',
reason: 'Allows the app to run a foreground service.',
recommendation:
'Ensure a persistent, user-visible notification accompanies the service per policy.',
),
PermissionInfo(
permission: 'android.permission.FOREGROUND_SERVICE_LOCATION',
risk: PermissionRisk.low,
category: 'Services',
reason: 'Declares the type of foreground service as location-related.',
recommendation:
'Must match an actual location-based foreground service use case.',
),
PermissionInfo(
permission: 'android.permission.RECEIVE_BOOT_COMPLETED',
risk: PermissionRisk.low,
category: 'Device',
reason: 'Allows the app to start automatically after device boot.',
recommendation:
'Confirm this is needed — unnecessary auto-start impacts battery/startup time.',
),
];