# Verification standards

Last updated: 2026-03-31

This page separates **join requirements**, **routing (routable) requirements**, **what may appear on contractor-facing surfaces**, and **ops exceptions**. Product rules enforce these in the live system; this is a public summary, not an exhaustive legal/compliance spec. For **who does what** (Zwivio vs contractor vs homeowner) at the business level, see **`/about/business-model`**.

## Required to join (public contractor application)

The public contractor application at **`/contractors/join`** asks for at minimum: business identity fields, SMS phone, **service area** (ZIP list and/or structured county/city selections), **positive service radius**, **HVAC license number** and **license expiry date**, a mailing/service **address**, and acknowledgements of current Terms and Privacy policy IDs (as presented in the application). **License document** and **insurance certificate** uploads are **not** required to complete the initial application. Finish those in the contractor portal afterward.

## Required to be routable (receive dispatch offers)

Routing eligibility (“routable”) is computed from account state and compliance, including (non-exhaustive):

- Account **active**
- **Vetting** status **approved**
- **Payment readiness:** Stripe card on file for automated billing, **or** manual billing mode configured as allowed by the system
- **License:** license **number** and **expiration on file** (current credential row); a **license document upload** is optional supporting evidence. **Non-expired** expiry required (expiring-soon may still count as valid for routing per rules).
- **Insurance:** **insurance certificate** on file with a **non-expired** expiry (same expiring-soon behavior as license), with Ops verification per system rules

If any of the above fails, the contractor is generally **not** offered new dispatch until resolved.

## Displayed publicly / in-product

Contractor-facing and homeowner-facing UIs may show verification **status summaries** (for example, license/insurance indicators on trust surfaces) derived from the same compliance evaluation. **Exact UI strings and fields can change**; do not treat marketing pages as the compliance source of truth.

## Ops-overridable / manual exception

Operations may enable a **routing paperwork override** that can waive **paperwork-class** compliance blockers tied to **license credential gaps** (for example missing or expired license expiration on file) or **insurance certificate** issues, within operations policy. It does **not** remove requirements like **account active**, **vetting approved**, or **payment readiness**. Overrides are operational controls, not a public guarantee of reduced standards for any specific contractor.
