After clearing out a location I travelled back to Sanctuary Hills, where I keep all my spare power armour and my fancy weapons, and it was under attack from super mutants. Before I knew it Marcy Long had taken a Fatman and all my mini-nukes from the cabinet where I store them and wasted three mini-nukes on mutant hounds, and another settler had stolen one of my power armour suits and 21 fusion cores!
The strategy guide says settlers will only take things left out in the open:
I think they can also take things from the workshop, so I stored all my good stuff in a cabinet next to the power armour repair frame. Apparently that isn't safe, because Marcy helped herself to that cabinet!
I loaded an earlier save and when I arrived in Sanctuary Hills the first thing I did was take all the ammo and cores from that cabinet, to stop anyone stealing them. But when the mutants attacked one of the settlers still stole a suit of power armour! I think the settler must have brought a fusion core with them when they arrived in Sanctuary Hills. Usually I trade with new settlers to take nice loot from them and make sure they have some ammo and a bit of leather armour, but I must have not done that for this guy.
Apparently you can get NPCs out of armour by talking to them, but after the mutant attack everyone just said "thanks for the help, pal" and "you arrived just in the nick of time" (over and over and over, if I hear it once more I'm going to feed them to the next super mutant attackers). The thief wouldn't get out of his armour. I eventually pickpocketed the fusion core back (which took lots of reloading because I only had a 7% chance to succeed) but I don't want to have to do that again.
What is the best way to prevent settlers taking your "personal" gear, and how do you prevent settlers from taking power armour if they have their own fusion cores?