# Permission Setup

The Admin App is designed for managing connected devices and viewing synchronized data. Unlike the Agent App, the Admin App does not require access to sensitive device information. Permissions are kept minimal to provide a secure and user-friendly experience.

***

## 1. Network Permissions

**Purpose:** Allow the Admin App to connect to the server and fetch real-time data.

* `INTERNET`\
  Grants the ability to communicate with the server over Wi-Fi or mobile networks.
* `ACCESS_NETWORK_STATE`\
  Allows the app to check whether the device is connected to the internet.

***

## 2. Notifications

**Purpose:** Deliver push notifications such as alerts, location updates, or device status.

* No explicit runtime permission is required.
* The app will automatically register for **Firebase Cloud Messaging (FCM)** in the background.

***

## 3. Storage & Media *(Optional)*

**Purpose:** Allow downloading and viewing of files (photos, audio, reports) from the server.

* `READ_EXTERNAL_STORAGE` *(Android 9 and below)*
* `READ_MEDIA_IMAGES`, `READ_MEDIA_VIDEO`, `READ_MEDIA_AUDIO` *(Android 13+)*

In most cases, the Admin App saves files to its internal cache and may not need explicit storage permissions.

***

## 4. Camera *(Optional)*

**Purpose:** Enable QR code scanning when pairing a new device.

* `CAMERA`\
  Required only if the Admin App supports pairing via QR code.

***

## 5. Security *(Optional)*

**Purpose:** Enhance app login security with biometrics.

* `USE_BIOMETRIC` / `USE_FINGERPRINT`\
  Grants access to fingerprint or face unlock if biometric login is enabled.

***

## Important Notes

* The Admin App does **not** request sensitive permissions such as Location, Call Log, SMS, or Microphone.
* Users may choose to grant optional permissions (Camera, Storage, Biometric) depending on the features they want to use.
* Keeping the permission list minimal ensures that the Admin App remains lightweight and easy to install on any device.
