skip to content

How do you defend writing 'a nation-state adversary is out of assumed capability' into a threat model?

level: principalimportance: nice to knowfreq 31%

answer

  1. bounding is what makes triage possible
  2. justify from assets, not team size
  3. it removes threats, not whole categories
  4. whoever owns the consequence signs it
  5. attach revisit triggers to the bound

basics

~20 s

Defend it as a bound, not a shrug: justify it from the assets rather than from team size, state which threats it leaves untreated, get agreement from whoever owns the consequence, and record the triggers that would force a revisit.

solid answer

~50 s

Bounding downward is legitimate — an adversary with unlimited capability leaves nothing triageable, so the model stops producing decisions. What makes it defensible is how it is written. I justify it from the assets: what an actor of that class spends resources for, and whether this system holds anything of that kind — never 'we could not stop them anyway'. I state precisely what the exclusion removes, which is only threats needing capability above the assumed line; credential stuffing, a stolen session, a public exploit in a dependency stay in scope because cheap actors reach them too. Because the exclusion decides what goes untreated, the accountable owner of the asset agrees to it, not just the engineer drawing the diagram. And I attach revisit triggers a non-security person can spot — a first government or large-enterprise customer, a new class of sensitive data, becoming a supplier inside someone else's build.

go deeper

for a junior

Be ready to say that a threat model has to name the adversary it does not defend against, and that this is written down rather than assumed silently.

for a middle

Explain what an exclusion actually removes: only threats requiring capability above the assumed line, while cheap paths like stolen sessions or a publicly exploitable dependency stay firmly in scope.

for a senior

Show that you can write the exclusion so it survives review — rationale tied to assets, the untreated outcomes stated plainly, and observable triggers that reopen it rather than an open-ended claim.

for a principal

Own it as a governance call: the accountable owner of the asset accepts what goes untreated, security states the consequence in business terms, and the bound is kept away from decisions the company cannot cheaply unwind.

## Bounding downward is a legitimate move A threat model that assumes an adversary with unlimited capability, resources and access produces a list where nothing can be triaged out, every control is insufficient, and no decision follows. Bounding the actor downward is therefore not a cop-out — it is what makes the model usable. A solo-founder scheduling tool writing *a nation-state adversary is out of assumed capability* into its model is doing the right kind of work, provided it does it in the open. The defence has four parts: state it, justify it against the assets, say what it leaves untreated, and name what would force a revisit. ## State it where the model lives An exclusion that exists only in someone's head is a blind spot; the same exclusion written into the model is a decision. Minimum record: which actor is excluded, which dial the exclusion is about (capability, resources, access), the rationale, who agreed, the date, and the trigger for reopening it. That record is what lets a future reviewer challenge the bound instead of re-arguing the findings that depended on it. ## Justify against the assets, not against effort "We could not stop them anyway" is not a justification — it is a shrug, and it is often false. The usable justification runs from the assets: what an actor of that class would be spending its resources *for*, and whether this system holds anything of that kind. A scheduling tool for one founder's customers holds calendars and contact details; the argument is that this asset does not attract an actor able to develop bespoke exploitation or coerce a supplier, not that the team is small. ## An exclusion removes threats, not categories The most common error is treating an actor exclusion as a licence to delete whole threat classes. The exclusion removes only the threats that **require capability above the assumed level**. Most of what a high-capability actor would do to a small system — credential stuffing, a stolen session, a misconfigured object store, an unpatched dependency with a public exploit — is equally available to a cheap actor and stays firmly in scope. Concretely: excluding a nation-state does not let you stop enumerating tampering with your build, because a bored contributor and a criminal group can also reach that. It lets you stop treating threats that need bespoke exploitation of an unpublished flaw, physical interception of hardware in transit, or coercion of a named employee. ## Sign-off belongs to whoever owns the consequence An actor exclusion decides what goes untreated, which makes it a business decision expressed in engineering vocabulary. The engineer proposes it; the person accountable for the asset accepts it. The security contribution is to state the consequence in plain terms — "if we are wrong about this, the outcomes we would not detect are X and Y" — rather than to hand over a severity number and let it read as approval. ## Design for the exclusion being wrong The exclusion should shape *reversible* choices more than irreversible ones. Skipping a detection capability is cheap to add later. A key-custody scheme, a data-retention design, or a single-tenant versus shared-tenant split is expensive to unwind, so a high-capability exclusion is a weak reason to choose the cheaper side of those. A good rule: the more permanent the decision the exclusion is justifying, the less weight the exclusion should carry. ## Name the revisit triggers up front The bound is true of the system as it is today, so the record should say what would make it false. Useful triggers, phrased so a non-security person can spot them: - The customer base changes shape — the first government, defence, healthcare or large-enterprise customer brings their adversaries with them. - The system starts holding a new class of data: identity documents, health records, location history, private source code. - You become a supplier inside someone else's build or deployment path, making the product a route to a bigger target. - The company becomes newsworthy, enters a regulated market, or acquires a business that was itself a target. Attaching triggers to the exclusion converts it from a permanent claim into a dated one, and gives the team a cheap review event instead of a full re-model. ## Dishonest exclusions, and how to spot one An exclusion is dishonest when it is chosen *after* the design, to make a shortcut already taken look acceptable; when it is broad enough to erase threats that cheap actors can also reach; or when nobody can say who approved it. The interview signal is whether the candidate can distinguish "we bounded the model and wrote down what that leaves untreated" from "we decided not to look".

  • What separates a legitimate actor exclusion from a dishonest one?
    Timing, breadth and ownership. A legitimate bound is set before enumeration, is narrow enough to remove only threats requiring capability above the line, and has a named person who accepted the consequence. A dishonest one is chosen after the design to make a shortcut look acceptable, erases threats cheap actors can also reach, and cannot be traced to anyone who approved it.
  • Should a high-capability exclusion influence irreversible design decisions?
    As little as possible. Skipping a detection capability is cheap to add later, but key custody, retention design or a shared-versus-single-tenant split is expensive to unwind. The more permanent the decision the exclusion is justifying, the less weight it should carry — you are betting a decision you cannot revisit on an assumption you have promised to revisit.
  • Give a concrete trigger that should reopen the exclusion.
    Onboarding a customer whose own adversaries are stronger than yours — the first government, defence or large-enterprise account brings their threat picture with them. Others: starting to hold identity documents, health records or location history; becoming a component inside another company's build or deployment path; or entering a regulated market. Each is observable by someone outside security, which is what makes it a usable trigger.

An actor exclusion is a dated claim, not a permanent one. Written with a trigger it behaves like a renewal date; written without one it behaves like a rumour.

saying these in an interview costs you the question

  • Refuses to bound the actor at all, so nothing can be triaged
  • Justifies the exclusion with 'we could not stop them anyway'
  • Assumes the exclusion deletes whole threat categories
  • Sets the bound after enumeration, to shorten the list
  • Records the exclusion nowhere and names no approver
  • Treats the bound as permanent with no revisit trigger

context