Опорная идея
Threat model для функции начинается с user flow: вход, смена пароля, покупка, загрузка файла, просмотр сертификата. Для каждого шага описывают активы, злоумышленника, входные данные, trust boundary и возможное злоупотребление. После этого выбирают controls и тесты.
Так безопасность становится частью проектирования, а не поздним сканированием перед релизом.