Rate limits for frequent iOS resets (EraseDevice) and activation processes?

Hello everyone,

I am looking for technical clarification regarding potential rate limits when automating frequent iOS device resets.

In my workflow, I need to reset test devices multiple times per day using the EraseDevice MDM command, often combined with the ReturnToService flag for automated setup.

I understand that after a full reset, the device undertakes several critical steps to become operational again, including device activation, system app installation, MDM re-enrollment, and subsequent validation of developer certificates for internally distributed apps.

Based on Apple’s documentation and my own observations, I am aware of the following domains being involved in these processes:

  • Device Activation: albert.apple.com, gs.apple.com, captive.apple.com, humb.apple.com, static.ips.apple.com, sq-device.apple.com, tbsc.apple.com, time*.apple.com
  • System App Installation: *.itunes.apple.com, *.apps.apple.com, *.mzstatic.com
  • MDM Enrollment: Communication with Apple ADE servers followed by the MDM server.
  • Developer Certificate Validation: ppq.apple.com, ocsp.apple.com, crl.apple.com

My primary question is: Are there any rate limits imposed by Apple’s servers on these specific processes when performed frequently on the exact same device within a short timeframe (e.g., multiple times per day)?

Specifically, could anyone provide information regarding potential limits for:

  1. Device activation requests?
  2. System app downloads post-activation?
  3. Automated Device Enrollment checks and subsequent MDM enrollments?
  4. Developer certificate validation requests?

Additionally, is the list of domains above comprehensive for these processes, or are there other key endpoints involved that I should be aware of regarding potential rate limiting?

Understanding these limitations is crucial for ensuring the reliability of automated device management workflows.

Thank you for any insights!

Answered by Device Management Engineer in 876762022

Unfortunately I think your question is too broad to answer authoritatively. You've listed a very diverse set of servers, some of which have many individual services which could each have different rate limiting policies on different operations.

In some cases Apple does not publicly document rate limits because documenting them helps potential attackers who design their attack to approach the rate limit as closely as possible without exceeding it.

Some rate limits are also dynamic, responding to variations in load, to outages, or to active attacks, so there's no hard limit to document.

Setting all that aside, it's not unusual to have a device go through Automated Device Enrollment on a daily basis, and possibly a bit more frequently than that. On the other hand, it would not be normal for a device to go through Automated Device Enrollment multiple times per hour. If your deployment relies on a reasonable rate of resets and you hit a rate limit, please report it to Apple using Feedback Assistant. There may be mitigations or adjustments that you or Apple can make to ensure your deployment functions smoothly.

Your deployment will also very likely benefit from deploying content caching servers. This minimizes network traffic and often significantly decreases the time necessary to make a device ready for the user.

Unfortunately I think your question is too broad to answer authoritatively. You've listed a very diverse set of servers, some of which have many individual services which could each have different rate limiting policies on different operations.

In some cases Apple does not publicly document rate limits because documenting them helps potential attackers who design their attack to approach the rate limit as closely as possible without exceeding it.

Some rate limits are also dynamic, responding to variations in load, to outages, or to active attacks, so there's no hard limit to document.

Setting all that aside, it's not unusual to have a device go through Automated Device Enrollment on a daily basis, and possibly a bit more frequently than that. On the other hand, it would not be normal for a device to go through Automated Device Enrollment multiple times per hour. If your deployment relies on a reasonable rate of resets and you hit a rate limit, please report it to Apple using Feedback Assistant. There may be mitigations or adjustments that you or Apple can make to ensure your deployment functions smoothly.

Your deployment will also very likely benefit from deploying content caching servers. This minimizes network traffic and often significantly decreases the time necessary to make a device ready for the user.

Rate limits for frequent iOS resets (EraseDevice) and activation processes?
 
 
Q