Насколько я знаю, нет никакого способа отличить законные изменения от не законных изменений.
Самое близкое, что вы, вероятно, получите, используя DOM события мутации , но опять же, как вы можете отличить изменения? Не все браузеры поддерживают события DOM Level 2 (полностью).