lowRiskPermissions top-level constant

List<PermissionInfo> const lowRiskPermissions

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.',
  ),
];