Why does CCleaner for Android require permissions?

All of the CCleaner for Android permissions listed on the Play Store are required for the app to be able to perform all of its functions. Rest assured that it will only access any of that data on your phone when it is either analyzing or cleaning.

You can find further information on Google's permissions here.

Below is a summary of the permissions and why they are needed:

In-app purchases:
This is needed because you can upgrade to CCleaner for Android Pro and get additional features.

Device & app history:
This is needed so that CCleaner can delete internet browsing history from your device.

Contacts:
This is needed so that CCleaner can match up phone numbers with contact names when dealing with SMS and call log deletion.

SMS:
If your phone is running Android v4.0-4.2, then CCleaner can delete text messages on your phone to save on space - therefore CCleaner needs permission to edit (i.e. delete) SMS messages.

Phone:
Similarly CCleaner can delete old call logs from your phone, therefore needing permission to edit call logs.

Photos/Media/Files:
This is needed for deletion of downloads and empty folders.

Wi-Fi connection information:
CCleaner needs this information to display the Wi-Fi information in the System Info screen.

Device ID & call information:
CCleaner needs this permission to find out the battery level, in addition to CPU usage, RAM usage and memory levels.