"Lock hiden" button in object menu and lock things in place in the object tree menu

Many times y make copies of things, objects, curves, etc and I hide them but many times when I accidentally select more objects by mistake and hide unhide things, then unhidem and since by mistake I selected some that where hidden copies I end up unhiding copies and I end up with a big mess .
it would be great to be able to lock hiden objects as hiden so they can’t accidentally be unhiden. When locked hiden the name of the object should turn in to a specific color to show its locked hiden state.
Maybe a grayish red? Or something like that.
Maybe this lock could be also used to lock objects in place in the object panel tree too.
Many times by accident I move things by mistake in the object menu. It would be awesome to be able to lock things in to place, lock group in place, then mirror, cuves, objects etc
So every time you lock you lock it hidden and in place, then unlock move, or unlock unhiden and lock again hiden and in object tree menu place.