SOTI is a remote device administration system that offers a number of features.
One of them is the ability to execute scripts on Android phones remotely, provided that the SOTI client software is pre-installed and configured. The client program does not require a rooted device but it does act as a device administration.
One of the commands allowed in the SOTI scripting language is
wipeapplication com.example.notepad
This results in all of the app's (in this case a notepad) data being deleted, but not the actual APK file. So it gives you a clean slate for whatever application you specify. I understand that this could be done with root through the following:
rm -rf /data/data/com.example.notepad
But somehow SOTI is doing it without root. Just as an Android device administrator. Now the Android DeviceManagerPolicy class does have a wipe method, but its not application specific. Presumably, if there's a way to wipe the whole device at a certain permission level, there ought to be a way to wipe one app's data. But I haven't been able to find out which command is being used? How does SOTI do this?