Wisdom and philosophy
Hanlon's razor
Never attribute to malice that which is adequately explained by stupidity, or more kindly, by error, haste or ignorance.
Robert J. Hanlon, a computer programmer at the Tobyhanna Army Depot near Scranton, Pennsylvania, who submitted it to Arthur Bloch's Murphy's Law Book Two (1980). The idea is older: Goethe wrote in 1774 that "misunderstandings and neglect occasion more mischief in the world than even malice and wickedness", and Robert Heinlein used a similar line in 1941.
When something goes wrong and it looks deliberate, the razor tells you to check the dull explanation first: someone made a mistake, did not know, or did not think. A rude email was written in a hurry. A broken API came from a team that never saw your use case. Most damage in organisations has no villain.
It works partly because of base rates: honest mistakes vastly outnumber schemes, so they are the more likely explanation for any given failure. It also keeps you useful. Assuming malice turns a problem into a fight and makes people defensive, and that hides the facts you need. Assuming error turns it into a question you can ask.
It is a default, not a verdict. Real malice exists: security incidents, fraud and bad-faith actors are not explained by stupidity, and a security team that applies the razor to every alert will miss an attack. Repeated "mistakes" that always benefit the same person deserve a second look. It also cuts both ways: "stupidity" is an uncharitable word, and the better reading is usually that the other person had less information than you.
Example
On 4 October 2021 Facebook, Instagram and WhatsApp disappeared from the internet. Cloudflare saw Facebook's routes withdrawn at about 15:40 Coordinated Universal Time (UTC), and service only began returning after 21:00 UTC. Meta's engineering write-up the next day said the outage was caused "not by malicious activity" but by a routine maintenance command meant to assess backbone capacity, which a bug in an audit tool failed to stop. With the backbone down, Facebook's Domain Name System (DNS) servers withdrew their Border Gateway Protocol (BGP) announcements, making the services unreachable.
Where it applies
When a teammate's change breaks your service, assume a missed edge case and write the blameless postmortem that way. When an AI model gives a harmful-looking answer, check the prompt, the retrieved context and the tool output for an ordinary bug before assuming a deliberate attack, while still treating real prompt injection as a live threat.
Think about it
Whose behaviour are you reading as hostile right now, and what is the most ordinary mistake that would explain it?
Applied it to something real? Log it.
Test yourselfWhy is error usually a better first explanation than malice when something goes wrong?
Honest mistakes are far more common than deliberate harm, and assuming error keeps people talking so you can find the facts. It is a starting point, so evidence of real intent should still change your mind.
Related models
- Occam's razorWhen several explanations fit the evidence equally well, prefer the one that needs the fewest extra assumptions.
- SteelmanningBefore you argue against a view, state it in its strongest form, well enough that the people who hold it would agree with your version.
- Chesterton's fenceBefore you remove a rule, a process or a piece of code, find out why someone put it there.
- The fundamental attribution errorWe explain other people's behaviour by who they are and underrate the situation they were in.
- Incentive-caused biasAn incentive bends your own judgement towards the conclusion that pays, and you will not feel it happening.