A security control materially reduces risk and adds friction to a developer workflow used thousands of times a day. How should the trade-off be made?
Show the full answer Hide the answer
The central consideration
Friction produces workarounds, and workarounds are usually less secure than the thing being avoided. A control adding thirty seconds to an operation performed thousands of times a day will be circumvented — credentials cached insecurely, exceptions requested and granted permanently, a parallel unofficial path established.
So the comparison is not "control versus no control" but "control with friction versus whatever people do instead", and the second is frequently worse than either.
How to make the trade
1. Reduce the friction rather than the control. Most security friction is implementation rather than inherent. Hardware-backed credentials that require a touch rather than a code, short-lived tokens issued automatically rather than requested, single sign-on rather than per-system authentication — the security property is preserved and the cost is near zero.
This is where nearly all the value is, and it is where the least effort usually goes.
2. Apply proportionately. Reserve high-friction controls for high-consequence operations. Confirming every action trains people to confirm without reading, which removes the control's value entirely; confirming irreversible actions preserves it.
3. Make the secure path the default and the fast path. A team that can do the right thing in one step will; a team facing a multi-step process will find another way and be right to.
4. Measure the workaround rate. Exception requests, credentials found in code, use of unofficial paths. This is the honest measure of whether the control is working, and it is rarely collected.
The controls that are worth friction
Those protecting against irreversible or high-blast-radius outcomes: production data access, deployment credentials, signing keys, and anything affecting many customers. Here friction is proportionate and should be defended.
The framing
A control that is routed around provides no security and consumes goodwill. The engineering objective is the maximum risk reduction people will actually adopt — which frequently means a slightly weaker control that is universally used rather than a stronger one that is not.