A roofing contract is one of the larger purchase agreements a homeowner is likely to sign, costing $20,000, $30,000, sometimes $50,000 or more for a high-end tile or standing seam metal roof. And yet most homeowners spend significantly more time reviewing a car lease than they do reviewing a roofing proposal. Roofing contracts often run only one or two pages, the boilerplate looks innocuous, and the contractor is usually sitting across the kitchen table explaining everything in a friendly tone.

That’s exactly when the red flags get missed. California consumer protection law gives homeowners a number of specific rights when contracting for residential work, and there are several patterns that show up consistently in problematic roofing contracts. Knowing what to look for before the signature saves homeowners across San Jose, Sunnyvale, Saratoga, and the rest of the South Bay a substantial amount of trouble after.

Red Flag 1: A Deposit Over $1,000 or 10%

California contract law caps the deposit on a residential construction project at the lesser of $1,000 or 10% of the total contract value. That is a hard, statutory limit. A roofing contractor who asks for a $5,000 deposit on a $30,000 roof before work has started is asking for something they cannot legally require.

Most legitimate roofers in the Bay Area don’t even take the maximum legal deposit; they’ll either skip the deposit entirely and ask for payment when material is delivered, or take a small token deposit to secure scheduling. A contractor who insists on 30%, 40%, or 50% up front is signaling something. Sometimes that signal is financial weakness, because the contractor doesn’t have credit with their supplier and needs your cash to buy materials. Sometimes it’s worse: a contractor who collects large deposits and then disappears.

Either way, the rule is simple: under California law, a residential roofing contractor cannot legally require more than the lesser of $1,000 or 10% before starting work. If a contract you’re being asked to sign violates that, the contract is the red flag.

Red Flag 2: Progress Payments Loaded Toward the Front of the Project

Even past the initial deposit, the structure of progress payments can be a signal. A reasonable residential reroof in San Jose runs two to four days. A reasonable payment schedule for a $30,000 job might look like: $1,000 deposit, $20,000 due on material delivery (the bulk of the project cost), and the remaining $9,000 due at final inspection. The contractor gets paid in step with delivering value.

Compare that to a contract that asks for $15,000 on signing, $10,000 on material delivery, and $5,000 at completion. By the time the roof is half-installed, the contractor has 83% of the money. The contractor’s incentive to finish well, or to finish at all, drops as soon as the next deposit clears. Homeowners describing roof jobs that dragged on for weeks or months, or that got abandoned mid-project, almost always describe a payment schedule loaded toward the front.

A roofing contract should pay the contractor in proportion to the work being done. If the contract pays the contractor faster than the roof is being built, that’s a red flag.

Red Flag 3: No Specific Materials Named

A legitimate roofing proposal in California names specific products. CertainTeed Landmark Pro in Moire Black. Owens Corning Duration in Driftwood. Eagle Capistrano tile in terracotta. GAF Timberline HDZ in Charcoal. The shingle manufacturer is named. The product line is named. The color is named. The underlayment is named. The drip edge metal is named. The fasteners are named.

Watch for proposals that use generic phrases like “premium asphalt shingles,” “quality underlayment,” “code-compliant flashings,” or “manufacturer warranty.” Without specific product names, the contractor can install whichever product comes cheapest on delivery day. The shingle quality difference between a 25-year economy product and a 50-year premium product is enormous, but a contract that doesn’t name the product gives the contractor permission to install whichever is cheaper.

Ask for the specific product, manufacturer, color, line, and warranty tier in writing on the proposal. If the contractor won’t put it in writing, that is the red flag.

Red Flag 4: No Permit Identified

Every residential reroof in the Bay Area requires a permit from the local jurisdiction: San Jose Building Division, Town of Los Gatos, City of Campbell, City of Saratoga, City of Sunnyvale, and so on. The contract should specify who pulls the permit (almost always the contractor, see Red Flag 5), what the permit fees are, and whether they are included in the contract price or added as a separate line item.

A contract that doesn’t mention the permit at all is a red flag. So is a contract that lists “permits” as a line item with a vague placeholder cost, or that asks the homeowner to pull the permit themselves.

