Tag: Restoration Carbon Protocol

  • What UCP Teaches Us About RCP: How Open Protocols Create Industry Movements

    When Google launched the Universal Commerce Protocol at NRF in January 2026, the announcement was framed as an e-commerce story. Shopify, Walmart, Target, Visa — merchants and payment processors getting their systems ready for AI agents that shop, compare, and execute purchases without human intervention. That framing is correct but incomplete. UCP is not just a commerce standard. It is a template for how open protocols create movements.

    The Restoration Carbon Protocol is a different kind of standard in a completely different industry. But when you understand what UCP actually does architecturally — and why it succeeded where dozens of previous e-commerce APIs failed — you start to see exactly how RCP gets from a 31-article framework on tygartmedia.com to an industry-wide adopted standard that BOMA, IFMA, and institutional ESG reporters actually depend on.

    The mechanism is the same. The domain is different. And there is a version two of RCP that plugs directly into the UCP trust architecture — if the restoration industry moves in the next 18 months.


    What UCP Actually Does That Previous Commerce APIs Didn’t

    The history of e-commerce is littered with failed attempts at standardization. Every major platform — Amazon, eBay, Shopify, Magento — built its own API. Merchants implemented each one separately. Integrators spent years building custom connectors. The problem was not technical. The problem was trust and authentication. Every API required a bilateral relationship: the merchant trusted this specific buyer’s agent, that agent trusted this specific merchant’s data. Scaling to the open web required n² trust relationships. It never worked.

    UCP solved this with a different architecture. Instead of bilateral trust, it established a protocol layer — a shared standard that any compliant agent and any compliant merchant can speak without a pre-existing relationship. An AI agent that implements UCP can query any UCP-compliant catalog, check any UCP-compliant inventory, and execute against any UCP-compliant checkout — not because it has a relationship with that merchant, but because both parties speak the same authenticated protocol.

    The authentication is the product. UCP’s standardized interface means that a merchant’s decision to implement the protocol is simultaneously a decision to trust any UCP-authenticated agent. The trust is embedded in the standard, not in the bilateral relationship.

    Google’s Agent Payments Protocol (AP2), which sits alongside UCP, formalized this with “mandates” — digitally signed statements that define exactly what an agent is authorized to do and spend. The mandate is the credential. Any merchant who accepts UCP mandates accepts a verifiable statement of agent authorization without knowing anything specific about the agent that issued it.

    That architecture — open protocol, embedded authentication, mandate-based trust — is exactly what the restoration industry needs for Scope 3 emissions data. And RCP v1.0 has already built the content layer. The question for v2 is whether to build the authentication layer.


    The RCP Authentication Problem (That UCP Already Solved)

    RCP v1.0 produces per-job emissions records — JSON-structured Job Carbon Reports that restoration contractors deliver to commercial property clients for their GRESB, SBTi, and SB 253 reporting. The framework is solid. The methodology is sourced and auditable. The schema is machine-readable.

    But right now, there is no authentication layer. A property manager who receives an RCP Job Carbon Report from a contractor has no way to verify that the contractor actually follows the methodology, uses the current emission factors, or has gone through any validation process. They have to trust the contractor’s word — which is exactly the problem that makes Scope 3 data from supply chains unreliable for ESG auditors.

    This is the bilateral trust problem all over again. The property manager trusts this specific contractor’s data. That contractor trusts this specific property manager’s reporting process. It does not scale to a portfolio of 200 contractors across 800 properties.

    UCP solved the equivalent problem in commerce. The RCP organization — whoever formally governs the standard — can solve the same problem in ESG supply chain reporting with an analogous architecture.


    What RCP Certification Could Look Like in a UCP-Style Architecture

    Imagine a restoration contractor completes an RCP certification process. They demonstrate that they collect the 12 required data points, apply the current emission factors, produce Job Carbon Reports in the RCP-JCR-1.0 schema, and maintain source documents for seven years. The RCP organization validates this and issues a cryptographically signed certification credential — an RCP Mandate.

    The RCP Mandate is the contractor’s credential. It is not issued to a specific property manager. It is not dependent on a bilateral relationship. It is a verifiable statement, signed by the RCP authority, that this contractor’s emissions data meets the methodology standard. Any property manager, ESG platform, or auditor who accepts RCP Mandates can trust the data from any RCP-certified contractor — not because they know that contractor, but because the standard’s authentication is embedded in the credential.

    This is precisely how UCP mandates work in commerce. The signed statement creates protocol-level trust that does not require a pre-existing relationship.

    The downstream effects are the same as in commerce:

    • For contractors: RCP certification becomes a competitive signal that travels with the data. An RCP Mandate delivered with a Job Carbon Report tells the property manager’s ESG team: this data does not need to be validated separately. It has already been validated by a recognized standard.
    • For property managers: They can accept RCP-certified contractor data directly into their ESG reporting workflows without manual review. The certification is the audit trail. Measurabl, Yardi Elevate, and Deepki — the ESG data management platforms most of them use — can be built to accept RCP Mandate credentials alongside RCP JSON records and flag them automatically as verified-methodology data.
    • For ESG auditors: A property portfolio where all restoration contractor data comes from RCP-certified vendors is auditable without going back to each contractor. The mandate chain is the evidence. Limited assurance under CSRD or SB 253 becomes a single check — are these vendors RCP-certified? — rather than a vendor-by-vendor methodology review.
    • For the industry: Certification creates a selection mechanism. Property managers who require RCP-certified vendors in their preferred contractor agreements are no longer asking for a one-off document. They are asking for protocol compliance — the same way a merchant asking for UCP compliance is not asking for a custom integration, they are asking for standards adoption.

    The Protocol Stack for RCP v2

    Following the UCP architecture model, a complete RCP v2 would have three layers — matching the commerce, payments, and infrastructure layers of the agentic commerce stack:

    Layer 1: The Data Layer (Already Built — RCP v1.0)

    The methodology, emission factors, JSON schema, five job type guides, audit readiness documentation, and public API. This is the equivalent of UCP’s catalog query and inventory check layer — the standardized interface for what data is produced and how it is structured. RCP v1.0 is complete at this layer.

    Layer 2: The Authentication Layer (RCP v2 Target)

    The certification program, the mandate credential, the verification mechanism. This is the equivalent of UCP’s trust and authentication architecture — the layer that makes data from one party trusted by another without a bilateral relationship. Key components:

    • RCP Contractor Certification: documented audit of data capture practices, schema compliance, emission factor vintage, and source document retention
    • RCP Mandate: cryptographically signed certification credential, issued per contractor, versioned to the RCP release used, with an expiration and renewal cycle
    • Mandate verification endpoint: a public API (building on the existing tygart/v1/rcp namespace) where any platform can POST a mandate token and receive a verified/not-verified response with credential metadata
    • Certified contractor registry: a public directory of RCP-certified organizations, queryable by name, state, and certification status

    Layer 3: The Infrastructure Layer (RCP v2 Target)

    The machine-to-machine data exchange infrastructure — the equivalent of MCP and A2A in the agentic commerce stack. A contractor’s job management system (Encircle, PSA, Dash, Xcelerate) that natively implements RCP can transmit certified Job Carbon Reports directly to a property manager’s ESG platform without human intermediation. The report travels with the mandate credential. The platform verifies the credential, ingests the data, and flags it as RCP-verified — automatically. No email, no manual upload, no data entry.

    This is what makes it a movement rather than a document standard. The data flows automatically between authenticated parties. The human steps are eliminated. The protocol becomes infrastructure.


    Why Open Protocol Architecture Enables Movements

    UCP didn’t succeed because Google built good documentation. It succeeded because Google made it open — any merchant can implement it, any agent can speak it, no license fee, no bilateral negotiation, no approval required. Shopify and a regional boutique retailer are equal participants in the UCP ecosystem because the protocol is the credential, not the relationship with Google.

    That openness is what creates network effects. Every new UCP-compliant merchant makes the protocol more valuable for every agent. Every new UCP-compliant agent makes the protocol more valuable for every merchant. The standard grows because participation is self-reinforcing.

    RCP v1.0 is already open. The framework is CC BY 4.0 — free to use, implement, and build upon. The API is public. The emission factors are published with sources. Any restoration company can implement it today without permission.

    What RCP v2 adds is the authentication layer that makes open participation verifiable. The difference between “any company claims to follow RCP” and “any company can prove they follow RCP” is the difference between a document standard and a protocol. And the difference between a protocol and a movement is whether the infrastructure layer — the machine-to-machine data exchange — gets built.

    The agentic commerce stack took 18 months from UCP’s launch to meaningful adoption in production commerce systems. The RCP timeline is not 18 months from today — it’s 18 months from the moment RIA, IICRC, or a major industry insurer formally endorses the standard. That endorsement is the equivalent of Shopify and Walmart signing on to UCP at NRF. It’s the signal that tells the rest of the ecosystem: this is the standard, build to it.


    The Restoration Industry’s Unique Position

    BOMA and IFMA are working the problem from the property owner side — how do we get our vendor supply chains to report Scope 3 data? They don’t have the answer because the answer requires contractor-side infrastructure that commercial real estate organizations cannot build. They can mandate data. They cannot build the methodology.

    The restoration industry can. The 12 data points are already defined. The five job type methodologies are already published. The JSON schema is live. The API is running. The audit readiness guide exists. The only missing component is the formal certification program and the mandate credential that makes all of it protocol-grade rather than document-grade.

    This is what positions restoration as the leading industry in commercial property Scope 3 compliance — not just a participant but the infrastructure provider. The industry that built the standard that the property management industry depends on. That is a fundamentally different value proposition than “we report our emissions.”

    The parallel to UCP is exact: Google didn’t just participate in e-commerce. They built the protocol layer that made agentic commerce possible at scale. The restoration industry, through RCP, can build the protocol layer that makes supply chain Scope 3 compliance possible at scale for commercial real estate. And unlike Google, the restoration industry doesn’t need to be invited to the table. The table was already set at tygartmedia.com/rcp.


    What RIA Savannah Should Start

    The conversation at RIA Savannah on April 27 isn’t about persuading the industry to care about carbon. It’s about presenting the infrastructure that already exists and asking whether the industry wants to formally govern it. The RCP v1.0 framework, the public API, the certification roadmap — these are things that exist today. The question for RIA leadership is whether they want the restoration industry to own the protocol layer for commercial property Scope 3 compliance, or whether they want to watch a property management trade association or a Canadian software company build something proprietary in their place.

    The window is real. ESG data platforms are making vendor integration decisions now. Property managers are establishing preferred contractor Scope 3 requirements now. California SB 253’s Scope 3 deadline is 2027. GRESB assessments with contractor data coverage scoring are active this year. The infrastructure moment is not coming. It is here.

    A movement needs three things: an open standard, an authentication layer, and a network effect. RCP v1.0 is the standard. The authentication layer is the RCP v2 roadmap. The network effect starts the moment an industry organization formally endorses the protocol and restoration contractors have a reason to get certified rather than merely compliant.

    That is what UCP teaches us about RCP. The protocol is not the product. The authenticated, machine-readable, verifiable data infrastructure that emerges from the protocol is the product. And the industry that builds that infrastructure owns the category.

  • RCP API Reference: Accessing the Framework Programmatically

    The RCP REST API endpoint allows software developers, ESG platforms, and job management systems to programmatically access the full Restoration Carbon Protocol framework — all articles, emission factors, schema documentation, and article relationships — without scraping the site. This endpoint is part of the Tygart Media REST API and is publicly accessible without authentication.

    Base URL: https://tygartmedia.com/wp-json/tygart/v1/rcp


    Endpoints

    GET /wp-json/tygart/v1/rcp

    Returns the complete RCP framework index: all published articles with metadata, their relationship type within the framework, and links to full content.

    Request:

    GET https://tygartmedia.com/wp-json/tygart/v1/rcp
    Accept: application/json

    Response structure:

    {
      "rcp_version": "1.0",
      "schema_version": "RCP-JCR-1.0",
      "last_updated": "2026-04-11",
      "framework_url": "https://tygartmedia.com/rcp/",
      "contact": "rcp@tygartmedia.com",
      "license": "CC BY 4.0",
      "articles": [
        {
          "id": 2481,
          "type": "introduction",
          "title": "Introducing the Restoration Carbon Protocol",
          "url": "https://tygartmedia.com/restoration-carbon-protocol-introduction/",
          "excerpt": "...",
          "tags": ["RCP", "GHG Protocol", "ESG", "Scope 3"]
        },
        ...
      ],
      "article_types": [
        "introduction", "regulatory", "job_type_guide",
        "data_standard", "commercial", "technical", "strategy"
      ]
    }

    GET /wp-json/tygart/v1/rcp/schema

    Returns the full RCP-JCR-1.0 JSON Schema for a Job Carbon Report — the machine-readable data standard for per-job Scope 3 emissions records. This is the canonical schema endpoint for software developers implementing native RCP data capture.

    Request:

    GET https://tygartmedia.com/wp-json/tygart/v1/rcp/schema
    Accept: application/json

    Response: Full JSON Schema Draft-07 object as published in the RCP JSON Schema v1.0 article.

    GET /wp-json/tygart/v1/rcp/factors

    Returns all RCP emission factors as structured JSON — vehicle emission factors, material factors, waste disposal factors, demolished building material factors, and the eGRID subregional table. This allows ESG platforms and carbon calculators to pull the current RCP factor set programmatically rather than hardcoding values.

    Request:

    GET https://tygartmedia.com/wp-json/tygart/v1/rcp/factors
    Accept: application/json

    Response structure:

    {
      "factor_vintage": "EPA 2025 EF Hub, EPA eGRID 2023, EPA WARM v16, DEFRA 2024",
      "gwp_basis": "IPCC AR6 GWP-100 for refrigerants; IPCC AR5 for other gases",
      "last_updated": "2026-04-11",
      "transportation": {
        "units": "kg_co2e_per_mile",
        "factors": {
          "passenger_car_gasoline": 0.355,
          "light_truck_gasoline": 0.503,
          "light_truck_diesel": 0.523,
          "medium_truck_diesel": 1.084,
          "heavy_truck_unloaded": 1.612,
          "heavy_truck_loaded": 2.25,
          "hazmat_hauler_acm": 3.20,
          "medical_waste_hauler": 2.80
        }
      },
      "electricity": {
        "units": "kg_co2e_per_kwh",
        "national_average": 0.3497,
        "subregions": {
          "NYUP": 0.1101,
          "CAMX": 0.1950,
          "NEWE": 0.2464,
          "ERCT": 0.3341,
          "FRCC": 0.3560,
          "SRSO": 0.3837,
          "NYCW": 0.3927
        }
      },
      "waste_disposal": {
        "units": "tco2e_per_short_ton",
        "factors": {
          "mixed_cd_landfill": 0.16,
          "gypsum_drywall_landfill": 0.16,
          "gypsum_drywall_recycled": 0.02,
          "carpet_pad_landfill": 0.33,
          "carpet_pad_recycled": 0.05,
          "vinyl_lvp_landfill": 0.28,
          "vinyl_lvp_recycled": 0.08,
          "mixed_plastics_landfill": 0.25,
          "biohazard_incineration": 0.97,
          "biohazard_autoclave_landfill": 0.50,
          "acm_inert_transport_only": 0.018
        }
      },
      "materials_kg_co2e_per_unit": {
        "nitrile_glove_each": 0.0277,
        "n95_respirator_each": 0.05,
        "tyvek_suit_each": 0.52,
        "h2o2_antimicrobial_per_kg_active": 1.33,
        "lvp_flooring_per_m2": 5.2,
        "ceramic_tile_per_kg": 0.78,
        "ready_mix_concrete_per_kg": 0.13,
        "ldpe_sheeting_per_kg": 1.793
      },
      "refrigerant_gwp_ar6": {
        "R410A_blend": 2256,
        "R32": 771,
        "R454B_blend": 530,
        "R134a": 1530
      },
      "fuel_combustion": {
        "units": "kg_co2e_per_gallon",
        "gasoline": 8.887,
        "diesel": 10.21
      }
    }

    GET /wp-json/tygart/v1/rcp/articles/{type}

    Returns articles filtered by framework type. Valid type values: job_type_guide, regulatory, data_standard, technical, strategy, introduction, commercial.

    Example — get all job type guides:

    GET https://tygartmedia.com/wp-json/tygart/v1/rcp/articles/job_type_guide

    Response: Array of article objects matching that type, with title, URL, excerpt, and job_types array (e.g., ["water_damage", "category_2", "category_3"]).


    Existing WordPress REST API — RCP Queries

    While the tygart/v1/rcp endpoints above are planned for v1.1 deployment, the existing WordPress REST API at /wp-json/wp/v2/ already supports filtered RCP queries using tag and category IDs.

    Get all RCP articles

    GET https://tygartmedia.com/wp-json/wp/v2/posts?tags=409&per_page=50
    # Tag 409 = "RCP" — returns all 30 published RCP articles

    Get RCP articles by sub-type

    # Developer/technical articles only (tag 411 = Developer Reference)
    GET https://tygartmedia.com/wp-json/wp/v2/posts?tags=409,411&per_page=20
    
    # Regulatory articles (tag 369 = SB 253)
    GET https://tygartmedia.com/wp-json/wp/v2/posts?tags=409,369&per_page=20

    Get a specific article with full content

    # RCP v1.0 Full Framework Document (post ID 2976)
    GET https://tygartmedia.com/wp-json/wp/v2/posts/2976
    
    # Returns: id, title, content.rendered, excerpt.rendered, 
    #          link, slug, date, modified, tags, categories

    Get the RCP hub page

    GET https://tygartmedia.com/wp-json/wp/v2/pages?slug=rcp
    # Returns the hub page at /rcp/ with full content and navigation structure

    Response fields available per post

    Field Type Description
    id integer WordPress post ID — stable across updates
    slug string URL slug — permanent, do not rely on for API queries (use ID)
    title.rendered string HTML-decoded article title
    content.rendered string Full article HTML — includes all tables, methodology, worked examples
    excerpt.rendered string Summary paragraph — suitable for search result snippets
    link string Canonical URL
    modified datetime Last updated — use to detect emission factor version updates
    tags array[int] Tag IDs — use 409 (RCP), 411 (Developer) for filtering

    RCP Tag ID Reference

    Tag ID Name Use
    409 RCP All RCP articles — primary filter for the full framework
    408 GHG Protocol All RCP articles (GHG Protocol aligned)
    366 Scope 3 All RCP articles (Scope 3 focused)
    77 ESG All RCP articles (ESG context)
    411 Developer Reference Technical articles: JSON schema, proxy guide, factor table, audit guide, software integration, 12 data points
    369 SB 253 Regulatory articles: SB 253, framework, FEMA, SBTi, CSRD

    Planned v1.1 API Enhancements (Roadmap)

    The following endpoints are targeted for deployment in RCP v1.1, pending implementation by the infrastructure team. The spec above defines the intended response format.

    • GET /wp-json/tygart/v1/rcp — Framework index with article type classification
    • GET /wp-json/tygart/v1/rcp/schema — RCP-JCR-1.0 JSON Schema as a clean API response
    • GET /wp-json/tygart/v1/rcp/factors — All emission factors as structured JSON with vintage metadata
    • GET /wp-json/tygart/v1/rcp/factors/{category} — Filtered factor sets (transportation, electricity, waste, materials)
    • GET /wp-json/tygart/v1/rcp/articles/{type} — Articles filtered by framework type

    Software vendors who want to implement the planned endpoints ahead of formal deployment, or who have implementation questions, contact: rcp@tygartmedia.com


  • RCP Carbon Avoidance Framework: How to Document Emissions That Didn’t Happen

    Every RCP article published so far covers how to measure and report the Scope 3 emissions your restoration work generates. This article introduces a complementary concept: carbon avoidance — the quantified emissions that did not happen because of deliberate operational choices made on a specific job.

    Avoided emissions are not the same as offsets. They are not purchased credits. They are not estimates of what another contractor might have done. They are documented, job-level calculations showing that a specific decision — dry in place instead of demolish, drywall recycled instead of landfilled, electric van instead of diesel truck — produced a measurable reduction from what the baseline calculation would have shown. When delivered alongside a standard RCP Job Carbon Report, avoided emissions data transforms the contractor from a Scope 3 data source into a Scope 3 reduction partner.


    Why Avoided Emissions Matter to Your Commercial Clients

    A commercial property manager with an SBTi commitment needs two things from their restoration contractor supply chain: the actual emissions figure for their Scope 3 inventory, and evidence that those emissions are declining. The actual figure alone satisfies a disclosure requirement. Evidence of decline satisfies a reduction target.

    SBTi supplier engagement targets — which require companies to show that their supply chain partners are actively reducing emissions — are best evidenced not by a contractor’s promise to do better but by documented proof that specific jobs generated fewer emissions than the counterfactual. An RCP Job Carbon Report that includes an avoided emissions summary gives the property manager exactly that evidence in a form their ESG team can cite in annual reporting.

    Under the GRESB GH1 indicator’s data coverage scoring, a client who can show that a contractor’s actual job data consistently outperforms the spend-based benchmark is in a stronger scoring position than one using estimates. Avoided emissions documentation supports that narrative directly.


    The Three Categories of Restoration Carbon Avoidance

    Category A: Dry-In-Place vs. Demolish-and-Replace

    The most material avoidance opportunity in restoration is also the most consequential clinical decision: dry in place or tear it out. When a Category 2 water damage job achieves successful in-place drying of drywall that would otherwise have been demolished and replaced, the avoided emissions include:

    • Category 12 avoided: embodied carbon of the drywall that was not demolished (0.16 tCO₂e/ton landfilled, plus the embodied carbon of new drywall not manufactured)
    • Category 5 avoided: disposal emissions from the demolition debris that was not generated
    • Category 4 partial: some debris hauling trips eliminated

    Calculation methodology: Document the affected area that was successfully dried in place (square footage). Calculate the weight of drywall that would have been demolished using the standard proxy (2.5 lbs/sq ft for 1/2″ drywall). Apply the landfill emission factor plus the embodied carbon of new drywall avoided. Sum across Categories 5 and 12.

    Example: A 400 sq ft wall assembly successfully dried in place instead of demolished: 400 × 2.5 lbs = 1,000 lbs = 0.45 tons avoided demolition. At 0.16 tCO₂e/ton (landfill) + 0.12 kg CO₂e/kg for new drywall embodied carbon (ICE Database), total avoided emissions ≈ 0.127 tCO₂e for this decision alone.

    Category B: Waste Diversion from Landfill

    When demolished materials are diverted from landfill to recycling — drywall to a gypsum recycler, clean wood to a biomass facility, metal to a scrap recycler — the difference between the landfill emission factor and the recycling emission factor represents avoided emissions.

    EPA WARM v16 avoidance factors for key restoration materials:

    Material Landfill (tCO₂e/ton) Recycled (tCO₂e/ton) Avoided per ton diverted
    Gypsum drywall 0.160 0.020 0.140
    Carpet and pad 0.330 0.050 0.280
    Dimensional lumber (uncharred) 0.039 -0.150 0.189
    Vinyl/LVP flooring 0.280 0.080 0.200
    Metals (mixed) 0.025 -0.420 0.445

    Source: EPA WARM v16. Negative recycling values reflect avoided virgin production emissions — recycling metals and wood avoids more emissions than landfilling would have produced.

    Calculation methodology: Obtain a weight receipt from the recycling facility documenting the material type and weight diverted. Subtract the recycling emission factor from the landfill emission factor. Multiply by tons diverted. This is the avoided emission attributable to the diversion decision.

    Category C: Low-Emission Equipment or Material Substitution

    When a contractor deploys a lower-emission alternative to what would otherwise have been used — an electric monitoring vehicle instead of a diesel truck, R-32 dehumidifiers instead of R-410A units, cellulose insulation instead of fiberglass during reconstruction — the emission difference is an avoidance claim, provided the counterfactual (what would otherwise have been used) is documented and defensible.

    Calculation methodology: Document the actual equipment or material used and its emission factor. Document the standard counterfactual (e.g., diesel equivalent, standard drywall, fiberglass insulation). Calculate the emission factor difference and multiply by the activity quantity. This is the avoided emission attributable to the substitution decision.

    Important boundary condition: Category C avoidance claims require that the counterfactual is a realistic alternative — not an implausible worst case. Using “diesel heavy truck” as the counterfactual for a small cargo van trip, or “virgin nylon carpet” as the counterfactual when the client specified recycled carpet, overstates avoidance and will not survive audit scrutiny. The counterfactual should be the standard industry practice for that task, not the worst possible option.


    How to Structure an Avoided Emissions Disclosure

    Avoided emissions should be reported as a supplementary section of the RCP Job Carbon Report, clearly separated from the actual emissions inventory. The structure prevents confusion in client ESG reporting — actual emissions go into their Scope 3 inventory; avoided emissions go into their Scope 3 narrative as evidence of supplier reduction activity.

    Recommended disclosure format within an RCP Job Carbon Report:

    "avoided_emissions": {
      "total_avoided_tco2e": 0.267,
      "avoidance_actions": [
        {
          "action_type": "dry_in_place",
          "description": "400 sq ft wall assembly dried in place — demolition avoided",
          "counterfactual_tco2e": 0.127,
          "actual_tco2e": 0.000,
          "avoided_tco2e": 0.127,
          "documentation": "psychrometric log confirming dry standard achieved, no demolition performed"
        },
        {
          "action_type": "waste_diversion",
          "description": "0.91 tons gypsum drywall diverted to regional gypsum recycler",
          "counterfactual_tco2e": 0.146,
          "actual_tco2e": 0.018,
          "avoided_tco2e": 0.128,
          "documentation": "recycling facility weight receipt #REC-2026-04847",
          "recycler_name": "National Gypsum Recycling, Portland OR"
        },
        {
          "action_type": "low_emission_vehicle",
          "description": "Electric monitoring van used for 3 monitoring visits (84 miles total) — diesel counterfactual",
          "counterfactual_tco2e": 0.042,
          "actual_tco2e": 0.013,
          "avoided_tco2e": 0.029,
          "documentation": "GPS trip log, vehicle: 2026 Ford E-Transit, charging location WECC subregion"
        }
      ],
      "methodology_note": "Counterfactuals based on standard RCP proxy values for the applicable job type. Avoidance calculations follow GHG Protocol guidance on avoided emissions disclosure as supplementary information, distinct from the Scope 3 inventory.",
      "audit_note": "Avoided emissions are supplementary disclosures and do not reduce the reported actual emissions total. They are not offsets and should not be subtracted from the client Scope 3 inventory."
    }

    What Avoided Emissions Are Not

    Avoided emissions in the RCP framework are supplementary disclosures, not inventory adjustments. Three critical distinctions:

    They do not reduce the reported actual emissions total. The Scope 3 inventory reports what happened. Avoided emissions report what didn’t happen because of a deliberate choice. A client cannot subtract avoided emissions from their Scope 3 total — that would be double-counting avoidance as a reduction. The GHG Protocol treats avoided emissions as supplementary information outside the inventory boundary, and RCP follows this treatment.

    They are not carbon offsets. Offsets are purchased credits representing reductions achieved elsewhere. Avoided emissions are reductions achieved on the specific job being reported. A contractor cannot sell avoided emissions credits, trade them, or use them to offset other emissions unless they go through a formal carbon credit verification process, which is a separate and complex undertaking outside the RCP framework.

    They require documentation at the same standard as actual emissions. An avoided emissions claim with no supporting documentation is worthless for ESG reporting and creates liability under FTC Green Guides for any contractor who markets it. Every avoided emissions entry in an RCP Job Carbon Report needs a source document: a recycling facility weight receipt, a GPS trip log, a psychrometric log, a materials delivery receipt. The same audit trail required for actual emissions is required for avoidance claims.


    The Commercial Property Manager Perspective

    When a property manager with a GRESB or SBTi commitment receives an RCP Job Carbon Report that includes an avoided emissions summary, they receive something most of their restoration vendors cannot provide: evidence that their contractor is actively contributing to their Scope 3 reduction trajectory, not just generating a number.

    The practical use cases for property managers:

    • Annual sustainability report narrative: “In 2026, our restoration contractor network documented 47.3 tCO₂e of avoided emissions through waste diversion and dry-in-place techniques across 83 commercial property claims.”
    • SBTi supplier engagement evidence: Documented avoidance demonstrates that the contractor is taking action aligned with the client’s science-based targets, satisfying supplier engagement target requirements.
    • GRESB Management Component: Evidence of contractor sustainability practices supports management component indicators on supply chain engagement and vendor ESG requirements.

    RCP v1.1 Roadmap: Formal Avoidance Framework

    RCP v1.0 establishes the measurement standard. The avoided emissions framework described in this article is RCP guidance, not yet a formal v1.0 schema element. The following items are targeted for formalization in RCP v1.1:

    • JSON schema extension: avoided_emissions object with required fields for action_type, counterfactual_tco2e, actual_tco2e, avoided_tco2e, and documentation reference
    • Standardized counterfactual table: default counterfactual values for each of the three avoidance categories, analogous to the RCP proxy value table for actual emissions
    • Dry-in-place protocol: specific documentation requirements for Category A claims, including psychrometric log format, dry standard reference (IICRC S500), and affected area measurement methodology
    • Certified recycler registry: integration with a verified recycler directory (analogous to EcoClaim’s recycler directory) so that weight receipts from listed facilities carry a higher data quality designation than receipts from unlisted facilities
    • Portfolio avoidance summary: annual summary format that aggregates per-job avoided emissions across a client’s property portfolio, suitable for GRESB and SBTi supplier engagement reporting

    Contractors who want to begin documenting avoided emissions now can use the JSON structure and methodology described above. Records generated under this guidance will be compatible with the v1.1 formal schema.

    If you are generating avoided emissions data and would like to contribute to the v1.1 methodology development, contact rcp@tygartmedia.com. Primary data on actual avoidance outcomes — tons of drywall recycled, square footage successfully dried in place — is exactly what the RCP needs to build defensible proxy counterfactual tables for the next version.


    Sources and References


  • RCP Audit Readiness Guide: How to Prepare Emissions Data for Third-Party Verification

    Third-party verification of Scope 3 emissions data is no longer theoretical. California SB 253 requires limited assurance for Scope 3 emissions beginning in 2030. CSRD requires limited assurance for all emissions including Scope 3 from the date of initial reporting. GRESB added GHG data assurance as a newly scored metric in 2025. The direction of travel is clear: the per-job carbon data restoration contractors deliver to commercial clients will eventually be subject to external verification — not as a direct requirement on the contractor, but because the client’s verifier will examine the quality and traceability of the supplier data the client used to build their Scope 3 inventory.

    This guide explains what verifiers actually look for in Scope 3 contractor data, how the RCP framework satisfies those requirements by design, and what documentation you need to retain to be audit-ready when your clients’ verifiers come asking.


    The Two Levels of Assurance and What They Mean for Contractor Data

    Understanding assurance levels prevents confusion about what is actually being asked of you.

    Limited assurance is a negative assurance — the verifier is confirming they found nothing that makes the report materially wrong. It involves reviewing methodologies, sampling data points, and checking for internal consistency. For Scope 3 data from restoration contractors, a limited assurance engagement will typically review: whether the methodology is documented and consistent with the GHG Protocol, whether proxy values are sourced and labeled, and whether the total reported figure is internally consistent with the underlying calculation inputs.

    Reasonable assurance is a positive assurance — the verifier actively confirms the data is accurate. It involves re-performing calculations from source documents, testing internal controls, and in some sectors, site visits. For Scope 3 contractor data under reasonable assurance, verifiers will request the underlying source documents — GPS trip logs, waste manifests, purchase receipts — and verify that the calculation produces the reported number from those inputs.

    The practical implication: for limited assurance, methodology documentation and labeling of proxy data are sufficient. For reasonable assurance, you need the source documents. The RCP 12-point data capture standard is designed to collect exactly those source documents at the time of the job, making reasonable assurance retroactively possible without extra effort.


    The GHG Protocol’s Five Audit Principles — Applied to RCP Records

    The GHG Protocol Corporate Value Chain Standard specifies five principles that a Scope 3 inventory — and by extension, the contractor data that feeds it — must satisfy for assurance purposes. Understanding how RCP records satisfy each principle makes audit preparation straightforward.

    1. Relevance

    What verifiers check: Whether the emissions sources included reflect the actual emissions generated on behalf of the client, and whether any exclusions are documented and justified.

    How RCP satisfies this: The scope boundary section of the RCP Full Framework Document explicitly lists what is included and excluded, with justification for each exclusion. The job_type and damage_category fields in the RCP JSON schema ensure the correct emission domains are applied for each job type. No RCP-compliant record silently excludes a material emission source — exclusions must be documented in the data_quality.notes field.

    2. Completeness

    What verifiers check: Whether all material Scope 3 categories are covered and whether the reporting boundary is consistently applied across all jobs in the portfolio.

    How RCP satisfies this: The RCP portfolio summary covers all jobs at a client’s properties during the reporting period. The four GHG Protocol categories covered (Cat. 1, 4, 5, 12) are documented in the framework as the complete set of material categories for restoration work. A verifier can confirm completeness by checking that every invoiced job appears in the portfolio summary.

    3. Consistency

    What verifiers check: Whether the same methodology and emission factors are applied across all jobs, and whether year-over-year comparisons are valid.

    How RCP satisfies this: The schema_version field (“RCP-JCR-1.0”) ensures every record uses the same schema. The emission factor vintage is documented in the framework (“EPA 2025 EF Hub, EPA eGRID 2023, EPA WARM v16”). When CARB or EPA updates emission factors, the RCP patch version increments, creating a clear record of when methodology changed. Verifiers can request the emission factor table used and verify it matches the published RCP version for that reporting year.

    4. Transparency

    What verifiers check: Whether methodology is fully disclosed, proxy values are labeled, and the calculation can be reproduced from the disclosed inputs and factors.

    How RCP satisfies this: The data_quality section of every RCP Job Carbon Report explicitly lists which data points are primary and which are proxy-estimated. The calculation_method field in each domain section identifies whether primary or proxy methodology was used. The emission factors are published in the RCP Emission Factor Reference Table with source citations. A verifier provided with an RCP JSON record, the proxy value table, and the raw source documents can reproduce the reported number independently.

    5. Accuracy

    What verifiers check: Whether the quantification is systematic, consistent, and not materially biased toward over- or under-reporting.

    How RCP satisfies this: The proxy value hierarchy (primary > derived primary > job-specific proxy > national average proxy) ensures that the calculation uses the most accurate available data for each input. The data_quality section’s primary_data_points list lets verifiers assess what fraction of the total is based on primary data. The systematic use of EPA-sourced emission factors — not custom or proprietary factors — provides a defensible, auditor-recognized basis for every number.


    What Source Documents to Retain and for How Long

    The following source documents underpin each of the 12 RCP data points. Retain these at the job level, linked to the job ID, for a minimum of seven years. This covers the typical verification lookback period under CSRD (5 years) plus margin.

    Data Point Source Document to Retain Assurance Level Required
    1 — Vehicle log GPS trip export or odometer log with vehicle ID, date, start/end location, miles Reasonable assurance
    2 — Waste transport Disposal facility weight receipt or manifest with facility name, date, weight, material type Reasonable assurance
    3 — Equipment power source Job notes confirming building power or generator fuel purchase receipt Limited assurance
    4 — Chemical treatments Purchase order or supply requisition for chemicals used on this job, with quantities Limited assurance
    5 — PPE consumption Supply order by job or proxy rate table reference if job-specific data unavailable Limited assurance (proxy acceptable)
    6 — Containment materials Close-out notes with quantities or proxy rate table reference Limited assurance (proxy acceptable)
    7 — Debris volume Disposal facility weight receipt (see Data Point 2) or dumpster manifest Reasonable assurance
    8 — Disposal method/facility Disposal facility receipt naming the facility and disposal method Reasonable assurance
    9 — Demolished materials Demolition scope from job file (Xactimate estimate or written scope), photo documentation Reasonable assurance
    10 — Replacement materials Purchase orders or materials delivery receipts with quantities Reasonable assurance (if in scope)
    11 — Job classification Initial assessment documentation with damage category, class, and affected area Limited assurance
    12 — Job timeline Job management system record with start and completion dates Limited assurance

    How RCP Records Are Treated by Verifiers Under Limited vs. Reasonable Assurance

    When a property manager’s verifier reviews their Scope 3 inventory under limited assurance, they will typically sample a subset of vendor records — often 10–20% of the total by value — and check for: consistency with stated methodology, that proxy records are labeled as such, and that the calculation produces a plausible number given the stated activity. An RCP JSON record satisfies all three checks without additional preparation, because the schema enforces methodology documentation, proxy labeling is required in the data_quality section, and the calculation is transparent and reproducible.

    Under reasonable assurance, the verifier may specifically request source documents for the sampled records. This is where the seven-year document retention requirement becomes material. A contractor who can produce the disposal facility receipt, the GPS trip log, and the Xactimate estimate for a job from 18 months ago has converted a potential audit finding into a zero-question pass.

    The most common Scope 3 audit finding for contractor data is: proxy data used without documentation of why primary data was unavailable. The RCP data_quality.notes field is specifically designed to prevent this. Every proxy-based data point should have a note explaining why primary data was unavailable: “Vehicle mileage estimated from dispatch records — GPS fleet system not yet deployed” is a valid and audit-acceptable explanation. Silence is not.


    The Chain of Custody for RCP Data

    Verifiers are increasingly attentive to the chain of custody for supplier data — how data traveled from the source activity to the reported number in the client’s inventory. For RCP records, the chain of custody is:

    1. Source activity: Vehicle trip, equipment run, waste disposal event
    2. Source document: GPS log, manifest, purchase receipt
    3. Data entry: Job management system (Encircle, PSA, Dash, manual log)
    4. RCP calculation: Activity data × emission factor = kg CO₂e per domain
    5. RCP Job Carbon Report: JSON record with emissions summary and data quality metadata
    6. Client delivery: Email, ESG platform upload, or API transmission
    7. Client inventory: Aggregate Scope 3 figure in GRESB/CDP/SB 253 disclosure

    Each link in this chain should be documentable. When a verifier asks “how did this number get into the inventory?” you should be able to walk from step 1 to step 7 for any sampled job.


    Conducting Your Own Pre-Audit Review

    Before your clients face their first verified Scope 3 disclosure cycle, run a pre-audit review of your own RCP records. The GHG Protocol explicitly recommends that inventory preparers treat each verification cycle as a learning process. For restoration contractors, a practical pre-audit review involves:

    1. Pull the portfolio summary for your largest commercial client for the most recent year. Count the total jobs and total tCO₂e reported.
    2. Sample 5 jobs — pick 2 large, 2 medium, 1 small by affected area. For each, verify you can locate all 12 data point source documents.
    3. Check proxy labeling. For every job where a proxy was used, confirm the data_quality section identifies the proxy data points and the notes field explains why.
    4. Reproduce one calculation. Take one job record and manually calculate the emissions from the source documents. Verify it matches the reported total within rounding.
    5. Check version consistency. Verify all records in the portfolio used schema_version “RCP-JCR-1.0” and the same emission factor vintage. Mixed vintages require disclosure.
    6. Document your findings. A one-page internal review memo noting what you checked and what you found creates a quality control record that verifiers view favorably as evidence of internal controls.

    The Version Control Requirement

    If a Job Carbon Report is corrected after delivery — because a waste manifest weight was updated, a vehicle mileage was corrected, or a proxy value was replaced with primary data — the corrected record must be issued as a new version. The version increment convention for RCP Job Carbon Reports is appending a revision suffix to the job ID: JOB-2026-04847-R1, JOB-2026-04847-R2, etc. The data_quality.notes field must document what changed and why. The original record should be retained alongside the revision — verifiers may ask why a record was corrected.


    Assurance Standards Your Clients’ Verifiers Will Use

    Different verifiers use different professional standards for GHG assurance. The most common frameworks your clients’ verifiers will reference:

    • ISAE 3000: The International Standard on Assurance Engagements (Revised) — the dominant framework for GHG assurance in the EU and used by the Big Four accounting firms globally
    • ISO 14064-3: Specification with guidance for the validation and verification of GHG statements — widely used in the US and internationally
    • AA1000AS: AccountAbility Assurance Standard — common in voluntary sustainability reporting contexts
    • CSAE 3410: Canadian standard, referenced by SB 253 as an acceptable framework

    None of these standards create requirements that a contractor must meet directly — they govern how the verifier conducts the engagement. But understanding them helps you know what questions to expect if a client’s verifier contacts you directly about sampled records.


    Sources and References


  • RCP and EU CSRD: What US Contractors with EU-Exposed Clients Need to Know

    The EU Corporate Sustainability Reporting Directive (CSRD) is already in effect for large EU companies and is progressively expanding to cover more organizations through 2026. For US-based restoration contractors, CSRD becomes relevant not because they fall under the directive themselves — they almost certainly don’t — but because their clients might. If your commercial property clients include EU-listed entities, US subsidiaries of EU parent companies, or US real estate funds with EU institutional investors who are themselves CSRD-obligated, the data quality standard they need from you is different from and more demanding than GRESB or California SB 253 alone.


    What CSRD Is and Who It Covers

    The CSRD requires companies to report on their environmental, social, and governance impacts under European Sustainability Reporting Standards (ESRS). It applies to large EU-based companies (those with over 250 employees, €40M revenue, or €20M balance sheet), all companies listed on EU-regulated markets regardless of size, and — importantly — non-EU companies with substantial EU operations or revenues above €150M within the EU.

    The EU implementation timeline: Large companies already subject to the Non-Financial Reporting Directive (NFRD) began reporting under CSRD in 2024 for their 2023 data. Large companies not previously subject to NFRD report from 2025 (for 2024 data). Listed SMEs and certain financial institutions follow from 2026.

    In February 2025, the European Commission adopted an Omnibus package proposing to limit mandatory CSRD reporting to companies with more than 1,000 employees, reducing the number of companies in scope. This proposal is moving through the EU Parliament and Council. Until formally adopted, the existing CSRD obligations remain in force.


    The Double Materiality Concept and Why It Matters for Contractors

    CSRD introduces the concept of double materiality — companies must assess both how their activities impact climate and society (impact materiality) and how climate and social factors affect their business financially (financial materiality). This is a more demanding standard than the financial-only materiality used by US frameworks.

    For restoration contractors serving CSRD-obligated property clients, double materiality means the client must assess not just the financial risk of the contractor’s emissions to the property portfolio, but also the actual environmental impact of restoration work on climate systems. This makes the per-job emissions calculation — not just a portfolio-level estimate — more important in the CSRD context.


    ESRS E1: The Specific Standard Where Restoration Contractor Data Is Used

    European Sustainability Reporting Standard E1 (Climate Change) is the ESRS standard that governs GHG emissions reporting under CSRD. ESRS E1 requires companies to disclose:

    • Gross Scope 1, 2, and 3 GHG emissions in metric tons CO₂e
    • Total GHG emissions (Scope 1 + 2 + 3)
    • GHG intensity metrics
    • Disclosure of significant Scope 3 categories and the methodology used to calculate them
    • The percentage of Scope 3 emissions calculated using primary data vs. spend-based or other estimation approaches

    That last point — the percentage of Scope 3 calculated using primary data — is where RCP creates direct value for CSRD-reporting clients. ESRS E1 explicitly rewards primary data quality. A client that can say “67% of our Scope 3 Category 1 emissions from restoration contractors are calculated from primary job-level data using a standardized methodology” is in a materially better ESRS E1 position than one relying on spend-based estimates.


    How to Identify Whether Your Client Has CSRD Exposure

    Signs that a commercial property client may have CSRD obligations or exposure:

    • They are a US subsidiary of a European parent company — the EU parent’s CSRD reporting will include the US subsidiary’s supply chain emissions
    • They are a US REIT or property fund with EU institutional limited partners — the EU LPs may be CSRD-obligated and require portfolio-level supply chain data from their investments
    • Their annual sustainability report references CSRD, ESRS, double materiality, or EU taxonomy compliance
    • They are a multinational with EU revenues above €150M — potentially directly in scope for CSRD’s non-EU company provisions
    • Their ESG team has asked for supplier Scope 3 data with methodology disclosure (a common CSRD data collection pattern)

    What CSRD-Obligated Clients Need from RCP Records

    For a CSRD-reporting client, the RCP Job Carbon Report provides the following ESRS E1 inputs:

    • GHG emissions by Scope 3 category: The emissions_summary section maps directly to ESRS E1 Scope 3 category disclosure
    • Primary data percentage disclosure: The data_quality section’s primary_data_points list enables the client to calculate what percentage of your reported emissions are primary-data-backed
    • Methodology disclosure: The reporting_standard field (“Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard”) provides the methodology reference ESRS E1 requires
    • Emission factor vintage: ESRS E1 requires disclosure of the emission factors used. RCP’s emission factor reference table provides this with source citations

    One important difference for CSRD vs. GRESB: ESRS E1 requires gross emissions, not net. Do not apply any offset or renewable energy credit adjustments to RCP records delivered to CSRD-reporting clients. Deliver the gross calculation only.


    The Practical Implication: Methodology Documentation Matters More

    For SB 253 or GRESB, a well-structured number with a plausible methodology is generally acceptable. For CSRD, the methodology disclosure itself is a reporting requirement — auditors will examine whether the stated methodology is credible and consistently applied. The RCP framework’s explicit source citations for every emission factor, its defined proxy hierarchy, and the data_quality section of the Job Carbon Report are not administrative overhead — they are the audit trail that CSRD-reporting clients need.

    If you serve clients with CSRD exposure, ensure that every RCP Job Carbon Report delivered to them is fully populated through the data_quality section, with primary vs. proxy data points explicitly flagged and any unusual circumstances noted in the free-text notes field.


    Sources and References


  • RCP and SBTi: What Restoration Contractors Need to Know About Science-Based Targets

    Science Based Targets initiative (SBTi) commitments have reached 10,000 validated companies globally as of January 2026. Among those companies are many of the commercial property owners, REITs, and institutional real estate operators who hire restoration contractors. When your client has an SBTi commitment, the data quality standard they need from your RCP Job Carbon Reports is materially higher than what GRESB or CDP alone require. This article explains the difference, what it means for the data you deliver, and how the SBTi landscape is changing through 2028.


    What SBTi Is and Why It Affects Your Clients

    The Science Based Targets initiative is a collaboration between CDP, the UN Global Compact, the World Resources Institute, and WWF. It provides a framework for companies to set emissions reduction targets that are scientifically aligned with limiting global warming to 1.5°C. Companies that commit to SBTi submit their targets for validation and are required to report progress annually.

    The current operative standard is the Corporate Net-Zero Standard V1.3, released September 2025. These updates are non-substantive minor revisions improving clarity and alignment with the GHG Protocol — they do not alter the ambition level or intent of the Standard. Companies may continue setting targets under V1.3 through 2027. Version 2.0 is expected to become mandatory for new targets from January 1, 2028, following publication in 2026.


    The 67% Rule: Why Scope 3 Coverage Is Mandatory

    Here is the specific SBTi requirement that makes restoration contractors relevant to their clients’ climate programs: to be in line with SBTi Criteria, companies must set Scope 3 targets — supplier engagement targets and/or reduction targets — that collectively cover at least 67% of total Scope 3 emissions, if those emissions represent over 40% of their total Scope 1, 2, and 3 emissions.

    For commercial real estate companies, Scope 3 emissions represent well over 40% of their total footprint — typically 85–95%. This means every commercial property owner with an SBTi commitment is required to set supplier engagement targets covering at least 67% of their Scope 3. Restoration contractor work sits in their Scope 3. If restoration spend is material enough to be in that 67% coverage boundary — and for large property portfolios with significant loss history, it can be — they need your emissions data.

    Supplier engagement targets require suppliers to set SBTi-approved targets themselves, usually within 3–5 years. This is the escalation path: right now, your clients need your per-job carbon data. Within 3–5 years, some will require you to set your own science-based targets as a condition of preferred vendor status.


    What SBTi Data Quality Requirements Mean for RCP Records

    The SBTi Corporate Net-Zero Standard V1.3 states that companies must collect high-quality primary data from suppliers and other value chain partners for Scope 3 activities. This is a stricter bar than GRESB or CDP, which accept supplier-estimated data with appropriate disclosure. For SBTi-committed clients, the preference hierarchy is:

    1. Primary data: Metered kWh, weighed waste manifests, GPS-derived vehicle miles. RCP records flagged as “primary_data_points” in the data_quality section.
    2. Activity-based secondary: Calculated from documented activity (miles × mpg × emission factor). Still a defensible RCP record with proper calculation_method flagging.
    3. Spend-based or proxy: Acceptable for initial Scope 3 inventory building, but not sustainable as a primary data source for SBTi reporting. RCP proxy records should be actively replaced with primary data as job management systems improve.

    The practical implication: if your largest commercial clients have SBTi commitments, prioritize metered equipment energy and manifest-confirmed waste weights on their properties. The RCP data_quality section explicitly distinguishes primary from proxy data points — use it to show your SBTi-committed clients that their records are primary-data quality where possible.


    SBTi V2.0: What’s Coming and What It Means

    The draft V2.0 standard moves away from fixed percentage thresholds, instead encouraging companies to prioritize Scope 3 emissions based on intensity of activities and where they have the greatest influence. This is a meaningful shift. Under V1.3, clients must cover 67% of Scope 3 by emissions volume. Under V2.0, they may need to cover the categories where they have the most procurement influence — which may or may not include restoration, depending on their portfolio.

    The new standard may require companies to set supplier engagement targets with the goal of increasing the number of Tier 1 suppliers transitioning to net-zero compatible performance. Restoration contractors are Tier 1 suppliers for their commercial property clients. Being RCP-certified and showing a documented emissions reduction trajectory positions you as a net-zero-compatible vendor before your clients are required to ask.


    How to Identify Whether Your Client Has an SBTi Commitment

    The SBTi maintains a public Target Dashboard at sciencebasedtargets.org/target-dashboard. Any company with a validated SBTi target or a commitment to set one appears there. Search your top commercial clients by company name before your next renewal conversation. If they appear on the dashboard, the data quality bar is higher than if they are GRESB-only reporters.

    Signs a client has or is moving toward an SBTi commitment: they have a net-zero pledge on their website with a year attached, they reference “science-based targets” in procurement communications, they are a GRESB “Green Star” participant, or their investor base includes institutional investors with their own SBTi commitments (who in turn pressure portfolio companies).


    The RCP as Pre-Positioning for SBTi Supplier Engagement

    When a commercial client with an SBTi commitment initiates a supplier engagement program — asking vendors to provide emissions data and eventually set their own targets — the contractors with established RCP records are in a fundamentally different position than those starting from zero. You already have the data infrastructure. You already know your per-job emissions. You already have a documented trajectory if you have implemented any reduction levers from the RCP Carbon Reduction Playbook.

    The contractor who can respond to a supplier engagement questionnaire with two years of RCP portfolio data and a documented 15% reduction in per-job emissions is not a compliance burden to the client — they are evidence that the engagement program works.


    Sources and References


  • RCP Carbon Reduction Playbook: How Restoration Contractors Cut Their Scope 3 Footprint

    Every RCP article published so far covers how to measure Scope 3 emissions from restoration work. This one covers something different: how to reduce them. Measurement without a reduction pathway is compliance theater. The contractors who win long-term commercial relationships are not the ones who hand over a carbon number — they are the ones who show a trajectory. This playbook gives you the operational levers, the realistic timelines, and the actual emission reduction math for each.

    A realistic 30% reduction in per-job Scope 3 emissions by 2030 is achievable for most commercial restoration operations. It requires no exotic technology, no wholesale fleet replacement in year one, and no sacrifice of job performance. It requires a sequence of deliberate decisions made over four years.


    Where Your Emissions Actually Come From

    Before you can reduce emissions, you need to know what generates them. Across the five RCP job types, transportation (Domain 2) consistently accounts for the largest share of per-job emissions — typically 45–65% of total job Scope 3 — followed by demolished materials (Domain 5) at 15–30%, with equipment energy, consumable materials, and waste disposal making up the remainder.

    This matters because it tells you where to focus. Fleet electrification and route optimization attack the largest emission source. Material substitution attacks the second-largest. Equipment energy reduction is meaningful but secondary to the first two. The playbook is sequenced accordingly.


    Lever 1: Fleet Electrification — The Highest-Impact Reduction

    Transportation is the dominant emission source in restoration Scope 3 because restoration work is inherently mobile — multiple daily trips, equipment-laden vehicles, waste hauling. Every gallon of diesel your fleet burns generates 10.21 kg CO₂e. Replacing a diesel van with an electric equivalent driven on US average grid electricity generates approximately 0.35 kg CO₂e per kWh consumed, which at typical commercial van efficiency (0.4–0.5 kWh/mile) translates to roughly 0.14–0.18 kg CO₂e per mile — compared to 0.47 kg CO₂e per mile for a diesel van at 22 mpg. That is a 60–70% per-mile emissions reduction on day one of EV operation.

    EV Options Available Now for Restoration Fleets (2026)

    The Ford E-Transit remains the most affordable and most widely available electric cargo van on the market, starting at approximately $53,000–$60,000 depending on configuration, with a maximum estimated range of about 159 miles. The 2026 Ram ProMaster EV offers a 200-kilowatt electric motor with 268 horsepower, 302 pound-feet of torque, a maximum payload of 3,161 pounds, and a combined driving range of up to 164 miles.

    Both vans are production-ready and available now. Critical note for restoration operations: federal EV tax credits expired on September 30, 2025, so fleet EV economics now depend entirely on fuel and maintenance savings rather than purchase incentives.

    Which Vehicles to Electrify First

    Not all restoration vehicles are equally suitable for immediate electrification. The 159–164 mile daily range of current commercial EVs constrains which duty cycles work. The priority sequence:

    • Immediate candidates (electrify now): Daily monitoring and check visit vehicles — the vans that drive to job sites for psychrometric readings and equipment checks. These make predictable, short-radius trips (typically 20–50 miles round trip) that are well within EV range and return to base each night for charging.
    • 2027–2028 candidates: Initial response and equipment delivery vehicles — longer trips but predictable from a home base. Suitable once charging infrastructure at the depot is established.
    • Longer-term (2028+): Equipment trailer towing and heavy haul vehicles. EV towing range is significantly reduced; wait for next-generation commercial EVs with extended range before committing here.

    The Reduction Math

    A typical mid-size restoration company runs 5 service vans, each averaging 15,000 miles per year for job-related trips. At 22 mpg diesel, that is 3,409 gallons of diesel annually across the fleet, generating 34,806 kg CO₂e per year from fleet operations alone. Replacing 2 monitoring vans with EVs at the WECC grid emission factor (0.27 kg CO₂e/kWh, cleaner than national average) reduces fleet emissions by roughly 12,000 kg CO₂e per year — a 35% reduction in fleet emissions with just 2 vehicles changed.


    Lever 2: Route Optimization — Immediate, Zero-Cost

    Before spending on new vehicles, optimize the trips you are already making. Monitoring visit frequency is the easiest lever. IICRC S500 requires psychrometric monitoring at minimum every 24 hours, but many contractors visit more frequently than necessary during stable drying periods. Reducing a 5-day drying job from 5 monitoring visits to 3 (initial setup, mid-point check, close-out) reduces Category 4 transportation emissions by 40% on that job with no impact on drying outcome, provided moisture readings confirm stable drying progression.

    Remote monitoring technology — IoT moisture sensors that transmit readings without technician presence — can reduce physical monitoring visits further. The emissions reduction from eliminating one 40-mile round trip per day on a 5-day job is approximately 18 kg CO₂e per job, which compounds meaningfully across a high-volume portfolio.

    Consolidated equipment runs — combining equipment delivery and pickup for multiple jobs in a single route — reduce per-job transportation emissions without changing equipment or crew. A fleet management system that plans equipment logistics across active jobs rather than individually can reduce monitoring and equipment trip mileage by 15–25%.


    Lever 3: Low-Carbon Material Substitution

    Demolished and replacement materials are the second-largest emission source in most restoration jobs. Two substitution opportunities stand out as practical and commercially available:

    Insulation: Switch from Fiberglass to Cellulose

    Cellulose insulation, made from recycled paper, offers a carbon footprint of just 0.2 to 1.1 kg CO₂e per square meter per inch of thickness, compared to fiberglass insulation which ranges from 1.7 to 2.5 kg CO₂e per square meter per inch. For restoration contractors who control the material specification on reconstruction scope, switching to cellulose where applicable cuts insulation-related emissions by roughly 60–75%. Cellulose is also well-suited to restoration applications — dense-pack cellulose can be pneumatically injected into wall cavities without demolition, which itself reduces Category 4 (haul-away) and Category 12 (demolished materials) emissions simultaneously.

    Drywall: Source Recycled-Content Product

    Standard gypsum drywall has an emission factor of approximately 0.12 kg CO₂e/kg. High recycled-content drywall (products with 95%+ post-industrial gypsum content) carry materially lower production emissions — some EPD-verified products report as low as 0.06 kg CO₂e/kg, a 50% reduction. This substitution requires no change in installation practice or performance specification. The primary requirement is supplier selection and EPD documentation for auditability.

    Carpet: Specify Recycled-Content Nylon

    Standard nylon carpet carries an emission factor of 5.40 kg CO₂e/kg — the highest of any common restoration replacement material. Carpet products with high recycled nylon content (from post-consumer carpet) carry meaningfully lower embedded carbon, with some EPD-verified products reporting 30–40% lower production emissions. For restoration contractors involved in carpet replacement, specifying recycled-content nylon where client specifications allow reduces Category 1 material emissions substantially.


    Lever 4: Equipment Energy — Grid Decarbonization and Efficiency

    Equipment energy (Domain 1) is a meaningful but secondary emission source. Two approaches apply:

    Passive: Grid Decarbonization Does the Work

    If your equipment runs on building electricity, your equipment energy emissions will decline automatically as the US grid decarbonizes. The EPA eGRID national average was 0.3499 kg CO₂e/kWh in 2023. The EIA projects continued grid decarbonization through 2030 as renewable capacity additions outpace demand growth. For contractors operating in WECC (Western US), the subregion factor is already significantly lower (approximately 0.27 kg CO₂e/kWh). Simply using eGRID subregion factors rather than the national average can show meaningful reductions on paper for contractors in clean-grid markets.

    Active: Energy-Star Equipment Selection

    When replacing drying equipment, prioritize Energy Star certified dehumidifiers. Energy Star certified commercial dehumidifiers use at least 15% less energy per pint of moisture removed than non-certified units. Across a fleet of 20 LGR dehumidifiers running on an average of 3 days per job at 24 hours per day, a 15% efficiency improvement reduces per-job equipment energy emissions by approximately 20 kg CO₂e — meaningful at scale, particularly for high-volume operations.


    Lever 5: Waste Diversion from Landfill

    Landfill disposal generates 0.021 metric tons CO₂e per short ton of mixed C&D waste. Recycling the same material eliminates the landfill methane contribution. For drywall specifically — which is 100% recyclable gypsum — landfill disposal generates 0.006 tCO₂e/ton while recycling to a gypsum recycler generates near zero. Many regional gypsum recyclers accept clean drywall waste, and some offer jobsite dumpster pickup directly.

    For a typical commercial water damage job generating 2 tons of mixed C&D debris, diverting drywall fraction (often 40–50% of demolition waste by weight) to a recycling facility reduces Category 5 waste disposal emissions by approximately 40% on that stream. This requires establishing a relationship with a regional C&D recycler and documenting the diversion for data quality purposes.


    The 30% Reduction Roadmap: 2026–2030

    Year Actions Estimated Reduction vs. 2026 Baseline
    2026 Establish baseline (12-point RCP data capture on all commercial jobs). Begin route optimization and monitoring visit consolidation. Establish drywall recycling relationship with regional recycler. 5–8% from route optimization and waste diversion alone
    2027 Electrify 1–2 monitoring vehicles (E-Transit or ProMaster EV). Begin specifying cellulose insulation where applicable. Switch to recycled-content drywall for standard losses. 12–18% cumulative
    2028 Expand EV fleet to response vehicles. Install depot charging at primary office. Implement IoT monitoring sensors on high-value commercial losses to eliminate physical monitoring visits. 20–25% cumulative
    2029–2030 Replace next diesel van cycle with EV. Implement Energy Star equipment policy for all dehumidifier replacements. Expand drywall recycling to all jobs. Document and deliver annual RCP portfolio summary to key commercial clients. 30%+ cumulative — meaningful for commercial client SBTi and GRESB reporting

    How to Present This to Commercial Clients

    The reduction roadmap becomes a sales and retention tool when you present it proactively. Commercial property managers with SBTi commitments or GRESB targets need their Scope 3 supply chain to show a reduction trajectory — not just a static measurement. A contractor who can say “here is our 2026 baseline, here is our 2028 target, and here is how we are getting there” is materially more valuable as a long-term vendor than one who simply produces a number.

    The annual RCP Portfolio Summary — a document that aggregates all per-job carbon reports for a specific client’s properties across the reporting year, shows a per-job average, and includes a year-over-year comparison once a second year of data exists — is the vehicle for this conversation. It takes the per-job Job Carbon Report data and turns it into the portfolio-level trend that ESG reporting requires.


    Sources and References


  • How to Integrate RCP Data into Encircle, PSA, Dash, and Xcelerate

    The Restoration Carbon Protocol was designed from the start to be implemented by software, not filled out by hand. The 12 RCP data points map almost entirely to fields that restoration job management platforms already capture — or can capture with minimal configuration. This guide is a direct call to action to the restoration software industry: Encircle, PSA, Dash, Xcelerate, Albiware, Restoration Manager, and any platform serving restoration contractors. Here is exactly what RCP compatibility requires and how to implement it.


    The Business Case for Software Vendors

    Restoration platforms that implement RCP compatibility give their contractor customers a differentiator that commercial property managers will actively request. As California SB 253 Scope 3 reporting requirements come into effect in 2027 and GRESB, CDP, and CSRD pressure continues to build, commercial clients will increasingly require their restoration vendors to provide per-job carbon data. The contractor that can push a button and produce an RCP-compliant Job Carbon Report wins the commercial renewal. The platform that makes that button possible wins the contractor.

    RCP compatibility is also a concrete AI-era feature: it transforms job documentation from a liability tool into a value delivery mechanism. Every well-documented job becomes a carbon asset that the contractor can monetize with commercial clients.


    Platform-by-Platform RCP Compatibility Analysis

    Encircle

    Encircle’s strength is field documentation — photos, moisture readings, drying logs, contents inventories, and report generation. It is the platform closest to capturing the data RCP needs at the source.

    RCP Data Point Encircle Field / Location Implementation
    1 — Vehicle log Not currently captured natively Add custom “Vehicle Trips” section to job close-out form: vehicle type, fuel type, trip count, miles
    3 — Equipment power source Drying log / equipment log Add “Power Source” toggle (building power / generator) to equipment placement form. If generator, add fuel type and gallons fields.
    4 — Chemical treatments Notes / photo documentation Add structured chemical application form: product type, volume in liters, application area. Currently unstructured.
    5 — PPE consumption Not currently captured Add PPE close-out field to job form with unit counts by type. Can default to RCP proxy rates based on damage category/class.
    6 — Containment materials Contained loss setup photos (unstructured) Add structured containment log: poly sheeting meters, zipper door count, HEPA filter replacements.
    7, 8 — Waste log Not currently captured Add waste manifest section to close-out: waste type, weight (tons), disposal method, facility name. Manifest photo upload.
    9 — Demolished materials Scope of work / room sketcher Link demolition scope to material weight calculation. Encircle already captures sqft demolished; apply RCP weight-per-sqft table to produce weight by material type.
    11 — Job classification ✅ Damage category and class, job type, sqft — already captured No change needed. Map Encircle category/class fields directly to RCP job_identification fields.
    12 — Job timeline ✅ Start and completion dates — already captured No change needed. Direct mapping to RCP job_start_date and job_completion_date.

    RCP JSON export implementation: Encircle’s existing report generation engine can be extended to produce an RCP-JCR-1.0 JSON file as an additional report type at job close-out. The JSON structure maps directly to Encircle’s data model with the additions described above.

    PSA (Canam Systems)

    PSA is a full job management, CRM, and accounting platform with open API access. It integrates with Xactimate, XactAnalysis, Encircle, and Matterport. PSA’s open API makes it the platform most ready for RCP integration without UI changes.

    RCP Data Point PSA Field / Module Implementation
    1 — Vehicle log Job tasks / time tracking Add vehicle dispatch fields to job tasks: vehicle ID, fuel type, departure/return mileage. Or pull from GPS integration if enabled.
    4-6 — Materials and PPE Job expenses / purchase orders Map RCP chemical, PPE, and containment line items to job expense categories. Add RCP category tags to existing expense item types.
    7-8 — Waste log Job expenses / subcontractor Add waste disposal as structured expense type with weight, method, and facility fields. Currently tracked as cost, not as physical quantity.
    9 — Demolished materials Job scope / Xactimate import Parse Xactimate line items for demolition scope. Map Xactimate line item codes to RCP material types. Weight is derivable from sqft and material type.
    11-12 — Classification, timeline ✅ Job intake form — already captured Direct mapping. PSA damage type and class fields map to RCP job_type, damage_category, damage_class.

    API integration path: PSA’s open API allows an RCP calculation engine to pull job data at close-out, compute emissions, and POST the resulting RCP-JCR-1.0 JSON to a client-facing endpoint or ESG platform directly. This is the most powerful implementation path and requires no UI changes to PSA itself.

    Dash (Next Gear Solutions)

    Dash is a full restoration business management platform with Xactimate integration and strong insurance claims workflow support. Its equipment tracking and job financials modules are the primary RCP integration points.

    RCP Data Point Dash Module Implementation
    1 — Vehicle log Job scheduling / dispatch Add vehicle type, fuel type, and round-trip miles to dispatch records. GPS integration if available.
    3 — Equipment power source Equipment tracking Add “Power Source” field to equipment deployment record. Dash tracks equipment placement dates already — add power source and generator fuel log.
    9 — Demolished materials Xactimate integration Same as PSA — parse Xactimate line items for RCP material type mapping.
    11-12 — Classification, timeline ✅ Job type, dates — captured Direct mapping from Dash job record to RCP fields.

    Xcelerate

    Xcelerate focuses on operational efficiency and field capture with workflow management and daily checklists. Its customizable daily checklist system is the primary integration point for RCP data capture.

    The Xcelerate daily checklist can be configured to include RCP data fields at each technician check-in: vehicle mileage logged, equipment runtime hours, materials consumed. This captures data points 1, 3, 4, 5, and 6 as part of the existing technician workflow with no additional friction. At job close-out, waste and demolished materials fields complete the 12-point record.


    The Xactimate Integration Opportunity

    Xactimate is the dominant estimating platform across the restoration industry. Its line-item scope database defines what was removed and replaced on virtually every insurance-backed restoration job in the US. This creates a unique RCP integration opportunity: Xactimate line items can be mapped to RCP material types automatically.

    A partial Xactimate → RCP material type mapping:

    Xactimate Category RCP Material Type Weight Proxy
    DRY — Drywall remove and replace drywall_standard 2.2 lbs/sqft (½” standard)
    FLR — Carpet remove and replace carpet 0.75 lbs/sqft
    FLR — Vinyl / LVP remove and replace lvp_flooring 1.2 lbs/sqft
    INS — Insulation remove and replace insulation_fiberglass 0.5 lbs/sqft (batt, 3.5″)
    FRM — Framing remove and replace lumber_framing 1.5 lbs/lf (2×4 stud)

    A software vendor that implements this mapping can auto-populate RCP data points 9 and 10 directly from the Xactimate estimate on any job where an estimate exists — which is the majority of commercial losses. This is the single highest-leverage implementation step in the entire RCP software integration roadmap.


    The API Call Structure for RCP Data Exchange

    For platforms that want to push RCP data to a client-facing endpoint or ESG platform, the standard API pattern is:

    POST /api/rcp/v1/job-carbon-reports
    Content-Type: application/json
    Authorization: Bearer {api_key}
    
    {
      "schema_version": "RCP-JCR-1.0",
      "job_identification": { ... },
      "emissions_summary": { ... },
      "transportation": { ... },
      "materials": { ... },
      "waste": { ... },
      "demolished_materials": { ... },
      "data_quality": { ... }
    }
    
    Response 201 Created:
    {
      "record_id": "RCP-2026-04847",
      "status": "accepted",
      "validation_warnings": [],
      "client_notification": "sent"
    }

    For ESG platforms that receive RCP data from multiple contractors (Measurabl, Yardi Elevate, Deepki, Atrius), the recommended intake pattern is a webhook endpoint that accepts POST requests with RCP-JCR-1.0 JSON bodies, validates against the published schema, and maps emissions totals to the platform’s Scope 3 category data model.


    RCP Compatibility Certification for Platforms

    Software platforms that implement RCP compatibility will be listed on the RCP-compatible platforms registry (forthcoming at tygartmedia.com/rcp). To qualify:

    1. Capture all 12 RCP data points (primary or proxy with documentation)
    2. Produce valid RCP-JCR-1.0 JSON output that validates against the published schema
    3. Label proxy-estimated data points in the data_quality section
    4. Notify Tygart Media at rcp@tygartmedia.com with a sample output record

    Compatibility certification is free. It is a recognition that the platform meets the RCP standard, not a paid endorsement.


    Sources and References


  • RCP v1.0 Full Framework Document — The Complete Restoration Carbon Protocol Standard

    The Restoration Carbon Protocol (RCP) is an open industry self-standard for calculating, documenting, and reporting Scope 3 greenhouse gas emissions from restoration contractor work. It is the first framework purpose-built for the restoration industry to enable contractors to provide defensible, auditor-acceptable emissions data to commercial property managers, REITs, institutional investors, government agencies, and ESG reporting platforms.

    This document is the complete RCP v1.0 specification. It supersedes and consolidates all individual RCP knowledge nodes published at tygartmedia.com/esg-restoration. This is the document you share with RIA, with software vendors, with ESG consultants, and with any organization that wants to understand, adopt, or build on the standard.

    Version: RCP v1.0
    Published: April 2026
    Published by: Tygart Media — tygartmedia.com
    License: Open — free to use, implement, and build upon with attribution
    GHG Protocol alignment: Corporate Value Chain (Scope 3) Accounting and Reporting Standard
    Emission factor vintage: EPA 2025 GHG Emission Factors Hub, EPA eGRID 2023, EPA WARM v16


    Part I: Purpose and Scope

    Why RCP Exists

    Commercial property managers, REITs, hospital systems, and institutional facility owners face mandatory Scope 3 greenhouse gas disclosure requirements under California SB 253 (effective 2027 for Scope 3), the EU Corporate Sustainability Reporting Directive (CSRD), and growing pressure from GRESB, CDP, and institutional investors. Restoration contractor work — water damage, fire and smoke, mold remediation, asbestos and hazmat abatement, and biohazard cleanup — generates Scope 3 emissions that appear in the property manager’s inventory as Category 1 (purchased goods and services) and Category 4 (upstream transportation) emissions.

    No standard existed for how restoration contractors should calculate, document, or report these emissions. Without a standard, each contractor produced different data in different formats, making it impossible for property managers to aggregate across their vendor base. The Restoration Carbon Protocol fills that gap.

    What RCP Covers

    RCP v1.0 defines the emissions calculation methodology, data capture requirements, reporting format, proxy estimation procedures, and emission factors for five core restoration job types:

    1. Water damage restoration (IICRC S500)
    2. Fire and smoke restoration (IICRC S700)
    3. Mold remediation (IICRC S520)
    4. Asbestos and hazmat abatement
    5. Biohazard and trauma scene cleanup

    RCP v1.0 covers the Scope 3 emissions generated on behalf of commercial clients. Contractor Scope 1 and 2 emissions (the contractor’s own buildings, fleet, and purchased energy) are a separate accounting obligation under the GHG Protocol and are not addressed by the RCP.


    Part II: GHG Protocol Alignment

    Scope 3 Categories Addressed

    Restoration contractor work generates client-facing Scope 3 emissions primarily across four GHG Protocol categories:

    GHG Protocol Category What It Covers in Restoration Work Included in RCP v1.0
    Category 1 — Purchased Goods and Services Consumable materials, chemicals, PPE, containment, equipment energy (when building-powered) ✅ Yes
    Category 4 — Upstream Transportation All vehicle trips to/from job site, equipment hauls, waste transport ✅ Yes
    Category 5 — Waste Generated in Operations Disposal of demolished materials, contaminated waste, PPE, wastewater ✅ Yes
    Category 12 — End-of-Life Treatment Embedded carbon in building materials removed and disposed of ✅ Yes
    Category 7 — Employee Commuting Technician commuting to contractor’s office ❌ No — contractor’s own Scope 3
    Category 2 — Capital Goods Embedded carbon in equipment (dehumidifiers, vehicles) manufactured ❌ No — contractor’s own Scope 3

    Part III: The Five Emissions Calculation Domains

    Every RCP calculation is organized into five domains. Each domain has a primary data source, a calculation method, and a set of proxy values for when primary data is unavailable.

    Domain 1: Equipment Energy

    Electricity consumed by contractor-deployed drying, filtration, and remediation equipment. Primary method: metered kWh. Proxy method: equipment wattage × runtime hours × proxy unit power draws.

    • National grid emission factor: 0.3499 kg CO₂e/kWh (EPA eGRID 2023 national average)
    • Use subregion-specific factor where available (EPA Power Profiler at epa.gov/egrid)
    • Proxy unit power draws: LGR dehumidifier 1.1 kWh/hr, air mover 0.25 kWh/hr, HEPA air scrubber 0.50 kWh/hr, desiccant dehumidifier 2.8 kWh/hr

    Domain 2: Vehicle Transport

    All fuel combustion from vehicles operated for job-related purposes. Primary method: fuel volume in gallons. Proxy method: miles × 1/mpg × emission factor.

    • Diesel (mobile combustion): 10.21 kg CO₂e/gallon (EPA 2025 EF Hub)
    • Gasoline (mobile combustion): 8.89 kg CO₂e/gallon (EPA 2025 EF Hub)
    • Proxy fleet mpg: diesel service van 20 mpg; gasoline pickup 18 mpg; diesel dump truck 8 mpg
    • Debris haul: 0.186 kg CO₂e/ton-mile truck freight (EPA 2025 EF Hub)

    Domain 3: Consumable Materials

    Embedded carbon in materials consumed during the job but not remaining in the structure: chemicals, PPE, containment materials. Primary method: purchase records by product. Proxy method: standard consumption rates by job type and crew size.

    • Antimicrobial treatments (default): 2.8 kg CO₂e/liter
    • Polyethylene containment sheeting: 0.22 kg CO₂e/meter
    • Disposable Tyvek suit: 1.8 kg CO₂e/unit
    • N95 respirator: 0.4 kg CO₂e/unit
    • Nitrile glove pair: 0.12 kg CO₂e/pair

    Domain 4: Waste Disposal

    Emissions from disposing of materials removed from the property. Primary method: disposal facility manifests by weight and disposal type. Proxy method: weight estimated from demolition scope or volume.

    • Mixed C&D waste, landfill: 0.021 tCO₂e/short ton (EPA WARM v16)
    • Drywall/gypsum, landfill: 0.006 tCO₂e/short ton (EPA WARM v16)
    • Wood debris, landfill: 0.039 tCO₂e/short ton (EPA WARM v16)
    • Regulated hazmat, incineration: 0.42 tCO₂e/short ton (EPA AP-42)
    • Biohazardous waste, medical incineration: 0.88 tCO₂e/short ton (DEFRA 2024)

    Domain 5: Demolished Materials

    Embedded carbon in building materials removed from the structure as a result of restoration work. Primary method: demolition scope by material type and weight. Proxy method: sqft × standard weight/sqft by material type × emission factor.

    • Standard drywall (½”): 0.12 kg CO₂e/kg (production) — EPA WARM v16
    • Fiberglass insulation batts: 1.35 kg CO₂e/kg — EPA WARM v16
    • Carpet (nylon face): 5.40 kg CO₂e/kg — DEFRA 2024
    • LVP/vinyl flooring: 3.10 kg CO₂e/kg — DEFRA 2024
    • Dimensional lumber: 0.45 kg CO₂e/kg — EPA WARM v16

    Part IV: The RCP 12-Point Data Capture Standard

    Every RCP-compliant job record requires twelve data points captured at the time of the job. These are the minimum inputs needed to produce a defensible Scope 3 emissions calculation. Full definitions, good vs. poor capture examples, and calculation mapping for each data point are documented at: tygartmedia.com/12-data-points-restoration-job-scope-3/

    # Data Point Capture Stage GHG Category
    1 Vehicle log (type, trips, miles, fuel) Daily / GPS Cat. 4
    2 Waste transport log Close-out Cat. 4
    3 Equipment power source (building or generator) Setup Cat. 1 / Cat. 4
    4 Chemical treatments log (volume by type) During / Close-out Cat. 1
    5 PPE consumption log During / Close-out Cat. 1
    6 Containment materials log Setup / Close-out Cat. 1
    7 Debris volume by waste category (weight) Close-out / Manifest Cat. 5
    8 Disposal method and facility Close-out Cat. 5 factor selector
    9 Demolished materials by type and weight Demo scope / Close-out Cat. 12
    10 Replacement materials (if in contractor scope) Close-out Cat. 1
    11 Job classification (type, category, class, sqft) Initial assessment Proxy rate selector
    12 Job timeline (start date, completion date) System-generated Period assignment

    Part V: Proxy Estimation Methodology

    When primary data is unavailable — whether for historical jobs, field situations where documentation was incomplete, or data points that current job management systems don’t capture — the RCP authorizes proxy estimation. All proxy calculations must be labeled as estimated in the data quality section of the Job Carbon Report.

    The complete proxy value reference table is published at: tygartmedia.com/rcp-proxy-estimation-methodology/

    The hierarchy of calculation quality, from highest to lowest:

    1. Primary data: Metered, weighed, or directly measured values from job records
    2. Derived primary: Calculated from primary data using standard conversion factors (e.g., miles from GPS × mpg = gallons)
    3. Proxy — job-specific: Estimated using job classification (type, category, class, sqft) with RCP standard rates
    4. Proxy — national average: Used only when job classification is also unavailable. Lowest quality; flag prominently in data quality notes

    Part VI: The RCP Job Carbon Report

    The Job Carbon Report is the output document delivered to commercial clients. It is the vehicle by which contractor emissions data enters the client’s Scope 3 inventory. The report has two valid formats: document (PDF or structured text) and machine-readable (JSON per RCP-JCR-1.0 schema).

    The full report template, field definitions, and example values are published at: tygartmedia.com/rcp-job-carbon-report-template/

    The RCP-JCR-1.0 JSON schema is published at: tygartmedia.com/rcp-json-schema-v1-machine-readable-standard/

    Required report sections:

    1. Job Identification (contractor, client, property, job type, dates)
    2. Emissions Summary (total tCO₂e and breakdown by GHG Protocol category)
    3. Transportation Calculation (Category 4 detail)
    4. Materials Calculation (Category 1 detail)
    5. Waste Disposal Calculation (Category 5 detail)
    6. Demolished Materials Calculation (Category 12 detail)
    7. Data Quality Notes (primary vs. proxy data points, preparer, date)

    Part VII: Scope Boundaries

    Included in RCP v1.0 Scope

    • All electricity consumed by contractor-deployed drying and remediation equipment from setup to retrieval
    • All vehicle fuel combustion for all trips directly associated with the job
    • Embedded carbon in consumable materials used during the job
    • Disposal emissions for all materials removed as part of the restoration scope
    • Embedded carbon in building materials removed and disposed of

    Excluded from RCP v1.0 Scope

    • Emissions from the original loss event (pipe break, fire, flood) — property owner’s Scope 1/2
    • Employee commuting to/from contractor’s office — contractor’s own Scope 3 Cat. 7
    • Capital equipment manufacturing emissions — contractor’s own Scope 3 Cat. 2
    • Administrative overhead, insurance, office operations
    • Wastewater treatment facility emissions from discharged extraction water (flagged for v2.0)
    • Subcontractor emissions not within the primary contractor’s scope of work

    Part VIII: Per-Job-Type Calculation Guides

    Each job type has a dedicated technical calculation guide with job-type-specific emission factors, worked examples, and proxy values. These are the source-of-record methodology documents for each restoration category:


    Part IX: Emission Factor Reference

    The complete consolidated emission factor reference table — every value used in RCP calculations, with source citations — is published at: tygartmedia.com/rcp-emission-factor-reference-table/

    All emission factors in RCP v1.0 are drawn from:

    • U.S. EPA 2025 GHG Emission Factors Hub (January 2025 update)
    • U.S. EPA eGRID 2023 (published January 2025)
    • U.S. EPA Waste Reduction Model (WARM) v16
    • DEFRA UK Greenhouse Gas Conversion Factors 2024
    • IPCC AR5 Global Warming Potentials (100-year)

    Part X: Governance, Versioning, and Contribution

    Governance Model

    RCP v1.0 operates under a founder-steward governance model. Tygart Media, as the originating organization, maintains editorial control over the standard and is responsible for version releases, emission factor updates, and scope boundary decisions. This model is appropriate for an early-stage standard where consistency and speed of iteration matter more than distributed governance.

    As the standard matures and industry adoption grows — particularly if RIA, IICRC, or another industry body formally endorses or houses the standard — governance may transition to a stewardship board model with representation from contractors, property managers, ESG consultants, and software vendors.

    Versioning Policy

    Version Type When Issued What Changes Backwards Compatible?
    Patch (v1.0.x) Annually or when EPA updates emission factors Emission factor updates only Yes — same schema
    Minor (v1.x) When new fields or job types are added Additive changes — new optional fields, new job type guides Yes — existing records remain valid
    Major (v2.0) When scope boundaries change significantly New required fields, scope expansions (e.g., wastewater treatment), LCA-based material factors Migration path provided

    How to Contribute

    The RCP is an open standard. Contributions from contractors, software vendors, ESG consultants, property managers, and researchers are actively welcomed. The current contribution process:

    1. Propose: Email rcp@tygartmedia.com with the proposed change, the technical rationale, and any supporting sources. Emission factor changes require a peer-reviewed or regulatory source.
    2. Review: Tygart Media reviews within 30 days and responds with acceptance, modification request, or rejection with explanation.
    3. Publish: Accepted contributions are credited by organization in the version release notes and reflected in the next patch or minor version.

    Priority contribution areas for v1.1:

    • LCA-based emission factors for specific replacement material types
    • EV fleet proxy values (kWh/mile × grid factor)
    • Regional proxy rates for markets outside the continental US
    • Subcontractor emissions inclusion methodology
    • Wastewater treatment facility emission factors by treatment type

    Open Source License

    The RCP v1.0 specification, all calculation methodology, the RCP-JCR-1.0 JSON schema, and all associated proxy value tables are released under the Creative Commons Attribution 4.0 International License (CC BY 4.0). You are free to use, share, adapt, and build commercial products on top of this standard with attribution to “Restoration Carbon Protocol v1.0, Tygart Media, tygartmedia.com.”


    Part XI: Commercial Application and Regulatory Context

    California SB 253

    California SB 253 requires companies with California revenues over $1 billion to report Scope 3 emissions for their 2026 fiscal year by 2027. Commercial property managers and REITs in scope must collect contractor Scope 3 data across their vendor base. RCP-compliant Job Carbon Reports provide a standardized format for this data collection. Full context: tygartmedia.com/california-sb-253-2027-restoration-contractors/

    GRESB

    GRESB Real Estate Assessment submissions (due July annually) require Scope 3 data from property managers’ supply chains, including restoration contractors. RCP Job Carbon Reports in JSON format integrate with major ESG data management platforms (Measurabl, Deepki, Yardi Elevate, Atrius) that aggregate GRESB submissions. Full context: tygartmedia.com/restoration-work-gresb-cdp-disclosures/

    CDP Supply Chain

    CDP Supply Chain program participants request annual Scope 3 data from their contractors via standardized questionnaire. RCP portfolio-level data aggregation (sum of per-job records by client property) provides the input for CDP Supply Chain responses.

    EU CSRD

    The EU Corporate Sustainability Reporting Directive requires double-materiality ESG disclosure from large companies, including US-based organizations with EU operations or EU-listed investors. For restoration contractors serving CSRD-obligated property clients, the RCP data format provides the supply chain emissions input required under ESRS E1 (Climate) reporting standards.


    Part XII: Software Integration

    The RCP is designed to be implemented natively in restoration job management platforms. The 12 data points map directly to field types that existing platforms (PSA/Canam, Dash/Next Gear Solutions, Xcelerate, Encircle, Albiware) already capture or can capture with minimal custom field additions. The RCP-JCR-1.0 JSON schema provides the standard data exchange format for platform-to-platform and platform-to-ESG-tool data transfer.

    For software implementation guidance: tygartmedia.com/rcp-json-schema-v1-machine-readable-standard/

    For a call to restoration software vendors to adopt RCP: see the software integration guide (coming April 2026 at tygartmedia.com/esg-restoration).


    Part XIII: Version History

    Version Date Changes
    RCP v1.0 April 2026 Initial publication. Five job types, 12-point data standard, RCP-JCR-1.0 JSON schema, proxy estimation methodology, emission factor reference table, full framework document.

    All RCP v1.0 Knowledge Nodes

    The following articles constitute the complete RCP v1.0 knowledge base. Each is a standalone reference document that can be read independently or cited as a component of this framework:


    Contact and Contribution

    To contribute to the RCP standard, propose changes, report errors, or inquire about software implementation: rcp@tygartmedia.com

    To discuss RCP adoption at the industry level, partnership with RIA, or integration with restoration job management platforms: will@tygartmedia.com

  • RCP JSON Schema v1.0 — The Machine-Readable Data Standard

    The Restoration Carbon Protocol v1.0 JSON Schema is the machine-readable definition of the RCP Job Carbon Report. It specifies every field name, data type, required status, and valid value for a complete RCP emissions record. This is the document software developers, ESG platform integrators, and restoration job management platforms use to implement RCP data capture and exchange.

    This schema is released as an open standard. Any platform that produces RCP-compliant JSON output can be described as RCP-compatible. No license is required. Attribution to the Restoration Carbon Protocol is encouraged.

    Schema version: RCP-JCR-1.0
    Conforms to: JSON Schema Draft-07 (json-schema.org/draft-07)
    GHG Protocol alignment: Corporate Value Chain (Scope 3) Standard
    Emission factor vintage: EPA 2025, EPA WARM v16, EPA eGRID 2023


    Schema Overview

    The RCP Job Carbon Report JSON object has seven top-level sections that mirror the paper report format: job identification, emissions summary, transportation data, materials data, waste data, demolished materials, and data quality metadata. All sections except data_quality are required for a complete RCP record. Partial records (missing sections) are valid as draft records but must not be delivered to clients as final RCP disclosures.


    Full Schema Definition

    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://tygartmedia.com/rcp/schema/v1.0/job-carbon-report.json",
      "title": "RCP Job Carbon Report",
      "description": "Restoration Carbon Protocol v1.0 — Per-Job Scope 3 Emissions Record",
      "version": "1.0.0",
      "type": "object",
      "required": [
        "schema_version",
        "job_identification",
        "emissions_summary",
        "transportation",
        "materials",
        "waste",
        "demolished_materials"
      ],
    
      "properties": {
    
        "schema_version": {
          "type": "string",
          "const": "RCP-JCR-1.0",
          "description": "Schema version identifier. Must be 'RCP-JCR-1.0' for v1.0 records."
        },
    
        "generated_at": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp of when this record was generated."
        },
    
        "job_identification": {
          "type": "object",
          "required": [
            "contractor_name",
            "job_id",
            "client_name",
            "property_address",
            "job_type",
            "damage_category",
            "damage_class",
            "affected_area_sqft",
            "job_start_date",
            "job_completion_date",
            "reporting_standard",
            "egrid_subregion"
          ],
          "properties": {
            "contractor_name": {
              "type": "string",
              "description": "Legal name of the restoration contractor performing the work."
            },
            "contractor_rcp_id": {
              "type": "string",
              "description": "Optional. RCP self-certification ID if contractor is RCP-certified."
            },
            "job_id": {
              "type": "string",
              "description": "Contractor's internal job identifier. Used to cross-reference with job management system."
            },
            "client_name": {
              "type": "string",
              "description": "Name of the property owner or manager receiving this report."
            },
            "property_address": {
              "type": "object",
              "required": ["street", "city", "state", "zip"],
              "properties": {
                "street": { "type": "string" },
                "city": { "type": "string" },
                "state": { "type": "string", "pattern": "^[A-Z]{2}$" },
                "zip": { "type": "string", "pattern": "^[0-9]{5}(-[0-9]{4})?$" }
              }
            },
            "job_type": {
              "type": "string",
              "enum": [
                "water_damage",
                "fire_smoke",
                "mold_remediation",
                "asbestos_hazmat",
                "biohazard_trauma",
                "combined"
              ],
              "description": "Primary job type per RCP classification."
            },
            "damage_category": {
              "type": "string",
              "enum": ["1", "2", "3", "N/A"],
              "description": "IICRC S500 water damage category (1=clean, 2=gray, 3=black). Use N/A for non-water jobs."
            },
            "damage_class": {
              "type": "string",
              "enum": ["1", "2", "3", "4", "N/A"],
              "description": "IICRC S500 water damage class (1=minimal to 4=specialty drying). Use N/A for non-water jobs."
            },
            "affected_area_sqft": {
              "type": "number",
              "minimum": 0,
              "description": "Total affected area in square feet."
            },
            "job_start_date": {
              "type": "string",
              "format": "date",
              "description": "ISO 8601 date (YYYY-MM-DD) of job mobilization."
            },
            "job_completion_date": {
              "type": "string",
              "format": "date",
              "description": "ISO 8601 date (YYYY-MM-DD) of job close-out."
            },
            "reporting_standard": {
              "type": "string",
              "const": "Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard",
              "description": "Must match this exact string for RCP v1.0 compliance."
            },
            "egrid_subregion": {
              "type": "string",
              "description": "EPA eGRID subregion code for the job site ZIP code. Use 'US_AVG' if subregion unknown.",
              "examples": ["WECC", "SRVC", "RFCW", "US_AVG"]
            }
          }
        },
    
        "emissions_summary": {
          "type": "object",
          "required": [
            "total_job_emissions_tco2e",
            "category_1_materials_tco2e",
            "category_4_transportation_tco2e",
            "category_5_waste_tco2e",
            "category_12_demolished_materials_tco2e"
          ],
          "properties": {
            "total_job_emissions_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total job Scope 3 emissions in metric tons CO2 equivalent (tCO2e). Sum of all categories."
            },
            "category_1_materials_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 1 — Purchased Goods and Services. Embedded carbon in consumable materials."
            },
            "category_4_transportation_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 4 — Upstream Transportation. All vehicle fuel combustion for job-related trips."
            },
            "category_5_waste_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 5 — Waste Generated in Operations. Disposal of materials removed from the property."
            },
            "category_12_demolished_materials_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 12 — End-of-Life Treatment. Embedded carbon in building materials removed and disposed."
            },
            "equipment_energy_kwh": {
              "type": "number",
              "minimum": 0,
              "description": "Optional. Total kWh consumed by contractor-deployed equipment. Included in Category 1 if equipment operates on building power; Category 4 if generator-powered."
            }
          }
        },
    
        "transportation": {
          "type": "object",
          "required": ["vehicle_trips", "calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_fuel_volume", "proxy_mileage"],
              "description": "'primary_fuel_volume' = actual gallons recorded. 'proxy_mileage' = miles x fleet average mpg x emission factor."
            },
            "vehicle_trips": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": ["vehicle_type", "fuel_type", "round_trips", "round_trip_miles"],
                "properties": {
                  "vehicle_type": {
                    "type": "string",
                    "enum": ["light_truck", "service_van", "equipment_trailer", "dump_truck", "heavy_equipment", "other"],
                    "description": "Vehicle category."
                  },
                  "fuel_type": {
                    "type": "string",
                    "enum": ["diesel", "gasoline", "electric", "hybrid"],
                    "description": "Primary fuel type."
                  },
                  "round_trips": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Number of complete round trips for this vehicle on this job."
                  },
                  "round_trip_miles": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Miles per round trip."
                  },
                  "fuel_consumed_gallons": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Optional. Actual fuel consumed in gallons. Preferred over proxy when available."
                  },
                  "emissions_kg_co2e": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Calculated emissions for this vehicle entry in kg CO2e."
                  },
                  "trip_purpose": {
                    "type": "string",
                    "enum": ["response", "monitoring", "equipment_delivery", "equipment_pickup", "waste_haul", "crew_transport", "other"],
                    "description": "Primary purpose of these trips."
                  }
                }
              }
            },
            "total_vehicle_miles": {
              "type": "number",
              "minimum": 0,
              "description": "Sum of all vehicle-miles across all entries."
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total transportation emissions in kg CO2e."
            }
          }
        },
    
        "materials": {
          "type": "object",
          "required": ["calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_purchase_records", "proxy_job_type_standard"],
              "description": "'primary_purchase_records' = actual quantities from purchase records. 'proxy_job_type_standard' = RCP standard consumption rates by job type."
            },
            "chemicals": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["product_type", "quantity_liters"],
                "properties": {
                  "product_type": {
                    "type": "string",
                    "enum": ["antimicrobial", "biocide", "encapsulant", "deodorizer", "wetting_agent", "other"]
                  },
                  "quantity_liters": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_liter": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "ppe_disposable": {
              "type": "object",
              "properties": {
                "tyvek_suits": { "type": "integer", "minimum": 0 },
                "glove_pairs": { "type": "integer", "minimum": 0 },
                "respirators_n95": { "type": "integer", "minimum": 0 },
                "respirators_p100_half_face": { "type": "integer", "minimum": 0 },
                "boot_covers_pairs": { "type": "integer", "minimum": 0 },
                "emissions_kg_co2e": { "type": "number", "minimum": 0 }
              }
            },
            "containment_materials": {
              "type": "object",
              "properties": {
                "poly_sheeting_meters": { "type": "number", "minimum": 0 },
                "zipper_doors_units": { "type": "integer", "minimum": 0 },
                "hepa_filters_replaced": { "type": "integer", "minimum": 0 },
                "emissions_kg_co2e": { "type": "number", "minimum": 0 }
              }
            },
            "replacement_materials": {
              "type": "array",
              "description": "Installed replacement building materials, if reconstruction is within contractor scope.",
              "items": {
                "type": "object",
                "required": ["material_type", "quantity_kg"],
                "properties": {
                  "material_type": {
                    "type": "string",
                    "enum": ["drywall_standard", "drywall_moisture_resistant", "insulation_fiberglass", "insulation_mineral_wool", "lumber_framing", "carpet", "lvp_flooring", "tile_ceramic", "other"]
                  },
                  "quantity_kg": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_kg": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total materials emissions in kg CO2e. Sum of chemicals, PPE, containment, and replacement materials."
            }
          }
        },
    
        "waste": {
          "type": "object",
          "required": ["calculation_method", "waste_streams"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_manifest_weights", "proxy_volume_conversion"],
              "description": "'primary_manifest_weights' = actual weights from disposal manifests. 'proxy_volume_conversion' = volume estimates converted to weight using RCP standard densities."
            },
            "waste_streams": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": ["waste_type", "disposal_method", "quantity_short_tons"],
                "properties": {
                  "waste_type": {
                    "type": "string",
                    "enum": ["cd_debris_mixed", "drywall_gypsum", "wood_debris", "contaminated_water", "regulated_hazmat", "biohazardous_waste", "ppe_disposable", "other"]
                  },
                  "disposal_method": {
                    "type": "string",
                    "enum": ["landfill", "recycling", "hazmat_incineration", "wastewater_municipal", "wastewater_licensed_facility", "other"]
                  },
                  "disposal_facility": {
                    "type": "string",
                    "description": "Optional. Name or identifier of disposal facility."
                  },
                  "quantity_short_tons": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Weight of waste in US short tons."
                  },
                  "haul_miles_one_way": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Optional. One-way distance to disposal facility in miles. Used to calculate haul transport emissions."
                  },
                  "emission_factor_tco2e_per_short_ton": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total waste disposal emissions in kg CO2e."
            }
          }
        },
    
        "demolished_materials": {
          "type": "object",
          "required": ["calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_demolition_records", "proxy_affected_area"],
              "description": "'primary_demolition_records' = actual weights from demolition scope. 'proxy_affected_area' = RCP standard weight-per-sqft by material type."
            },
            "materials_removed": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["material_type", "quantity_kg"],
                "properties": {
                  "material_type": {
                    "type": "string",
                    "enum": ["drywall_standard", "drywall_moisture_resistant", "insulation_fiberglass", "insulation_mineral_wool", "lumber_framing", "carpet", "lvp_flooring", "tile_ceramic", "concrete", "other"]
                  },
                  "quantity_kg": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_kg": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total demolished materials emissions in kg CO2e."
            }
          }
        },
    
        "data_quality": {
          "type": "object",
          "description": "Optional but strongly recommended. Documents data sources and proxy usage for audit purposes.",
          "properties": {
            "preparer_name": { "type": "string" },
            "preparer_date": { "type": "string", "format": "date" },
            "primary_data_points": {
              "type": "array",
              "description": "List of data points captured from primary sources.",
              "items": {
                "type": "string",
                "enum": [
                  "vehicle_mileage_gps",
                  "vehicle_mileage_odometer",
                  "fuel_consumed_recorded",
                  "equipment_kwh_metered",
                  "waste_weight_manifest",
                  "materials_purchase_records",
                  "demolition_scope_documented"
                ]
              }
            },
            "proxy_data_points": {
              "type": "array",
              "description": "List of data points estimated using RCP proxy values.",
              "items": {
                "type": "string",
                "enum": [
                  "vehicle_mileage_estimated",
                  "fuel_consumed_proxy_mpg",
                  "equipment_kwh_proxy_wattage",
                  "waste_weight_estimated",
                  "ppe_consumption_standard_rate",
                  "materials_proxy_sqft"
                ]
              }
            },
            "notes": {
              "type": "string",
              "description": "Free-text field for data quality notes, exceptions, or unusual circumstances."
            }
          }
        }
      }
    }

    Minimal Valid Record Example

    The following is the smallest valid RCP-JCR-1.0 JSON object — all required fields populated, optional fields omitted. This represents a simple water damage job with proxy-based calculations:

    {
      "schema_version": "RCP-JCR-1.0",
      "generated_at": "2026-04-11T09:00:00Z",
    
      "job_identification": {
        "contractor_name": "Acme Restoration LLC",
        "job_id": "JOB-2026-04847",
        "client_name": "Westfield Properties Inc.",
        "property_address": {
          "street": "1200 Commerce Blvd",
          "city": "Sacramento",
          "state": "CA",
          "zip": "95814"
        },
        "job_type": "water_damage",
        "damage_category": "2",
        "damage_class": "3",
        "affected_area_sqft": 2400,
        "job_start_date": "2026-03-14",
        "job_completion_date": "2026-03-22",
        "reporting_standard": "Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard",
        "egrid_subregion": "WECC"
      },
    
      "emissions_summary": {
        "total_job_emissions_tco2e": 1.84,
        "category_1_materials_tco2e": 0.09,
        "category_4_transportation_tco2e": 0.89,
        "category_5_waste_tco2e": 0.70,
        "category_12_demolished_materials_tco2e": 0.16
      },
    
      "transportation": {
        "calculation_method": "proxy_mileage",
        "vehicle_trips": [
          {
            "vehicle_type": "light_truck",
            "fuel_type": "diesel",
            "round_trips": 4,
            "round_trip_miles": 47,
            "emissions_kg_co2e": 189,
            "trip_purpose": "response"
          },
          {
            "vehicle_type": "equipment_trailer",
            "fuel_type": "diesel",
            "round_trips": 2,
            "round_trip_miles": 47,
            "emissions_kg_co2e": 151,
            "trip_purpose": "equipment_delivery"
          },
          {
            "vehicle_type": "dump_truck",
            "fuel_type": "diesel",
            "round_trips": 1,
            "round_trip_miles": 22,
            "emissions_kg_co2e": 50,
            "trip_purpose": "waste_haul"
          }
        ],
        "total_vehicle_miles": 470,
        "total_emissions_kg_co2e": 390
      },
    
      "materials": {
        "calculation_method": "proxy_job_type_standard",
        "chemicals": [
          {
            "product_type": "antimicrobial",
            "quantity_liters": 12,
            "emission_factor_kg_co2e_per_liter": 2.8,
            "emissions_kg_co2e": 33.6
          }
        ],
        "ppe_disposable": {
          "tyvek_suits": 18,
          "glove_pairs": 36,
          "respirators_n95": 24,
          "emissions_kg_co2e": 45
        },
        "containment_materials": {
          "poly_sheeting_meters": 40,
          "emissions_kg_co2e": 9
        },
        "total_emissions_kg_co2e": 87.6
      },
    
      "waste": {
        "calculation_method": "primary_manifest_weights",
        "waste_streams": [
          {
            "waste_type": "cd_debris_mixed",
            "disposal_method": "landfill",
            "disposal_facility": "Sacramento County Transfer Station",
            "quantity_short_tons": 1.8,
            "haul_miles_one_way": 11,
            "emission_factor_tco2e_per_short_ton": 0.021,
            "emissions_kg_co2e": 37.8
          }
        ],
        "total_emissions_kg_co2e": 37.8
      },
    
      "demolished_materials": {
        "calculation_method": "primary_demolition_records",
        "materials_removed": [
          {
            "material_type": "drywall_standard",
            "quantity_kg": 900,
            "emission_factor_kg_co2e_per_kg": 0.12,
            "emissions_kg_co2e": 108
          },
          {
            "material_type": "carpet",
            "quantity_kg": 180,
            "emission_factor_kg_co2e_per_kg": 5.40,
            "emissions_kg_co2e": 972
          }
        ],
        "total_emissions_kg_co2e": 1080
      },
    
      "data_quality": {
        "preparer_name": "Jane Smith, Operations Manager",
        "preparer_date": "2026-03-22",
        "primary_data_points": ["waste_weight_manifest", "materials_purchase_records"],
        "proxy_data_points": ["vehicle_mileage_estimated", "ppe_consumption_standard_rate"],
        "notes": "Vehicle mileage estimated from dispatch address records. PPE consumption from standard Cat 2, Class 3 rate table."
      }
    }

    Emission Factors Referenced in This Schema

    All emission factors used in RCP-JCR-1.0 calculations are drawn from the RCP Emission Factor Reference Table. The authoritative source for each factor is documented there. The key factors for software implementations:

    • Grid electricity (US national average): 0.3499 kg CO₂e/kWh — EPA eGRID 2023
    • Diesel fuel (mobile combustion): 10.21 kg CO₂e/gallon — EPA 2025 EF Hub
    • Gasoline (mobile combustion): 8.89 kg CO₂e/gallon — EPA 2025 EF Hub
    • Mixed C&D waste, landfill: 0.021 tCO₂e/short ton — EPA WARM v16
    • Drywall production: 0.12 kg CO₂e/kg — EPA WARM v16
    • Carpet (nylon): 5.40 kg CO₂e/kg — DEFRA 2024

    Implementation Notes for Software Developers

    Several implementation patterns are worth noting for platforms building RCP compatibility:

    Field nullability: Optional fields should be omitted entirely when no data is available, not set to null or 0. A missing field is distinguishable from a zero-value field, which matters for audit purposes.

    Calculation_method flags: The calculation_method field in each section is required because it tells the receiving system and verifier whether to trust the numbers at primary-data quality or proxy quality. ESG platforms that ingest RCP JSON should surface this distinction to their users.

    Unit consistency: All emissions totals in emissions_summary are in metric tons CO₂e (tCO₂e). All emissions in sub-sections are in kilograms CO₂e (kg CO₂e). The conversion is 1 tCO₂e = 1,000 kg CO₂e. Software implementations should validate unit consistency at write time.

    eGRID subregion codes: The canonical list of eGRID subregion codes is available from EPA at epa.gov/egrid. The US_AVG code is an RCP extension for cases where the subregion is unknown — it instructs consuming systems to apply the national average factor (0.3499 kg CO₂e/kWh).

    Schema validation: Implementations should validate records against this schema before transmission. Invalid records — missing required fields, wrong data types, enum violations — must not be transmitted as final RCP disclosures.


    Versioning and Backwards Compatibility

    The schema_version field is used by consuming systems to identify which version of the RCP schema a record was produced under. RCP v2.0 will introduce a new schema version string and may add fields not present in v1.0. All v1.0 records remain valid and will be processed by systems that implement backwards compatibility for RCP-JCR-1.0. No fields will be removed between minor versions; only additions are permitted.

    The current schema is published at: tygartmedia.com/rcp/schema/v1.0/job-carbon-report.json


    Sources and References