Full schematic is at https://cdn.hackaday.io/files/1667667134916544/Evil%20Simon%20v1_3_1.pdf
This system has a pair of AA batteries, a P MOSFET for soft power and a boost converter to make 3.3v. The problem is that with the system ostensibly "off" the gate of the MOSFET is still being pulled down by... something... Presumably the microcontroller. It's enough that the gate is something like 2.1v even if the pull-up resistor is reduced to 1 kΩ.
The microcontroller's BOD has been programmed to hit at 2.7v (which is the minimum safe supply voltage for it's clock speed), so you'd think that it would be held in RESET if it had enough juice to even notice.
When the firmware starts (after someone presses one of the buttons, which causes the power MOSFET gate to be brought low), that pin is immediately brought low and held there until it's time to power off, whereupon it is made hi-Z (by turning it into an input). None of the pull-up or pull-down options are selected for that pin.
So if that pin is leaking, what's there to do? The smaller I make the power MOSFET's gate pull-up, the more power it's going to waste when turned on. What else might I try? I'm tempted to use a BJT in front of the MOSFET so that some sort of current flow (presumably leakage wouldn't be enough) would be required to positively turn on the power MOSFET, but I'd like an actual plan before I spin another board.