Most defense software procurements invest significant effort in the acquisition phase — technical evaluation, source selection, and contract award — and treat the maintenance contract as secondary paperwork. This is backwards. The acquisition decision determines what you buy. The maintenance contract determines whether you can use it in five years, whether you have legal recourse when the vendor stops supporting it, and whether your program survives vendor insolvency without losing operational capability.

A defense software system procured in 2026 will likely still be in operation in 2036 or 2040. The vendor who wrote it may have been acquired, pivoted to a different market, or ceased operations entirely. The software will have accumulated CVEs. The operating system it runs on will have gone through multiple end-of-life cycles. The engineering team who built it will have turned over. None of that is unusual — it is simply what happens over a 15-year program lifecycle. A well-constructed defense software maintenance contract is the mechanism that keeps operational capability intact through all of it.

Why maintenance contracts fail in defense programs

Commercial software maintenance agreements are designed for short-lived SaaS products where the vendor controls the environment and the customer can switch providers in weeks. Defense programs share almost none of those characteristics. Systems are classified or operate in air-gapped environments where third-party maintenance contractors cannot simply access a production instance. Replacement timelines are measured in years, not weeks. The software may have been modified so extensively that it bears little resemblance to the vendor's commercial product.

The result is that standard commercial maintenance agreements fail defense programs in predictable ways. They do not define severity tiers that match operational reality. They do not address security patching timelines for vulnerabilities in third-party dependencies. They do not require the vendor to maintain older versions while a program is undergoing upgrade testing. They contain no source code escrow provisions that would allow the program to continue if the vendor disappears. And they include exit provisions that make orderly transition to a replacement system practically impossible.

Understanding these failure modes before drafting the contract is the starting point for getting the terms right.

SLA structure: severity tiers and response windows

The most common deficiency in defense software maintenance contracts is a single, undifferentiated support tier with a vague response time commitment. A system that provides situational awareness for a deployed unit needs a fundamentally different response commitment when it goes fully offline than when a report export function produces the wrong date format. Treating both as the same priority level either overpays for trivial issues or underprotects against genuine operational failures.

A well-structured defense software SLA defines at minimum three severity levels.

P1 — critical

P1 applies when the system is fully unavailable, data integrity is at risk, or a security vulnerability is being actively exploited. The contract should specify an initial response — meaning a qualified engineer is engaged and has acknowledged the issue — within one to two hours. A fix or documented workaround should be delivered within four to eight hours. P1 SLAs must run on a 24/7 basis with no exclusions for weekends, public holidays, or time zone differences. The contract should name escalation contacts — not just a support queue — and specify that P1 escalation bypasses standard intake processes.

P2 — major

P2 applies when a significant capability is degraded but the system remains partially operational and a workaround exists. Initial response within four hours, resolution within 24 to 48 hours. P2 SLAs should also run continuously, not only during business hours, because degraded operational capability compounds quickly in a deployed environment.

P3 — minor

P3 covers defects with low operational impact — incorrect display output, non-critical report errors, cosmetic issues. Acknowledgment within one business day, resolution bundled into the next scheduled maintenance release. P3 is the only tier where business-hours measurement is appropriate.

Beyond response windows, the contract should specify patch delivery timelines separately from general defect resolution. Patch cadence should be defined as a maximum interval between scheduled maintenance releases — 90 days is a common benchmark for defense systems — with a provision for emergency out-of-cycle patches for critical security vulnerabilities.

Source code escrow: protecting continuity across vendor risk

Source code escrow is the single most underutilized clause in defense software contracts. It is also the one that creates the most acute consequences when absent. When a defense software vendor is acquired by a competitor who discontinues the product, or simply fails as a business, a program without escrow provisions loses access to the ability to build, modify, or independently maintain its own software. In a classified environment where the successor contractor has no access to the vendor's original development environment, this is not a recoverable situation without years of re-procurement effort.

An escrow arrangement requires the vendor to deposit the software's source code, build scripts, test suites, third-party dependency manifests, and environment specifications with an independent, accredited escrow custodian. The deposit is held by the custodian and released to the procuring organization only when defined trigger conditions are met.

Defining escrow trigger conditions

Trigger conditions must be specific enough to be objectively verifiable. Standard triggers include: vendor insolvency or bankruptcy filing; acquisition of the vendor by a competitor who discontinues the product; vendor's written announcement of product end-of-life; and any continuous 12-month period during which the vendor delivers no maintenance releases. Vague conditions — "vendor ceases to support the product" — invite disputes when exactly that happens. Conditions must be defined to be invocable without vendor consent.

Verifying escrow usability

An escrow deposit that cannot produce a working build is worthless. The contract must require annual escrow verification: an independent build test in which the deposited materials are used to reproduce the software in a clean environment. The procuring organization or a designated third party reviews the output. Vendors who cannot pass escrow verification annually should be considered in breach of the maintenance agreement. Escrow is not a storage service — it is a continuity mechanism, and it only works if the deposit is proven buildable.

Security patch obligations and CVE response

The security patching requirements in most commercial software maintenance agreements are written for enterprise IT environments where updates can be tested and deployed on a weekly cadence. Defense programs cannot do this. Testing a security patch in a classified environment before deployment can take four to six weeks. Deploying across a distributed, air-gapped network takes additional time. The maintenance contract must account for this asymmetry.

The starting point is to tie patch delivery obligations to CVSS severity scores. A realistic baseline for defense software maintenance: CVSS 9.0–10.0 (critical) requires vendor notification within 24 hours of public disclosure and a patch or documented mitigation within 72 hours. CVSS 7.0–8.9 (high) requires a patch within 14 days. CVSS 4.0–6.9 (medium) allows up to 45 days. CVSS below 4.0 is bundled into the next scheduled maintenance release.

