I looked into how Android handles this, there is a global PAN toggle in BT settings. IMO this is stupid, on a privacy device like ours it should be a per-device opt-in permission. In the Gnome BT settings a tick box should be added to white list BT devices which need PAN internet access, adding an automatic VPN or socks tunnel might be nice too once the advanced network app gave me that idea.
think something like this
Car stereo
Media audio
Hands-free calls
Internet access over Bluetooth PAN
Phonebook access
Message access
Trusted laptop
Media audio
Hands-free calls
Internet access over Bluetooth PAN
The important implementation detail is that this should be enforced at the Bluetooth-profile or NetworkManager level. A device that is not allowlisted should not receive a bnep network interface or should have its forwarding blocked before any traffic can pass.
The VPN option should be separate from the permission decision:
Permission: may this device use PAN at all?
Routing: if permitted, should its traffic use the normal connection, a VPN, or a dedicated interface?
A VPN would conceal the traffic from the mobile carrier and local network, but it would not prevent the car from making connections or consuming data. A per-device VPN policy could also be difficult if all PAN clients are initially merged into the same forwarding path; the system would need separate routing based on the Bluetooth device or PAN interface.
For a first implementation, prioritize:
PAN disabled for all devices by default.
A per-device Allow internet access over PAN checkbox.
Automatic creation of a NetworkManager connection only for allowlisted devices.
A firewall rule blocking forwarding from non-allowlisted bnep interfaces.
Optional “route this device through VPN” as a later feature.
That would preserve the convenient Bluetooth experience while ensuring that pairing a rental car, headphones, speaker, or borrowed device does not silently turn the phone into its internet gateway.
does this sound sane? I wonder if a bunch of bnep interfaces is smart or creating problems.