Threat modeling is a core activity in the process of building technology that can be trusted, allowing for the critical analysis of applications, using security and engineering resources to identify weaknesses that adversaries will attempt to exploit.