I was chasing down why "inScope = False" didn't seem to work, meaning that when I set it for an asset, the report using the provided advanced_template.md still had threats listed for the out of scope assets. What I have realized is that the threats are "coming through" from the previous asset.
In the threat model attached, if I set ctrl.inScope=False, the report shows the threats from the previous asset (HTTP). If I remove the setting so it goes back to the default True, it shows a different set of threats, more relevant to the actual asset settings. If I put all the inScope = False assets first, then I don't see anything "coming through" some asset has to populate the threat items.
frontdoor_threatModel.py