Modify All Data or
View All Data permission allow a user/profile to ignore the FLS settings for an object? The documentation would seem to suggest that this is the case, but I've found conflicting results.
Schema.SObjectField.getDescribe().isUpdateable() to perform a FLS check will return return false if the 'Edit' permission isn't granted for the field. This behavior holds while running as a user with the
View All Data or
Modify All Data permission.
This would seem to indicate that FLS is independent from the
Modify All Data and
View All Data permissions. However, I can write a unit test that runs as a user with the
Modify All Data and successfully perform an update to the field that the FLS check said wasn't updatable.