Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary permissions #35

Closed
hrj opened this issue Feb 16, 2021 · 5 comments
Closed

Remove unnecessary permissions #35

hrj opened this issue Feb 16, 2021 · 5 comments
Labels
bug Probable bug upstream This is an issue in Signal, should be reported to Signal-Android

Comments

@hrj
Copy link

hrj commented Feb 16, 2021

Similar to #23 but coming from a different requirement: Would it be possible to create a flavour with fewer permissions, especially the non-deniable permissions?

For example, these seem non-criticial because I can get the same functionality from OS settings:

  • "change network connectivity"
  • "connect and disconnect from wifi"
  • "pair with bluetooth devices"
  • "set wallpaper"
  • "view network connections"
  • "view wifi connections"
@valldrac
Copy link
Member

valldrac commented Feb 16, 2021

The app needs the Bluetooth permission for video calls, to pair with audio headsets.

Regarding the network permissions, there are some settings that depends on them. See https://support.signal.org/hc/en-us/articles/360056044831-Data-Usage-Options-Wi-Fi-Cellular-jobs-

But the app doesn't make any changes to the connectivity of the device, or the WiFi. So I guess some permissions are not needed at all and can be removed. I have to take a look at it.

@valldrac valldrac added upstream This is an issue in Signal, should be reported to Signal-Android bug Probable bug labels Feb 16, 2021
@valldrac valldrac changed the title Flavour with less permissions? Remove unnecessary permissions Feb 16, 2021
@hrj
Copy link
Author

hrj commented Feb 17, 2021

The app needs the Bluetooth permission for video calls, to pair with audio headsets.

As an alternate, couldn't the user pair with their headset system wide? Then all audio will be routed to the headset, and the apps needn't bother about it? (Genuine question; I don't have BT headsets, but this is how I am imagining BT headsets would work)

@hrj
Copy link
Author

hrj commented Feb 17, 2021

Regarding the network permissions, there are some settings that depends on them. See https://support.signal.org/hc/en-us/articles/360056044831-Data-Usage-Options-Wi-Fi-Cellular-jobs-

Reading through the docs, it looks like ACCESS_NETWORK_STATE is sufficient to get information about the type of the network. From API 21 onwards, getNetworkCapabilites can be used.

@valldrac
Copy link
Member

The new device transfer feature via Wifi Direct, introduced in Signal v.5.5.0, requires some of the removed permissions, according to https://developer.android.com/training/connect-devices-wirelessly/wifi-direct. I had to add the following permissions again:

  • ACCESS_WIFI_STATE
  • CHANGE_WIFI_STATE
  • CHANGE_NETWORK_STATE

@serrq
Copy link

serrq commented May 24, 2024

Please remove "change network connectivity", "change your audio settings", "download files without notification", "read sync settings", "toggle sync on and off".

Only I can do these actions. I am the law on my device.

Bluetooth headphones lovers have put us in a bad security state. Make a fork for these heroes.

Security first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Probable bug upstream This is an issue in Signal, should be reported to Signal-Android
Development

No branches or pull requests

3 participants