It looks like it is done on the device based on the framework header : https://github.com/JaviSoto/iOS10-Runtime-Headers/tree/maste...
If I understand this framework correct the epsilon range for the randomization can be selected by hand before the transmission and also the number of collected parameters is not limited. Why is this called "differential privacy"?