Safety interlocks place explicit gates in front of hazardous operations. Each gate evaluates a set of preconditions — sensor readings within range, system state valid, operator confirmation received — and blocks execution until all conditions are satisfied. The concept originates in physical engineering (electrical interlocks that prevent a machine from starting while a guard is open) and translates directly to software: a deployment pipeline that refuses to proceed without passing health checks, a medical device that will not deliver treatment until patient parameters are confirmed, or a financial system that blocks large transfers without dual authorization.
The key property is that the interlock defaults to blocking. If a precondition cannot be evaluated — a sensor is offline, a confirmation times out, a state check returns an error — the operation does not proceed. This fail-safe default distinguishes interlocks from advisory warnings, which inform but do not prevent.
Whether “safe” means fail-closed or fail-open depends on the primary hazard. A firewall interlock fails closed — all traffic blocked — because the hazard is unauthorized access. A fire-exit interlock fails open — door unlocked — because the hazard is people trapped inside. The interlock designer must derive the correct default from the hazard analysis, not assume one direction fits all cases.
How It Works
- Identify every operation that can cause harm if executed under wrong conditions, and for each, define the preconditions that must hold before execution is safe.
- Implement each precondition as a verifiable check: a sensor reading within a defined range, a state-machine transition that is valid, an operator confirmation received within a time window, or a multi-party authorization quorum.
- Gate the operation behind the conjunction of all its preconditions — if any check fails or cannot be evaluated, block execution and return an explicit reason.
- Log every interlock evaluation — which preconditions were checked, which passed, which failed, and whether any bypass was invoked — to provide a tamper-evident audit trail.
- Define a formal bypass governance process for maintenance or emergency scenarios: require elevated authorization, time-limit the bypass, log it separately, and alert operations.
Failure Modes
- Sensor drift or false negatives cause interlocks to block operations that are actually safe, leading to unnecessary downtime (nuisance blocking).
- Interlocks are bypassed informally because operators find them too restrictive, and the bypass becomes permanent without formal review.
- Preconditions are defined too narrowly, covering the originally identified hazards but missing new hazards introduced by system changes.
- Interlock checks execute but their results are not enforced — the gate logs a failure but the operation proceeds anyway due to a race condition or missing enforcement in the execution path.
- Missing interlock coverage: new hazardous operations are added without corresponding precondition gates because the interlock inventory is not maintained.
Verification
- For each defined interlock, inject a precondition violation and verify the operation is blocked within the specified response time (for example
< 200 msfor a safety controller,< 1 sfor a software gate). - Bypass audit: invoke every documented bypass path and verify it requires the specified authorization level, is time-limited, and produces a distinct audit log entry.
- Coverage check: map every operation classified as hazardous to its interlock definition; flag any hazardous operation without a corresponding gate.
- False-negative test: simulate sensor failure or timeout during a precondition check and verify the interlock defaults to blocking, not permitting.
- Audit trail integrity: verify that interlock logs are tamper-evident and that every gate evaluation — pass, fail, and bypass — is recorded with timestamp, actor, and precondition details.
Variants and Related Tactics
- Dual-authorization (two-person rule) is an interlock where the precondition is independent confirmation from a second authorized actor.
- Confirmation dialogs in user interfaces are software interlocks for irreversible actions — effective only when they require meaningful input (for example typing a resource name), not just a reflexive click.
- Permit-to-work systems in industrial settings combine physical interlocks with procedural authorization documents.
- Fail-Safe Defaults complements interlocks: interlocks enforce preconditions before an operation, while fail-safe defaults define where the system goes when something unexpected happens during or after it.
References
- Leveson: Engineering a Safer World (MIT Press, 2011) — systems-theoretic approach to safety constraints and control structures, including interlocks as enforcement mechanisms
- IEC 61508: Functional Safety of E/E/PE Systems — the foundational standard for safety integrity levels and safety-instrumented systems
- ISO 26262: Road Vehicles — Functional Safety — sector-specific adaptation of IEC 61508 for automotive systems, widely cited for safety-critical interlock design
- Software Architecture in Practice — Bass, Clements & Kazman (full citation)