This app uses the following permissions, with justification:
READ/WRITE EXTERNAL STORAGE - This is obvious! The app needs to be able to create, edit and read songs stored on your device's storage. On newer Android devices, this permission is slightly different as you specify the storage location to give permission to use, so you won't need to grant this permission separately.
RECORD AUDIO - This is to allow the volume level meter and instrument tuner utilities.
CAMERA - This is to allow adding new songs by taking a photograph of them (from the Find new songs menu).
INTERNET - This is used to import songs from UG, Chordie, etc. and import bible verses (custom slides) from web sources such as BibleGateway
CONNECT TO NEARBY DEVICES/ACCESS/CHANGE WIFI STATE, BLUETOOTH and COARSE/FINE LOCATION - This is to allow device discovery when linking Android devices running OpenSongApp and connecting to Bluetooth MIDI devices. Which permission is required depends on the version of Android you are running.
The only permissions that are classed as 'Dangerous' are the STORAGE, AUDIO and CAMERA permissions. The app only stores and writes data from the storage location you set for your songs. This is not shared with anyone else, including me. Without storage the app will not work at all. Without record audio, the volume level meter and instrument tuner will not function. Without camera permissions, you cannot add new songs by taking a photo of them. Without Access/Change WiFi state, you cannot link OpenSongApp devices as host/clients.
Without Bluetooth and coarse location, Bluetooth MIDI devices can't be used.
In Android 4.4, you need to accept these permissions before installing the app (otherwise it will not install).
In Android 5+ you will be asked for these permissions as they are required. You can disable/enable these features from the Android Settings / Apps / OpenSongApp/ Permissions page.
OpenSongApp does not gather any personal data from you. Nothing.
If you experience a crash when running the app and you installed it via the Google Play Store, a crash report that details the make and model of your device, version of Android that you are running and the section of my code that caused the crash is sent to my Google Crash log so that I can try to fix it in future releases. This report contains no other information.