I am seeing recurring DCError.invalidKey in my iOS app using App Attest, and I'am trying to determine whether throttling or a quota can be a contributing factor before we look further.
Questions
-
Are there rate limits or quotas on
generateKey,attestKey, orgenerateAssertion— scoped per device, per key, or per app? I understand exact thresholds may not be published; what I'd mainly like to know is whether such limits exist and roughly what timing window they apply over. -
If a limit is hit, which error surfaces? Specifically, can throttling ever present as
DCError.invalidKey, or would it always beserverUnavailable(or another distinct code)? -
Does calling the attestation flow repeatedly in a short window (e.g. several times within a few minutes from an onboarding sequence) risk triggering throttling or anti-abuse rejection?
-
Am I right that
generateAssertionis entirely on-device and therefore not subject to any server-side limit — i.e. onlyattestKeycontacts Apple's servers? -
Is throttling one of the documented causes of
invalidKey, or isinvalidKeystrictly a key-state error (key absent from the Secure Enclave, already attested, from a prior install, etc.)? Being able to rule throttling in or out would help us narrow the investigation considerably.
Thanks.