Users commonly download, patch, and use applications such as email clients, office applications, and media-players from the Internet. Such applications are run with the user’s full permissions. Because system protections do not differentiate applications, any malcode present in the downloaded software can compromise or otherwise leak all user data. Interestingly, our investigations indicate that common applications often adhere to recognizable workflows on user data. In this paper, we take advantage of this reality by developing protection mechanisms that “pin” user files to the applications that may use them. These mechanisms restrict access to user data to explicitly stated workflows–thus preventing malcode from exploiting user data not associated with that application. We describe our implementation of PinUP on the Linux Security Modules framework, explore its performance, and study several practical use cases. Through these activities, we show that user data can be pro...