Code signing enables users to verify that an app comes from a legitimate source, sandboxing isolates applications from critical processes, and permission notifications warn users when an application wants to access location data, messaging or other data source.