Friday, June 20, 2008

Plausible Denial

In the annual Underhanded C Contest, programmers compete to construct code that looks innocent but does undocumented and devious things. One of the judging criteria is plausible deniability - which in this case means the ability to claim the error as a genuine mistake rather than a cunning trick. (Via Bruce Schneier)

In delegating stuff from an agent to a principal, plausible deniability can operate in either direction. Many well-known examples, both in real-life and in fiction, involve the principal denying knowledge or responsibility of the actions of the agent. For example, governments sometimes keeping the dirty details of espionage at arms length. Or well-known companies sometimes being strategically ignorant of the exploitation of child labour in their suppliers' factories, or turning a blind eye to short-cuts and risks taken by subcontractors.

But the programming example works in the other direction. It involves the agent (in this case a programmer) craftily subverting the intentions of the principal (the user of the program), while remaining "innocent" if the trick is detected. There are many situations in delegation and procurement where a dishonest agent or supplier can abuse trust with impunity. Even if the trick is detected, it can be passed off as human error, and probably forgiven and forgotten after a sufficiently charming apology and repair.