Risk Management

Software Escrow Agreements: The Security Layer Most Companies Forget

Software escrow agreements protect your organization when a critical vendor goes dark. Here is how to structure them with security in mind.

Yukti Singhal
Security Researcher
7 min read

Software escrow is one of those topics that makes security professionals glaze over. It sounds like a legal concern, not a technical one. But if you have ever been burned by a vendor disappearing, being acquired, or simply failing to patch a critical vulnerability, you understand why escrow belongs in your security playbook.

A software escrow agreement is a contract where a vendor deposits their source code, build instructions, and related materials with a neutral third party. If certain trigger events occur — vendor bankruptcy, failure to maintain the product, breach of contract — the escrow agent releases those materials to you. In theory, this means you can maintain, patch, and secure the software yourself.

In theory.

Why Traditional Escrow Agreements Fall Short on Security

The typical escrow agreement was designed for business continuity, not security. The standard trigger events are things like vendor insolvency or failure to provide updates. But the scenarios that matter most to security teams are different:

The vendor gets breached and cannot patch. If your vendor development environment is compromised and they cannot ship clean updates, you need the ability to patch the software yourself. Most escrow agreements do not cover this scenario explicitly.

The vendor ships a backdoored update. Supply chain attacks like SolarWinds demonstrate that sometimes the threat comes from the vendor own update mechanism. An escrow agreement that only releases code when the vendor stops providing updates is useless here — the vendor is still providing updates, they are just compromised.

The vendor refuses to disclose a vulnerability. Some vendors choose not to disclose or patch vulnerabilities that they consider low-risk. If your threat model disagrees with theirs, you need the ability to assess and remediate independently.

What a Security-Focused Escrow Agreement Should Include

Source Code and Build Reproducibility

The escrow deposit should include everything needed to reproduce the exact binary you are running. That means:

  • Complete source code for the version you have deployed
  • Build scripts, toolchain specifications, and dependency manifests
  • A Software Bill of Materials (SBOM) for every deposited version
  • Documented build environment requirements, including OS, compiler versions, and SDK versions
  • Test suites that verify the build output matches the production binary

Without build reproducibility, the source code in escrow is just expensive documentation. You need to be able to produce a working, verified build from the deposited materials.

Verification Deposits

Most escrow agreements include a verification clause, but it is often treated as optional. Do not skip it. Verification means an independent party actually attempts to build the software from the escrow materials and confirms the result matches the production build.

Run verification at least annually. If the vendor ships major updates, verify after each one. A deposit that cannot actually be built is worthless, and you will not discover that fact until you are in a crisis.

Security-Specific Trigger Events

Negotiate trigger events that go beyond the standard insolvency and maintenance failure clauses. Push for:

  • Security breach of vendor systems affecting the software you license
  • Failure to patch critical vulnerabilities within an agreed-upon SLA (for example, 30 days for CVSS 9.0 or higher)
  • Discovery of undisclosed backdoors or unauthorized access mechanisms in the software
  • Vendor acquisition by an entity in a jurisdiction that raises regulatory concerns for your organization
  • Vendor loss of security certifications that were material to your purchasing decision (SOC 2, ISO 27001, FedRAMP, etc.)

Continuous Deposit Updates

A one-time escrow deposit is almost immediately stale. The agreement should require the vendor to update the deposit with every release, or at minimum every quarter. Each deposit should include an updated SBOM and a changelog that documents security-relevant changes.

The Operational Reality of Exercising Escrow Rights

Even with a well-structured agreement, actually using escrowed source code is hard. Your organization needs to plan for the operational reality.

You Need Internal Build Capability

If a trigger event occurs and you receive the escrow materials, someone on your team needs to be able to build, test, and deploy the software. That means you need:

  • Engineers who understand the technology stack
  • A build environment that can be provisioned quickly
  • A deployment pipeline that can handle the escrowed software
  • A testing framework to validate functionality and security

If you do not have these capabilities in-house, identify a third-party firm in advance that can provide them. Negotiating a support contract during a crisis is not a position you want to be in.

Patch Development Is Harder Than You Think

Even with complete source code, developing security patches for software you did not write is a significant undertaking. The code may be poorly documented, use unusual patterns, or have implicit dependencies that are not captured in the build instructions.

Plan for a realistic timeline. A critical security patch for unfamiliar code might take weeks, not days. Factor this into your risk calculations and have interim mitigations ready — network segmentation, WAF rules, access restrictions — that can reduce your exposure while patches are developed.

Legal Complexity

Exercising escrow rights often triggers legal disputes. The vendor (or their bankruptcy trustee, or their acquirer) may contest whether the trigger conditions were actually met. Have your legal team review the trigger language carefully before signing, and maintain documentation that would support your position if challenged.

Alternatives and Complements to Escrow

Escrow is one tool in the vendor risk management toolkit, not a complete solution.

Open-source alternatives. Where possible, prefer vendors who open-source their software or at least provide source-available licenses. This eliminates the escrow question entirely, though it introduces other considerations around support and maintenance.

Multi-vendor strategies. If the software performs a function that multiple vendors offer, maintaining the ability to switch reduces your dependency on any single vendor continuity.

Contractual SLAs with teeth. Strong contractual requirements for vulnerability disclosure and patching timelines, backed by meaningful penalties, can reduce the likelihood that you will ever need to exercise escrow rights.

Independent security audits. Regular third-party security audits of the vendor software give you visibility into the security posture without needing the source code.

The SBOM Connection

An SBOM is arguably the most important artifact in any escrow deposit. Even if you never exercise your full escrow rights, having a current SBOM for your vendor software enables:

  • Independent vulnerability monitoring against CVE databases
  • License compliance verification
  • Identification of transitive dependencies that introduce risk
  • Assessment of the vendor dependency hygiene over time

Push for SBOM inclusion in every escrow deposit, and consider requiring SBOM delivery outside of escrow as part of your standard vendor security requirements.

Building an Escrow Strategy

Start by inventorying your critical vendor dependencies. For each one, assess:

  1. What is the business impact if this software becomes unavailable or insecure?
  2. Does the vendor have escrow arrangements available?
  3. What alternative options exist if the vendor fails?
  4. Do you have the internal capability to maintain the software if needed?

Prioritize escrow agreements for software that is critical, difficult to replace, and provided by vendors with higher risk profiles (small companies, companies with thin margins, companies in unstable markets).

How Safeguard.sh Helps

Safeguard.sh automates SBOM generation and continuous monitoring for your entire software portfolio, including vendor-supplied software. By maintaining current SBOMs for every component in your environment, Safeguard.sh ensures that even if a vendor relationship deteriorates, you have full visibility into the software composition and can independently track vulnerabilities. This complements your escrow strategy by providing the dependency intelligence you need to assess risk and plan remediation, whether or not you ever need to exercise escrow rights.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.