The block type where a protection was defined for should be saved in the protection data, if any player interacts with the protected block later, Protector will check if the block types still matches with the block type defined in the protection data and thus remove the protection automatically because it will consider it invalid.
Also consider exceptional tiles here that are meant to change the block type, like when a sapling becomes a tree, the protection should still be considered valid.
The block type where a protection was defined for should be saved in the protection data, if any player interacts with the protected block later, Protector will check if the block types still matches with the block type defined in the protection data and thus remove the protection automatically because it will consider it invalid.
Also consider exceptional tiles here that are meant to change the block type, like when a sapling becomes a tree, the protection should still be considered valid.