Threat modeling

    Threat modeling only pays off when engineers can run it themselves. I facilitate the first models on systems that matter, then hand over templates, a definition of done and a review rhythm so the practice survives.

    Updated

    Format

    1. 01Session 1

      Diagram the system together: components, data flows, trust boundaries, assets, assumptions and relevant external parties.

    2. 02Session 2

      Run a STRIDE pass per data flow, process, data store and external entity, capturing threats as testable statements rather than vague concerns.

    3. 03Session 3

      Rank the threats in the context of the system, then design mitigations and hand off a backlog with owners, dependencies and acceptance criteria.

    4. 04Enablement

      Provide a template, facilitation guide, examples from your own systems and a review checkpoint in the SDLC so the practice survives the first workshop.

    The model is useful only when it changes delivery work. I connect each material threat to a design decision, requirement, backlog item or test case, and record conscious risk acceptance.

    Reopen the model when an integration, data class, privileged workflow or AI tool changes what the system trusts; when architecture changes; before a material release; and after an incident or near miss.

    STRIDE quick reference
    CategoryQuestionTypical control
    SpoofingCan identity be faked?Strong authentication, workload identity, mTLS
    TamperingCan data or code be altered?Integrity checks, signing, least privilege
    RepudiationCan actions be denied?Tamper-evident audit logs
    Information disclosureCan data leak?Encryption, scoping, redaction
    Denial of serviceCan it be exhausted?Quotas, rate limits, isolation
    Elevation of privilegeCan a boundary be crossed?Authorisation checks, segmentation

    Frequently asked questions

    Do we need a tool?

    No. A diagram, a facilitator and a backlog beat any tool. Tooling helps at scale, once the practice exists.