Sneaking characters have a status called "SNEAKING", so you can check for that and remove it when appropriate.
One idea for going about that is to have your object emit a hidden aura status. When that status is applied to a player, you check the player (with scripting) for SNEAKING.
(Disclaimer: I wrote these externally in notepad, so there may be a typo or compile error I missed)
CharacterStatusApplied(_Character, "MYMOD_REMOVE_SNEAKING", _)
CharacterIsPlayer(_Character, 1) // Optional
HasActiveStatus(_Character, "SNEAKING", 1)
Behavior (gameScript) version: