Home/ Articles/ [ source-code-escrow-only-protects-you-if-it-has-been-tested ]

Escrow only protects you if the code inside it actually runs

A deposited copy of source code protects nothing if nobody has confirmed it builds. This post explains what a working escrow deposit actually requires, and why verification is the step most agreements skip.

A sealed brass deposit box sits on a wooden desk beside a stack of labelled folders.

Source code escrow feels like insurance. You pay a fee, a third party holds a copy of the code, and if your supplier disappears you get access. That is the promise. It is rarely the reality.

An escrow agreement only protects you if the deposited material actually builds and runs. Most agreements say nothing about that. They specify that source files are deposited, not that the deposit is complete, not that it compiles, not that it connects to the services it depends on.

Consider what a typical deposit contains. Source files, yes. But what about environment variables, database migrations, third party API keys, the exact version of the runtime, the build scripts that only the original developer ever ran. Without those, a folder of code is closer to a museum piece than a working product. You can look at it. You cannot use it.

What a deposit needs to include

A useful escrow deposit is a full build environment, not a folder of files. It should let a stranger, working from documentation alone, produce a running copy of the product. That means every dependency version pinned rather than merely named, configuration templates for the variables the application needs, the database schema with any seed or migration scripts, a written build and deploy procedure tested by someone who did not write the original code, and confirmation that the deposit matches what is running in production rather than an older or partial version.

None of this is exotic. It is the same discipline a competent handover requires, whether or not a lawyer is involved.

An untested deposit is a promise. A tested one is a plan.

Why verification is the part people skip

Verification costs time and money, and it happens at a point when nobody wants to spend either. The relationship is new, everyone is optimistic, and the supplier who built the product is also the one being asked to prove that a stranger could rebuild it without them. That is an awkward position to put a supplier in, so many agreements quietly drop the requirement.

You do not need to accept that. Ask your supplier, before you sign anything, whether the deposit will be verified by an actual build attempt, not just a file count. Ask who performs that verification and how often it repeats as the product changes. A deposit made once at launch is stale within months if the codebase keeps moving.

At Yunaristech we treat a handover as complete only when someone outside the original team can build and run the product from what has been deposited. That is a higher bar than most escrow arrangements set, and it is the only bar that matters if you ever need to use what you paid to protect.