Widget and Share Extension on iOS

Since device check APIs (attestation) are not available for extensions like share extension and widget extension (at least in 26 and according to documentation still in 27) - is there any best practice how to still protect endpoints which are also called from these extensions? And subquestion: is there a technical limitation in iOS design that made it impossible to also support extensions.

Answered by Engineer in 891186022

is there any best practice how to still protect endpoints which are also called from these extensions

Do checkout the Privacy and Security QA which may have some alternative suggestions.

is there a technical limitation in iOS design that made it impossible to also support extensions.

There are a very large number of extensions, that make it infeasible to open up App Attest to all of them, without being able to test the behavior across all of them. That has been the main motivation to limit App Attest to specific types of extensions.

If there is enough developer demand, we can certainly investigate enabling App Attest for other extension types.

Please do file a feedback assistant request with your concern, https://developer.apple.com/feedback-assistant/.

Accepted Answer

is there any best practice how to still protect endpoints which are also called from these extensions

Do checkout the Privacy and Security QA which may have some alternative suggestions.

is there a technical limitation in iOS design that made it impossible to also support extensions.

There are a very large number of extensions, that make it infeasible to open up App Attest to all of them, without being able to test the behavior across all of them. That has been the main motivation to limit App Attest to specific types of extensions.

If there is enough developer demand, we can certainly investigate enabling App Attest for other extension types.

Please do file a feedback assistant request with your concern, https://developer.apple.com/feedback-assistant/.

Ok, if there is no technical limitation making it impossible I will file a feedback. Because if we cannot use attestation for all requests to an endpoint which should be protected for all clients (with e.g. widget extension being a client doing calls) it effectively stays "open" or needs a special handling for the widget calls.

Widget and Share Extension on iOS
 
 
Q