COI term
Wrap-up insurance (OCIP / CCIP)
One policy bought centrally for a whole project, covering everyone enrolled. Owner-controlled is an OCIP; contractor-controlled is a CCIP.
Key takeaways
- The only difference between OCIP and CCIP is who buys it. An owner-controlled program is sponsored by the project owner; a contractor-controlled one by the general contractor. The mechanics are the same.
- Enrolled subs bid net of insurance. Their general liability for that scope is bought for them, so their price should already have come down. Requiring their own coverage again on top means paying for the same thing twice.
- It only covers the wrapped site. Auto liability, tools and equipment, and anything the crew does off site stay on the subcontractor's own policy — so you still collect a certificate, just for a shorter list.
- The tail is where wrap-ups leave a hole. A program's completed-operations cover often runs out before the period you can still be sued for a defect. Ask how long it runs before you assume it is handled.
- Look for CG 21 54 on your sub's own policy. That endorsement removes work covered by a consolidated program from their general liability, which is correct on a wrapped job and a serious gap anywhere else.
By the Sealinn team · 5 min read · Updated July 2026 · Written for general contractors
One policy for the whole site
Ordinarily every party on a job carries their own insurance and you collect a certificate from each. A wrap-up inverts that. One party buys a single program covering the project, everyone working on it enrolls, and that program is what responds to a loss on the site. It is called a wrap-up because it wraps the whole job into one policy instead of stitching together a dozen.
Who buys it is the only thing the two acronyms distinguish. An OCIP — owner-controlled insurance program — is bought by the project owner. A CCIP — contractor-controlled — is bought by the general contractor. From the position of a subcontractor being asked to enroll, and from yours if you are checking their paperwork, the two behave identically.
The reason anyone does this is scale. On a large project, buying one set of limits for everybody is usually cheaper than every trade buying their own, the sponsor knows exactly what cover is in place rather than inferring it from certificates, and disputes between two enrolled parties are largely arguments inside one policy rather than between two carriers.
Why the check you normally run stops working
This is the part that catches people out, because nothing about the paperwork announces it. You are holding a subcontractor's certificate, the general liability limits look thin or the line is missing altogether, and by your usual standard that is a problem. On an enrolled scope it is not — the coverage for that work is the program's, and their own policy was never meant to answer.
Run the same check on a sub who is not enrolled, or on a scope the wrap-up excludes, and the thin limits mean exactly what they normally mean. The certificate looks the same in both cases. What tells them apart is knowing which of your subs are enrolled and for which scope — and that lives in the program's enrollment records and the wrap-up manual, not on any ACORD 25 you will be sent.
CG 21 54 is the tell on their own policy
If a subcontractor's general liability carries the exclusion for designated operations covered by a consolidated (wrap-up) insurance program, that policy deliberately does not cover the wrapped work. On an enrolled scope that is correct and expected — the program is covering it. On any other job it is a hole, and it is the kind that surfaces at claim time rather than at certificate time. Worth knowing which of your subs carry it and why.
What stays on your sub's policy
A wrap-up covers the site, not the subcontractor. Several exposures are routinely left outside it, and those are the ones your own file still has to account for.
- Automobile liability is almost never in a wrap-up. Vehicles come and go from the site and belong to the sub — auto liability stays their own.
- Tools, equipment and materials they own or hire. That is property cover, and a wrap-up is a liability program.
- Off-site work — fabrication in their own shop, staging at a yard, deliveries. The program covers the described site.
- Workers' compensation may or may not be included; some programs wrap it and some do not. This is worth confirming rather than assuming, because it changes whether the employers liability limits on their certificate are load-bearing.
So you do still collect a certificate from an enrolled subcontractor. It is a shorter list than usual, and the general liability line on it is not the one doing the work.
The tail, and the gap at the end of it
Every wrap-up ends. The construction period closes, and the program's completed-operations cover — the part that answers a claim about the finished work — runs for some defined stretch after that. Two, five, ten years, depending on what was bought.
The exposure does not necessarily end with it. Statutes of repose in many states run longer than a typical wrap-up tail, so there can be a period where the work is still actionable and the program that covered it has expired. The subcontractor's own policy is often excluded from that work by CG 21 54, which is the point at which nobody's policy is the obvious answer. Asking the sponsor how long the completed-operations extension runs, and comparing it to your own exposure, is a question worth putting in writing at the start rather than discovering later.
That gap is also the reason the completed-operations additional-insured endorsement matters on the non-wrapped part of the same relationship. The two do not overlap as neatly as they look.
What to do with your own file
The drafting side of this — what your insurance exhibit should say when a job is wrapped, and what to name so an enrolled sub is not asked to buy cover twice — is set out in what to require before a sub starts. Off a wrapped job, none of it changes.
The filing side is simpler and mostly a matter of not losing the context. Record which subcontractors are enrolled and for which scope, keep the wrap-up manual with the project rather than in somebody's inbox, and keep collecting certificates for the coverage that stayed with the sub. A file that shows a thin general liability limit with no note explaining that the scope was wrapped is a file that reads as a failure to a reviewer two years from now.
Copy-paste to the sub’s agent
Subject: Wrap-up enrollment and excluded coverage — [Sub name] on [Project]
Hi [Agent name], [Project] is covered by a wrap-up program and [Sub name] is enrolled for their scope. Could you send a current ACORD 25 covering what stays on their own policy — automobile liability, and workers' compensation if it is not included in the program — rather than general liability for the wrapped work? If their general liability carries the consolidated-program exclusion (CG 21 54), please note that on the certificate or send the endorsement, so our file shows why the limits read the way they do. Thanks, [Your name], [Your company]
Sealinn has no idea a job is wrapped
There is no enrollment flag in Sealinn and no wrap-up field on any document it reads. It measures every certificate against the requirement set you point at it, so an enrolled subcontractor with a deliberately thin general liability line will be flagged as short unless the requirement set says otherwise. The thing that actually helps is per-project requirements: a wrapped job can carry its own set — auto and workers' comp required, general liability limits set to what the program leaves behind — so the site with different rules is a setting rather than something you remember. Sealinn will not tell you a project is wrapped. It will stop asking the wrong question once you have.
Where this comes from
- ISO — Exclusion — Designated Operations Covered by a Consolidated (Wrap-Up) Insurance Program (CG 21 54)
- ISO — Commercial General Liability Coverage Form (CG 00 01 occurrence / CG 00 02 claims-made)
- NCCI — Countrywide workers' compensation forms and rules
One job with different rules should be a setting, not a memory.
Sealinn lets a project carry its own requirement set, so a wrapped site is checked against what actually applies to it.
