fluttercommunity / fluttercommunity/plus_plugins

[Request]: (network_info_plus) Boolean flag to detect if current Wi-Fi is secure

Open
#3,611 3 comments 1 reaction 0 assignees View on GitHub
enhancement triage
Dominant language
Dart
Stars
1.9k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

### Plugin

network_info_plus

### Use case

**Problem:**

I want to check whether the currently connected Wi-Fi network is secure or not, for example, if it is open (no password) or protected (e.g. WPA/WPA2/WPA3).

This is useful for showing security warnings to users or preventing sensitive operations on unsecured networks.

Right now, network_info_plus does not offer this, and it’s difficult to do manually in a cross-platform way.

The current network_info_plus plugin provides network info such as SSID, BSSID, and IP, but does not expose the Wi-Fi security protocol being used.

This limitation makes it difficult to:

- Alert users when they are on unprotected/open networks
- Comply with VAPT (Vulnerability Assessment and Penetration Testing) security requirements
- Implement app level logic based on Wi-Fi trust level (e.g. blocking login, warning banners)

### Proposal

Add a new method like:

`Future isSecureWifi();`

which returns:

- false → for open (No Password)
- true → for WPA/WPA2/WPA3
- null → if not connected or can't determine

**Platform support:**

**iOS (14+):**

- Use NEHotspotNetwork.fetchCurrent().securityType (available in iOS 14+)
- Requires proper entitlements (com.apple.developer.networking.wifi-info) and location permission

**Android (12+):**

- Use WifiInfo.getCurrentSecurityType()
- For older versions, fallback to analyzing WifiConfiguration.allowedKeyManagement if possible

**Alternatives Tried**

- No Flutter plugin currently provides this.
- Custom platform code is needed, but it would be better if network_info_plus provided this out-of-the-box.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.