When you install applications on your BlackBerry 10 device, there are certain bits of information that the app may need explicit access to in order to work. For most users, clicking through the permissions dialog window that pops up after installing from BlackBerry World is an automatic response. For the more privacy-conscious, this window can be a deal-breaker. Let's take a minute to dive into what kind of permissions apps need from your device and what they can actually do with that information.
First, let's check out the kinds of permissions that apps can call upon from the Cascades developer documentation. Some of these will allow an app to simply read the data on your device, while others enable it to write and edit information.
- Background processing: Perform background processing. Without this permission, your app stops all processing when the user switches focus to another app.
- BlackBerry Messenger: Connect to BlackBerry Messenger (BBM). You can use this permission to access contact lists and user profiles, invite BBM contacts to download your app, initiate BBM chats and share content from within your app, and stream data between apps.
- Calendar: Access the calendar on the device. This access includes viewing, adding, and deleting calendar appointments.
- Camera: Access data that's received from the cameras on the device. With this permission, your app can take pictures, record videos, and use the flash.
- Contacts: Access the contacts that are stored on the device. This access includes viewing, creating, and deleting contacts.
- Device identifying information: Access unique device identifiers, such as PIN and serial number.
- Email and PIN messages: Access the email and PIN messages that are stored on the device. This access includes viewing, creating, sending, and deleting messages.
- Internet: Use the Internet connection from a Wi-Fi, wired, or other type of connection to access locations that are not local on the device.
- Location: Access the current location of the device, as well as locations that the user has saved.
- Microphone: Access the audio stream from the microphone on the device.
- Narrow swipe up: Reduce the width of the region along the bottom bezel of the device that accepts swipe-up gestures. When you use this permission, swipe-up gestures are recognized in a more narrow area along the bottom bezel. This behavior allows apps that run in landscape orientation, such as games, to use corner regions for menus and virtual gamepads and prevents the game from inadvertently being sent to the background.
- Notebooks: Access the content that's stored in notebooks on the device. This access includes adding entries to, and deleting entries from, the notebooks.
- Notifications: Post notifications to the notification area of the device screen.
- Phone: Access phone features on the device. This access includes requesting the dial pad, initiating a call, and sending DTMF tones.
- Push: Access the Push Service with the BlackBerry Internet Service. This access allows an app to receive and request push messages.
- Shared files: Read and write files that are shared between all applications on the device. With this permission, your app can access pictures, music, documents, and other files that are stored on the user's device, at a remote storage provider, or on a media card.
- Text messages: Access the text messages that are stored on the device. This access includes viewing, creating, sending, and deleting text messages.
Now, that may sure seem like a lot of options, but don't worry, most apps will only require a few (if any) of these. Also, many of these permissions are optional, and can be unchecked at the installation prompt or revoked from Application Permissions settings on your BlackBerry 10 device. Just keep in mind the app might not function as advertised if you block certain feature-vital permissions. It's also worth noting that application developers themselves do not (or at least shouldn't) remotely store and read any information gleaned from your device. Here are just a few of the app behaviors prohibited by BlackBerry.
- Write or read files outside of the application sandbox, unless via calls to public APIs.
- Store unnecessary files in the shared directory. Files that shouldn't be stored in the shared directory include executable code (including libraries and interpreted code), temporary files, and app private files (such as files that only your app reads).
- Change the file permissions of files.
- Show disturbing/adult graphics or play sounds without user consent.
- Perform information phishing. For example, asking for device password, PIN, or other confidential information.
- Operate in a manner without user consent or authorization, such as sending information to Internet servers or listening to sockets.
So that's a quick look at how permissions are handled in BlackBerry 10. BlackBerry obviously tries their best to police the ecosystem, but the onus is ultimately on developers to not abuse the permissions system, otherwise they could get in hot legal water (much like Path did).
Have you guys had any bad experiences with permissions abuse? Do you regularly block permissions on your BlackBerry 10 device?