An integrated circuit device comprising: a set of multiple one-time programmable - OTP- bits; a programming module operable to trigger a change in each bit of the set of multiple OTP bits; decode logic to determine a value for a collective state of the set of multiple OTP bits; and a control element to control access to at least one resource of the integrated circuit device based on the value of the collective state for the set of multiple OTP bits and a separate access signal received by the control element from an interface to an external tool; characterized in that the programming module is operable to cause the value of the collective state to sequentially change from a first value to at least a final value, wherein the control element is most restrictive of the at least one resource when the collective state has the final value; the programming module being operable to: enable or provide a first trigger to change the collective state from the first value to a second value by flipping a value of a first bit of the set of OTP bits, wherein the control element restricts access to the at least one resource when the collective state has the second value; enable or provide a second trigger to change the collective state from the second value to a third value by flipping a value of a second bit of the set of OTP bits, wherein the control element enables access to the at least one resource when the collective state has the third value; and enable or provide a third trigger to change the collective state from the third value to a fourth value by flipping a value of a third bit of the set of OTP bits, wherein the fourth value is the final value. a set of multiple one-time programmable - OTP- bits; a programming module operable to trigger a change in each bit of the set of multiple OTP bits; decode logic to determine a value for a collective state of the set of multiple OTP bits; and a control element to control access to at least one resource of the integrated circuit device based on the value of the collective state for the set of multiple OTP bits and a separate access signal received by the control element from an interface to an external tool; characterized in that the programming module is operable to cause the value of the collective state to sequentially change from a first value to at least a final value, wherein the control element is most restrictive of the at least one resource when the collective state has the final value; the programming module being operable to: enable or provide a first trigger to change the collective state from the first value to a second value by flipping a value of a first bit of the set of OTP bits, wherein the control element restricts access to the at least one resource when the collective state has the second value; enable or provide a second trigger to change the collective state from the second value to a third value by flipping a value of a second bit of the set of OTP bits, wherein the control element enables access to the at least one resource when the collective state has the third value; and enable or provide a third trigger to change the collective state from the third value to a fourth value by flipping a value of a third bit of the set of OTP bits, wherein the fourth value is the final value. enable or provide a first trigger to change the collective state from the first value to a second value by flipping a value of a first bit of the set of OTP bits, wherein the control element restricts access to the at least one resource when the collective state has the second value; enable or provide a second trigger to change the collective state from the second value to a third value by flipping a value of a second bit of the set of OTP bits, wherein the control element enables access to the at least one resource when the collective state has the third value; and enable or provide a third trigger to change the collective state from the third value to a fourth value by flipping a value of a third bit of the set of OTP bits, wherein the fourth value is the final value.