When you install any software on an Android device, Android will declare all the functions that the software is capable of, such as accessing your camera, contacts or location. Each permission is accompanied with a brief description to offer an understanding for what it may be used for. In order to install the software, you must acknowledge that you are aware of what the software is capable of by giving Android your permission.

In other words, if you install the DD-WRT Companion app, you should be presented a screen letting you know that the app is asking for your permission to access information or use features from your Android phone or tablet.

Keep in mind that Android controls the way the permissions are named, and the way they are named does not necessarily reflect how the app and other apps use them.

Below you will find an exhaustive list of the permissions we currently request for the DD-WRT Companion app on Android, as well as an example of how we use each one. This list is meant to give you a better understanding of how the app uses these permissions. If you’ve already installed the app, you can find a list of the permissions the app uses in your phone or tablet’s Applications Manager, or by visiting the Play Store and clicking View Details under Permissions.

Note that the names of these permissions and how they are displayed on your device may differ depending upon the version of Android you are using.

We may update this list as we keep enriching the app with additional capabilities that may require new permissions. So please check back here to learn more about which permissions we request and how we use them.

Internet - Full network access

We use network access to:

  • establish remote SSH connections to your routers, obviously
  • gather and privately upload your valuable feedback to dedicated backends hosted on https://doorbell.io and https://aws.amazon.com/s3/
  • retrieve your router public IP address on the Internet, using http://icanhazip.com , if allowed in the router settings
  • resolve MAC addresses, via a dedicated backend on http://tools.rm3l.org
  • lookup and geolocate IP Addresses via https://dazzlepod.com
  • fetch your router avatars on http://cloudinary.com
  • leverage the Android's Backup Service so as to provide a restore point for the app data and settings
  • report crash errors to dedicated backends hosted on http://www.tracepot.com and https://fabric.io, provided you allowed it in the app preferences
  • fetch ads, in the Lite version of the app
  • provide the "Help" menu, which currently displays this website (http://help.ddwrt-companion.rm3l.org)

View Network connections

We use this permission in conjunction with the “Full network access” permission, as it allows the app to detect whether an active network connection is available when trying to retrieve/push data from/to the router.

View Wi-Fi connections

This is essentially useful for the “Local SSID Lookup” feature. It allows the app to view whether a Wi-Fi is enabled and use any user-defined alternate IP/DNS/port to connect to the router.

Run at startup

We run at startup if you choose to enable the Background Service in the app preferences. This way, the app can perform the following actions in background (i.e., even if you never open the app per se):

  • display notifications about devices connected to your router(s)
  • display notifications about public and WAN IP addresses changes

The frequency at which this background service synchronizes with the router is controlled by you in the preferences.

Prevent phone from sleeping

This is used by the Background Service, if enabled in the app preferences. The app awakes the phone only when it is time to synchronize with the routers. But if you notice battery issues with the app, you should either disable the Background Service (in the app preferences) or increase its frequency. In any case, please do let me know of that issue by sending a feedback via the app.

Modify or delete the contents of your USB storage / Read the contents of your USB storage

We use storage access to store your data on your device. For example, this permission is used in the following cases:

  • when you perform a "Backup" action via the app, the router settings are saved on your device, so you can share the resulting backup. Same thing when you perform a "Restore router" action via the app, where the backup file is read from your device.
  • usage data about hosts connected to your router is stored on your device on a regular basis, so that you have fast access to it.