Uses data-flow diagrams, misuse cases, STRIDE, attack trees, and abuse stories to find design weaknesses before implementation.