Why does the industry always sell safety as a binary?

Security & Engineering Philosophy

Why the Industry Sells Safety as a Binary

From North Sea wind turbines to Unity source code: The dangerous gap between the aesthetic of the checklist and the reality of resilience.

I once nearly cost a man his career, and perhaps his life, because I trusted the aesthetic of a completed checklist more than I trusted the evidence of my own eyes. I was working a contract in the North Sea, performing a secondary inspection on the fall-arrest systems for a series of wind turbine nacelles.

The documentation was pristine. Every harness had a corresponding serial number, a date of manufacture, and a stamp from a certified inspector. On paper, the site was 100% compliant. Because the boxes were all checked, I signed the final release without physically unfolding the last three harnesses in the locker.

CHEMICALLY COMPROMISED

The compliance gap: Where documentation meets the physical reality of chemical decay.

I assumed that “Safety” was a state achieved by the presence of a signature. Two days later, a technician found that one of those “safe” harnesses had been stored near a leaking container of hydraulic fluid; the webbing was chemically compromised to the point of being a decorative ribbon.

I made the mistake of believing that safety is a toggle switch. I treated it as a binary-either the equipment was certified or it was not. In reality, safety is a degrading curve of probability, measured against the harshness of the environment and the duration of the stress applied to the material. I had allowed the legibility of the paperwork to replace the messy, continuous reality of the nylon.

The Professional Lie of the Y/N Column

This same pathology dominates the software industry, particularly where intellectual property and cybersecurity intersect. We are currently obsessed with the “Yes/No” framing of protection because it is the only shape that survives the transition from the engineering floor to the executive boardroom.

If you ask a stakeholder what they want, they will tell you they want their product to be “secure.” They are asking for a state of being. But security is not a state; it is a calculation of friction.

The core frustration of modern development is that we are forced to answer a question that is fundamentally the wrong shape. A producer or a client forwards a spreadsheet before a major milestone. You’ve seen it: Row 14, or perhaps Row 82, simply reads, “IP protection measures implemented – Y/N.”

The engineer stares at that cell. They know that “Y” is a lie of omission and “N” is a professional suicide note. The truthful answer is a complex graph of attacker motivation versus the temporal cost of reverse engineering. It is a paragraph about the specific vulnerabilities of the IL2CPP backend and the diminishing returns of various renaming strategies.

But the spreadsheet cell only accepts a single character. So, the engineer types “Y.” They feel the small, greasy dishonesty of it, and they close the file. Nothing about the code changed in that moment, yet the project is now officially “safe.”

Engineering Reality

Complex Probability

Spreadsheet Cell

Y

[COMPLIANT]

The compression of nuance: How complex risk modeling is flattened into a single bit of data.

Defining the Cost of Entry

We buy checkmarks because we are desperate to stop feeling anxious, and the industry is more than happy to sell us those checkmarks. However, the only honest unit of measure for security is the hour.

To understand why this is true, we must first define our terms with the cold precision of a logician. Let “Protection” be defined not as a wall, but as a tax. For, if any digital system is physically accessible to an adversary, it is theoretically penetrable.

Since the adversary is a human being with a finite lifespan and a specific economic motivation, the goal of protection is to increase the cost of entry until it exceeds the potential reward. Therefore, the “safeness” of a product is exactly equal to the number of hours it takes a determined person to break it.

Trivial Target

15 m

Decompilation to readable C# project

Expensive Project

15 d

Advanced obfuscation & logic renaming

LOW RESISTANCE

HIGH RESISTANCE

If your game logic can be decompiled into a readable C# project in 15 minutes, you have no protection. You have a “No” in the column of reality, even if you have a “Yes” on your compliance form. If you apply advanced obfuscation and you move that needle from 15 minutes to 15 days, you haven’t achieved “unbreakable” status-there is no such thing-but you have changed the economic reality of the attack.

You have moved the product from a “trivial target” to an “expensive project.” For most attackers, 15 days of work for a single bypass is a losing proposition.

The problem is that “15 days” is a terrifying answer for a procurement officer to hear. They want to know if the door is locked. They do not want to hear that the door is currently resisting a sledgehammer but will likely give way by next Tuesday. Because we have rebuilt our professional language around the shape of the form rather than the shape of the risk, we have effectively amputated the most important part of the conversation: the effort curve.