Equally important is the requirement for proactive zero-day notification. If the vendor learns of an exploited vulnerability in the software before it is publicly disclosed — through their own incident response, through a customer report, or through any other channel — the maintenance contract should obligate them to notify the procuring organization's designated security contact within 24 hours. This is a non-standard clause that vendors will resist. It should not be negotiated away.

The contract should also require the vendor to maintain a current software bill of materials (SBOM) — a full inventory of third-party libraries, frameworks, and dependencies included in the product. CVEs in third-party dependencies constitute the majority of exploitable vulnerabilities in most defense software systems. Without an SBOM, the procuring organization cannot independently track the vendor's exposure or verify that patch obligations are being met. Requiring the SBOM to be updated with each maintenance release is reasonable and technically straightforward for any vendor running a modern build pipeline.

Exit and transition provisions

Transition provisions are the clauses that determine whether an orderly migration to a replacement system is possible. They are also among the most frequently stripped out during contract negotiations, because the vendor has no interest in facilitating their own replacement. Procurement teams who accept bare-bones exit provisions pay for it years later when transition costs balloon and programs are held hostage to the incumbent vendor's cooperation.

A complete exit and transition framework addresses four areas.

Data portability. All operational data generated by the system — track histories, mission logs, configuration states, derived intelligence products — must be exportable in documented, non-proprietary formats within a defined window after contract termination, typically 30 to 90 days. The contract should specify formats explicitly: if CSV and JSON are acceptable, write them in. "Standard formats" is not specific enough to be enforceable.

Migration assistance. The vendor must provide active technical support for integration with or migration to a replacement system for a defined overlap period — six to twelve months is the standard range for complex defense software. This includes answering technical questions from the replacement contractor, providing API documentation that may not be in the public product documentation, and assisting with data migration validation.

Knowledge transfer. The vendor must deliver updated technical documentation — architecture diagrams, deployment runbooks, configuration guides — and provide a minimum defined number of hours of technical training to the successor contractor or in-house team. "Documentation" must be defined: what documents, at what version currency, in what format. Knowledge transfer deliverables should be listed as contract line items with acceptance criteria, not described in general terms.

License survival. All licenses for operational data, derived analytical products, trained model weights if AI components are present, and configuration artifacts must survive contract termination. This is particularly important for any system that builds up operational value over time — a track fusion system whose fusion models have been trained on operational data represents a significant investment that belongs to the procuring organization, not the vendor.

Performance guarantees and availability SLAs

Availability SLAs for mission-critical defense software require significantly more precision than a simple uptime percentage. A 99.9% availability commitment sounds strong but allows nearly nine hours of downtime per year — which, concentrated in a single incident at the wrong moment, can have severe operational consequences. More importantly, an availability clause without a defined measurement methodology is effectively unenforceable.

The measurement methodology must specify what constitutes downtime, how it is tracked, and how it is verified. "Downtime" should be defined in terms of service impact — is a system degraded to 30% of normal throughput counted as "available"? — rather than in terms of system state. Measurement should be continuous and automated, not vendor-reported. The contract should identify who has access to availability metrics and how disputes about reported figures are resolved.

Penalty clauses must create genuine financial incentive to meet SLA targets. Service credits of 5% to 15% of the monthly contract value per percentage point of availability SLA miss are a reasonable range. The penalty structure should escalate for repeated breaches in consecutive periods — a vendor who consistently misses by a small margin while paying credits has less incentive to invest in reliability than one facing escalating financial consequences.

The contract should also require a written remediation plan within five business days of any P1 SLA breach. The plan must document the root cause, the corrective action taken, and the preventive measures being implemented to avoid recurrence. Remediation plans serve two functions: they create a record for program oversight and they give the procuring organization early warning of systemic reliability problems before they compound.

For systems operating in air-gapped or degraded-connectivity environments, the availability SLA framework needs a separate degraded-mode specification. What is the expected system behavior when connectivity to central services is unavailable? What is the maximum autonomous operating period? These are not standard availability SLA questions — they require a defense-specific annex to the maintenance agreement that defines operational boundaries under realistic field conditions.

For additional context on evaluating vendors before contract award — including how to assess support capacity and long-term viability before the maintenance contract is signed — see our guide to defense software vendor evaluation. For the broader procurement lifecycle, including how maintenance provisions fit into the full contract structure, the defense procurement RFP to contract guide covers the end-to-end process.

EOL notice periods and version support windows

Defense programs cannot absorb a 90-day notice period for product end-of-life. The procurement cycle to identify, evaluate, and contract a replacement system takes 12 to 24 months in most defense environments. A maintenance contract that allows the vendor to terminate support on a 90-day notice leaves a program potentially unsupported for the better part of two years. The minimum viable EOL notice period for a mission-critical defense software product is 24 months — enough time to complete a competitive replacement procurement.

Version support windows are a related and frequently neglected issue. Defense programs often cannot upgrade on the vendor's preferred schedule. Regulatory re-accreditation, integration testing in classified environments, and the engineering effort required to validate a new version can push upgrade timelines 12 to 18 months beyond the vendor's GA release. The maintenance contract must specify how many prior major versions the vendor will simultaneously support, and for how long after a new major version is released. Two prior major versions maintained for 24 months post-release is a defensible baseline for complex defense software.

Corvus Intelligence's approach to long-term support

Corvus Intelligence designs its defense software products with long-horizon support as a first-class requirement — not an afterthought. Our maintenance agreements are built on structured severity tiers, SBOM-backed security patching, contractual source code escrow, and transition provisions that put the procuring organization's continuity ahead of vendor lock-in.

Explore Corvus Intelligence →