Red Flag 5: The Homeowner Is Asked to Pull the Permit

If a contractor asks the homeowner to pull the building permit themselves, walk away. There are only two reasons a roofing contractor asks the homeowner to pull a permit. Either the contractor doesn’t have a business license in good standing and can’t pull permits in that jurisdiction, or they are deliberately shifting liability for the project away from themselves and onto the homeowner.

Homeowner-pulled permits create real legal exposure. Under California law, when a homeowner pulls a permit, the homeowner is legally classified as the “owner-builder” and is responsible for code compliance, workers’ compensation insurance for anyone working on the project, and tax reporting on labor. The contractor effectively becomes a sub. If a worker gets hurt, the homeowner’s insurance is on the hook.

A legitimate roofing contractor pulls their own permit in every jurisdiction they work in. The line item on the contract reads “permit included” or “permit billed at cost.” The contractor’s name is on the permit. Anything else is a red flag.

Red Flag 6: 100% Five-Star Reviews

This one is not in the contract itself, but it’s on the contractor’s Google, Yelp, and Better Business Bureau profile, and it factors into the same decision. A roofing company with hundreds of completed jobs in San Jose and the South Bay cannot have a 100% five-star review profile. It is mathematically and practically impossible. Customer satisfaction is high in this trade, but not perfect.

What 100% five-star reviews actually mean is one of two things: either the company is brand new and hasn’t had enough completed jobs to accumulate any complaints, or the reviews have been bought. Both are red flags. A legitimate roofing company with a long track record will have a mix, mostly five stars, occasional four-star reviews, a few three-star reviews where something didn’t go perfectly, and even an occasional one-star where someone disagreed about a price or a timeline. Read the three-star reviews especially; they tend to be the most honest signal.

Red Flag 7: No Mention of Mechanic’s Lien Rights

California law gives subcontractors and suppliers the right to file a mechanic’s lien against a homeowner’s property if they have not been paid by the general contractor, even if the homeowner has already paid the general contractor in full. This can produce a nightmare scenario where a homeowner pays a contractor, the contractor pockets the money and disappears without paying the sub or the supplier, and the sub or supplier puts a lien on the homeowner’s house.

California has a Mechanic’s Lien Warning Statement that contractors are required to include on residential contracts. If the contract you’re being asked to sign doesn’t include that warning, the contractor is either uninformed or non-compliant, either of which is a red flag.

On a related note, ask the contractor for unconditional lien releases from suppliers and subs as the project progresses. A contractor who refuses or doesn’t know what that means is signaling something. A contractor who works in-house with no subs, like LGR, has a simpler lien picture, but the contract should still address the language clearly.

Red Flag 8: No Three-Day Right to Cancel

California law gives homeowners a three-day right to cancel a residential construction contract that was signed in the home (as opposed to at the contractor’s business office). This is a hard statutory right. The contract is required to include a Notice of Cancellation form with the homeowner’s rights spelled out.

If you’re reviewing a contract that doesn’t include the three-day cancellation notice, or that includes language attempting to waive that right, the contract is non-compliant. That is a red flag, not just about the contract itself but about whether the contractor knows or cares about the consumer protection law they’re working under.

What a Clean Roofing Contract Looks Like

A clean roofing contract in California is specific. It names the contractor, the contractor’s license number (which you can verify on the CSLB website), the homeowner, the property address, the scope of work in detail, the specific materials by manufacturer and product line, the timeline, the payment schedule (legal deposit, milestone payments tied to delivered value), the permit responsibility (contractor), the warranty terms (workmanship and manufacturer separately), the mechanic’s lien warning, and the three-day right to cancel.

It is also short. A clean roofing contract for a residential reroof in San Jose should fit on 5 to 7 pages of plain language. If the document is a twenty-page legal artifact with extensive disclaimers, you should ask why. If it’s a half-page handshake with vague materials and a 50% deposit ask, you should walk away.

Our guide on how to choose a roofing contractor in San Jose covers the questions to ask before you ever get to the contract stage. The contract is the place where vague promises become legally binding terms, or where they don’t. Read it like the substantial purchase it is. Three pages of careful reading on the front end saves a lot of grief on the back end.