!

The Failure of Binary Logic

I felt a ghost of this frustration this morning, albeit in a much pettier context. I was pulling into a crowded lot, blinker on, waiting for a car to vacate a spot. A driver in a compact car zipped in from the opposite direction, ignoring my presence entirely and sliding into the space.

Technically, he reached the empty pavement first. In his binary logic, the spot was “Available,” and then it was “Occupied.” He ignored the “Process” of the wait and the “Effort” I had invested in positioning. He optimized for the result while ignoring the system.

When we focus on the binary “Yes” of a security checkbox, we are doing the same thing. We are ignoring the social and economic systems that actually govern whether or not our code gets stolen. We are pretending that the “Yes” on the spreadsheet is a physical barrier, when it is actually just a social contract that the adversary has no intention of signing.

This disconnect is where the most expensive surprises in modern institutional life are born. Whether it is a wind turbine harness, a financial audit, or a Unity build, the failure usually happens in the gap between the discrete “Yes” of the paperwork and the continuous decay of the reality.

The Transparency of Tools

In the world of game development, this is particularly acute. The Unity engine is a magnificent tool for productivity, but its very nature makes it “transparent” by default. If you ship a build without specific protection, you are essentially handing over your blueprint to anyone who knows how to use a decompiler.

Most developers know this, which is why they look for a tool that can provide that necessary friction. They need a way to ensure that their proprietary logic and monetization systems aren’t bypassed in the time it takes to brew a pot of coffee.

When a studio evaluates something like

Obfuscator for Unity,

they are often looking for that “Yes” to satisfy a publisher’s contract or a platform’s requirement. But the real value isn’t in the checkbox. The value is in the shift from minutes to days.

It is in the realization that while you can’t stop a god, you can certainly make a mortal decide that their time is better spent elsewhere.

The Engineering Goal

“Make a mortal decide that their time is better spent elsewhere.”

LOGIC HIDDEN

TIME INCREMENTED

The Acceptable Truth

We must stop asking if a product is “safe.” Instead, we should ask: “How many hours of a specialist’s life is this code worth?”

If the answer is “two hours,” you are vulnerable. If the answer is “two hundred hours,” you are as secure as any human institution can hope to be. The transition from the former to the latter is the only meaningful work in the field of security.

Everything else is just moving ink around on a spreadsheet to make the people in the boardroom feel like the world isn’t as chaotic as it actually is.

The binary exists because it is legible. A “Yes” can be aggregated into a report. A “Yes” can be turned into a green cell in a dashboard. An effort curve, however, requires a conversation. It requires an understanding of the threat model. It requires admitting that there is a non-zero chance of failure.

As a wind turbine technician, I eventually learned that my job wasn’t to “Certify” the equipment. My job was to determine if the equipment could survive the next of operation in a high-salt, high-vibration environment. Once I changed my internal metric from “Is it signed?” to “How long will it hold?”, I became significantly better at my job. I also became a lot more annoying to the people who just wanted the paperwork finished.

We owe it to ourselves to be that annoying person in the software production cycle. When the spreadsheet comes around, and Row 14 asks for a “Y” or an “N,” we should be the ones who attach a technical addendum.

We should be the ones who explain that protection is a tax on the attacker’s time. We should be the ones who advocate for tools that don’t just “tick the box” but actually change the math of the exploitation.

The spreadsheet is green, but the nylon is still fraying in the wind.

True protection is not the absence of a hole in the wall, but the exhaustion of the man holding the shovel.

We must embrace the honesty of the hour. We must accept that we are not building vaults; we are building puzzles. Some puzzles are solved in seconds by a child, and some take a lifetime for a genius to unravel.

The goal of software protection is to ensure your project is the latter. This doesn’t fit neatly into a procurement form, but it is the only thing that will keep your IP intact when the “Determined Adversary” finally arrives.

If we continue to sell and buy “Safety” as a binary, we will continue to be surprised when the “Safe” systems fail. The failure isn’t in the code, and it isn’t in the lock; the failure is in the language we use to describe our own vulnerability.

It is time to stop looking for the “Yes” and start counting the hours.

REALITY OF RESILIENCE