Blog

  • Restoration Carbon Protocol: The Complete RCP v1.0 Standard

    Restoration Carbon Protocol: The Complete RCP v1.0 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/

    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 will@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/

    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: will@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: Job Carbon Report Data Standard

    RCP JSON Schema v1.0: Job Carbon Report 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/restoration-carbon-protocol-guide/",
      "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": ["CAMX", "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": "CAMX"
      },
    
      "emissions_summary": {
        "total_job_emissions_tco2e": 1.60,
        "category_1_materials_tco2e": 0.09,
        "category_4_transportation_tco2e": 0.39,
        "category_5_waste_tco2e": 0.04,
        "category_12_demolished_materials_tco2e": 1.08
      },
    
      "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-json-schema-v1/


    Sources and References


  • Crawl Space Dehumidifier Cost: Unit & Install Prices

    Crawl Space Dehumidifier Cost: Unit & Install Prices

    The Distillery
    — Brew № 2 · Crawl Space

    Updated September 30, 2026.

    Direct answer: Crawl-space-rated dehumidifiers run about $567–$2,236 for the unit at verified September 2026 retail, plus $150–$600 for hang, drain, and a new 15A circuit when needed—typical 70-pint-class installs land near $1,650–$2,850. Plan on roughly $145–$330/year in power at the U.S. EIA 2025 residential average of 17.3¢/kWh, depending on wattage and run hours.

    Spec E070, E100, Santa Fe Compact70/Advance2, or AlorAir Sentinel on new work—legacy 1820/1850 lines are discontinued. Box-store portables lack crawl duty cycle, low-temp rating, and hard-plumbed drains.

    Unit Cost by Capacity and Brand

    AHAM = 80°F / 60% RH. Retail spans are from manufacturer or authorized dealers, not installed bids.

    Model Capacity Min Temp Unit Cost Best For
    Aprilaire E070 70 pint/day ~40°F $1,677–$1,799 Sealed crawls to ~2,200 sq ft
    Santa Fe Compact70 70 pint/day 38°F $1,299–$1,379 Tight height; R454B
    AlorAir Sentinel HDi65S 55 pint/day 33.8°F $567–$756 Low retail; built-in pump
    Aprilaire E100 100 pint/day ~50°F $1,878–$2,236 1850 replacement; heavy load
    Santa Fe Advance2 90 pint/day 49°F $1,380–$1,903 Mid-large crawls
    AlorAir Sentinel HDi90 90 pint/day 33.8°F $872–$975 Mid-large; pump included

    Installation Cost Components

    • Electrical ($0–$600): Dedicated 15A/115V circuit. Existing crawl outlet: $0 add-on. New homerun: $300–$600—still the biggest swing item; confirm before you budget.
    • Mounting ($100–$250): Hang from joists or frame a platform above the liner; never set the cabinet on the vapor barrier.
    • Condensate ($50–$200): Gravity to sump or drain when possible; add $80–$150 in pump hardware when the unit sits below the discharge point. Many Sentinel models include a pump.

    Total Installed Cost Summary

    Scenario Unit Electrical Mount + Drain Total
    Existing outlet, gravity drain $1,299–$1,716 $0 $150–$350 $1,450–$2,070
    New 15A circuit $1,299–$1,716 $300–$600 $150–$350 $1,750–$2,670
    New circuit + pump path $1,299–$1,716 $300–$600 $250–$500 $1,850–$2,820
    Aprilaire E100 + new circuit $1,878–$2,236 $300–$600 $150–$350 $2,330–$3,190

    Annual Operating Cost

    • 70-pint class (~580–650 W): About $145–$165/year at 4 hours/day run time, or $290–$330/year at 8 hours/day, at 17.3¢/kWh (EIA 2025 U.S. residential average).
    • 90-pint class (~800 W): About $200–$400/year at the same duty cycles.
    • High-rate states (25–35¢/kWh): Multiply by roughly 1.4–2.0.

    Log RH 30 days after commissioning—crawl space humidity monitor placement catches undersized units before mold does.

    Contractor vs. DIY

    Bids still bundle dehumidifiers at $1,500–$3,500 installed. DIY on the same SKU saves roughly $300–$700 when outlet and drain exist; you own code, hang, and warranty. See crawl space encapsulation cost.

    Frequently Asked Questions

    How much does a crawl space dehumidifier cost?

    Expect roughly $567–$2,236 for the unit alone at verified 2026 retail, depending on brand and capacity. Total installed cost with mounting, condensate routing, and a new 15A circuit when needed usually lands near $1,650–$2,850 for a standard 70-pint class system. Encapsulation contractors often quote $1,500–$3,500 for the dehumidifier line item, which may bundle electrical, commissioning, and service.

    What is the cheapest crawl space dehumidifier that actually works?

    The AlorAir Sentinel HDi65S is the lowest verified retail price in this class—about $567–$756 direct from AlorAir—with a built-in pump, auto defrost, and roughly 33.8°F minimum operating temperature. It is rated 55 pints/day at AHAM (80°F, 60% RH), not 70, so size it conservatively. Warranty and distributor support are thinner than AprilAire or Santa Fe; weigh that if you are far from a wholesaler.

    Is it cheaper to run an HVAC supply duct than a dehumidifier?

    Cheaper upfront: tying a small supply register from existing forced-air HVAC into the crawl often runs $300–$600 installed versus $1,650–$2,850 for a dedicated dehumidifier on typical retail plus labor. Operating cost stays lower too because you are piggybacking on the central system. In humid Southeast and Gulf climates, supply-only rarely holds RH below 60% year-round; verify with a logger before you skip mechanical dehumidification.

    Do I need a dedicated electrical circuit for a crawl space dehumidifier?

    Yes—a dedicated 15A, 115V circuit is standard. Many 70-pint class units draw about 5–6 amps running (roughly 580–650 watts). If a GFCI-protected outlet already exists in the crawl, electrical add-on cost is $0; pulling a new homerun from the panel typically adds $300–$600 in labor and materials in 2026 markets.

    How much does it cost to run a crawl space dehumidifier per year?

    At the U.S. EIA 2025 residential average of 17.3¢/kWh, a 580-watt unit running 8 hours/day averages about $290/year; 4 hours/day averages about $145/year. A 90-pint class unit near 800 watts at the same duty cycles runs about $200–$400/year. High-cost states at 25–35¢/kWh roughly double those figures.


  • Black Mold in Crawl Space: What It Is & How to Fix It

    Black Mold in Crawl Space: What It Is & How to Fix It

    The Distillery
    — Brew № 2 · Crawl Space

    “Black mold” is one of the most fear-inducing phrases in home ownership — and one of the most misused. When a home inspector, contractor, or alarmed homeowner reports “black mold” in a crawl space, it rarely means the Stachybotrys chartarum that has become synonymous with toxic mold in public consciousness. In the vast majority of cases, what appears as black growth on crawl space joists is Cladosporium, Aspergillus niger, or Trichoderma — common environmental molds that are black or dark-colored but are not Stachybotrys, do not produce the same mycotoxins, and are not classified as the highly toxic species that media coverage has made synonymous with “black mold.” Understanding the distinction — and the response — protects homeowners from both false alarm and genuine health risk.

    What “Black Mold” Actually Means

    The color of a mold does not identify its species. Dozens of common mold species produce dark — green-black, olive-black, or true black — pigmentation. The color results from melanin production in the mold’s outer spore layer, which serves as UV protection. Molds that are black in color include:

    • Cladosporium: One of the most common indoor and outdoor mold genera worldwide. Produces dark green to black colonies. Found on virtually every crawl space inspection with elevated humidity. Not classified as a high-risk toxin producer. Causes allergic responses in sensitive individuals but is not the “toxic black mold” of media coverage.
    • Aspergillus niger: Produces black-spored colonies. Common environmental mold. Some Aspergillus species produce aflatoxins and other mycotoxins at high concentrations but A. niger specifically is not among the highest-concern species.
    • Trichoderma: Dark green to black or white-green colonies. Very common in damp wood environments including crawl spaces. Not a significant mycotoxin producer in most species.
    • Stachybotrys chartarum: The actual “toxic black mold.” Black, slimy colonies. Grows specifically on chronically wet cellulose materials (paper, cardboard, ceiling tiles, wallboard) — not typically on wood surfaces, which is why it is less common in crawl spaces than in water-damaged drywall. Its growth requires sustained liquid water contact with cellulose over weeks to months — not just elevated humidity.

    Is Stachybotrys Actually Present in Crawl Spaces?

    Stachybotrys can appear in crawl spaces, but it is less common than in above-grade water damage scenarios because:

    • Structural wood (joists, sill plates, beams) is not the preferred substrate for Stachybotrys — it prefers cellulose-rich materials with lower lignin content (paper facing, cardboard, drywall)
    • The kraft paper facing on deteriorating fiberglass insulation in a wet crawl space is a more likely Stachybotrys substrate than the wood itself
    • Stachybotrys requires sustained liquid water contact to establish — not just elevated humidity. A crawl space with condensation and 80% RH may support abundant Cladosporium, Aspergillus, and Penicillium but not Stachybotrys unless there is direct water wetting of organic materials

    This does not mean Stachybotrys is impossible in crawl spaces — it appears on wet insulation backing, on stored cardboard, and occasionally on severely water-damaged wood. But the presence of black mold growth in a crawl space is not a reliable indicator of Stachybotrys specifically — visual inspection cannot distinguish between species.

    How to Identify Stachybotrys vs. Common Black Molds

    The only reliable way to distinguish mold species is laboratory analysis. Visual differentiation is not reliable — a trained mycologist can make educated guesses based on colony morphology, growth pattern, and substrate, but cannot definitively identify species by looking at them. Options for testing:

    • Surface sampling (tape lift or swab): A sample from the affected surface is analyzed by a certified laboratory using microscopy or culture. Cost: $30–$75 per sample from a DIY kit (Zefon, Pro-Lab), $150–$300 per sample from a professional industrial hygienist. Results identify genus and sometimes species.
    • Air sampling: An ImpingerAir or similar device draws a measured volume of air through a collection cassette that captures spores. Analysis identifies airborne species and concentrations. Cost: $200–$400 per air sample location from a professional. More informative for indoor air quality assessment than surface samples.
    • ERMI (Environmental Relative Moldiness Index): A standardized DNA-based dust sample analysis that identifies 36 mold species from a single dust sample. Cost: $200–$300 per home sample. Provides the most comprehensive species identification from a single collection.

    The Appropriate Response — Regardless of Species

    Here is the practical reality: the correct response to visible black mold growth in a crawl space is the same whether it is Cladosporium or Stachybotrys — address the moisture source, remediate the visible mold, and prevent recurrence through encapsulation. The urgency and the protection level used during remediation may differ (Stachybotrys warrants full respiratory protection and containment; Cladosporium warrants at minimum an N95 and protective clothing), but the fundamental response is identical.

    Testing for specific species before deciding whether to remediate is rarely necessary. The presence of any significant visible mold in a crawl space — regardless of color or species — is a moisture problem that requires the same treatment: address the humidity source, remediate the mold, prevent recurrence. The species identification is more relevant to health impact assessment for specific occupants (particularly immunocompromised individuals) than to the remediation decision itself.

    When Species Identification Matters

    Species testing is warranted in specific circumstances:

    • An occupant of the home has been experiencing unexplained neurological symptoms, chronic fatigue, or other symptoms consistent with mycotoxin exposure at high concentrations — a physician has requested specific mold species identification
    • Insurance claims where Stachybotrys confirmation affects coverage determination
    • Litigation or legal proceedings where species identification is relevant to causation assessment
    • A contractor is proposing significantly more expensive “toxic mold remediation” scope than standard mold remediation — verify whether Stachybotrys is actually present before accepting the premium scope

    Frequently Asked Questions

    How dangerous is black mold in a crawl space?

    Black-colored mold in a crawl space is most commonly Cladosporium, Aspergillus, or similar common environmental species — not Stachybotrys, the mycotoxin-producing species associated with “toxic mold.” All visible mold in a crawl space warrants remediation and moisture control because any significant mold load contributes to indoor air quality problems via the stack effect. The species-specific danger level varies, but the correct response is the same: remediate and address the moisture source.

    How do I test for black mold in my crawl space?

    A tape lift or swab surface sample analyzed by a certified laboratory identifies the mold species. DIY kits (Zefon, Pro-Lab) cost $30–$75 per sample; professional industrial hygienist testing costs $150–$300 per sample. Air sampling ($200–$400 per location) identifies airborne species concentrations. ERMI dust testing ($200–$300) provides the most comprehensive species profile from a single sample. Testing before remediation is not always necessary — the response is similar for most species.

    Can I remove black mold from a crawl space myself?

    For limited surface mold (under 25% of joist surfaces) without confirmed or suspected Stachybotrys: DIY remediation with proper PPE (N95 respirator, Tyvek coveralls, gloves, eye protection), HEPA vacuuming, borate treatment, and post-treatment encapsulation is reasonable. For extensive mold, confirmed Stachybotrys, or occupants with immune compromise or known mold sensitivity: professional remediation is strongly recommended. Any DIY remediation must be paired with addressing the moisture source — otherwise mold returns within months.


  • Crawl Space Floor Joist Repair: Costs & Sistering Guide

    Crawl Space Floor Joist Repair: Costs & Sistering Guide

    The Distillery
    — Brew № 2 · Crawl Space

    Floor joist damage in a crawl space — from moisture, pest activity, or structural overloading — is one of the most consequential findings a crawl space inspection can reveal. Unlike cosmetic issues, a compromised floor joist affects the structural integrity of the floor above and, if deterioration progresses, the safety of the occupants. Understanding when a joist needs sistering versus full replacement, what the work actually involves, and what it costs allows homeowners to evaluate contractor proposals from an informed position and prioritize repairs appropriately.

    When Joists Need Repair: The Assessment Framework

    The threshold for joist repair is determined by the extent of structural fiber loss, not by appearance alone. A joist that appears dark or discolored but passes the probe test (awl resistance is normal — the joist resists penetration) is structurally sound. A joist that allows easy awl penetration has lost structural fibers and requires repair regardless of surface appearance.

    • No probe failure, wood MC below 19%: Sound joist. Clean surface mold with appropriate treatment; address moisture source. No structural repair needed.
    • No probe failure, wood MC 19–25%: Elevated moisture creating conditions for future decay. Address moisture source immediately; treat with borate; monitor. No structural repair yet, but urgent moisture remediation.
    • Probe failure affecting less than 25% of joist depth at any cross-section: Partial structural loss. Sistering a full-length new joist alongside the damaged member is appropriate.
    • Probe failure affecting more than 25% of joist depth, or spanning more than 24″ along the joist length: Significant structural loss. Full replacement or sistering with upgraded member size may be needed. Structural engineer assessment recommended for severe cases.

    Sistering: How It Works

    Sistering is the process of attaching a full-length new structural member alongside a damaged or undersized existing joist. The new member is the same depth as the original and spans the full distance between bearing points (typically wall to wall or wall to beam). It is attached to the existing joist with structural nails or structural screws (16d ring shank nails at 12″ spacing, or equivalent structural screws) over the full length.

    The sister joist:

    • Must be the same nominal depth as the existing joist (a 2×10 sister alongside a 2×10 original)
    • Must span between the same bearing points as the original — a sister that does not reach the full span provides no structural benefit
    • Must be pressure-treated lumber (PT) if it will be in contact with concrete at either bearing end, or in a high-moisture environment
    • Should be pre-treated with borate (Tim-bor) before installation in crawl spaces with a history of moisture or pest activity

    Full Joist Replacement vs. Sistering

    Sistering is preferable to full replacement in most situations because it:

    • Can be accomplished without removing the subfloor above
    • Adds structural capacity rather than simply restoring it (the combined section is stronger than either member alone)
    • Is faster and less expensive than full replacement

    Full replacement is required when:

    • The existing joist has lost so much structural fiber that it cannot safely carry its load during the sistering process (collapse risk during construction)
    • The joist is in a location where access prevents installing a full-length sister (a plumbing stack or HVAC trunk running through the joist bay)
    • The damage pattern is so extensive that sistering would not provide adequate repair (complete hollow gallery from termite activity, for example)

    Cost Per Joist: What to Expect

    • Material cost per sister joist (2×10, 14′): $25–$45 for pressure-treated lumber
    • Labor to install one sister joist in a standard-height crawl space: $150–$350 per joist, including temporary shoring if needed, nailing/screwing, and cleanup
    • Total per-joist cost installed: $175–$400
    • Discount for volume: Contractors typically discount per-joist cost when multiple joists in the same section are being sistered — 8–10 joists in one area may run $100–$180 each rather than $175–$400 for single-joist work
    • Low-clearance premium: Crawl spaces under 24″ of clearance add 30–50% to labor cost per joist

    How to Evaluate a Joist Repair Proposal

    • Does the proposal specify the lumber grade and species? Structural joists must meet minimum bending strength — #2 Southern Yellow Pine or Douglas Fir are the standard; premium-grade lumber is not required but the grade should be specified
    • Is pressure-treated lumber specified for bearing ends or high-moisture applications? Standard framing lumber in contact with concrete or in a previously wet crawl space is inadequate
    • Does the sister span full length between bearing points? A sister that spans only 6 feet of a 12-foot joist provides no meaningful structural benefit — ask for the proposed sister length
    • What fastening method is specified? Hand-nailing 16d ring shank nails or structural screws at 12″ spacing is appropriate; pneumatic nails at wide spacing or staples are not
    • Is temporary shoring included? If the existing joist is significantly compromised, the floor above must be supported during sistering to prevent movement

    Frequently Asked Questions

    How do I know if my crawl space floor joists need repair?

    The most reliable test: push a sharp awl firmly into the bottom face of the joist. Sound wood resists penetration — you cannot push more than 1/16″–1/8″ with significant force. Wood with structural loss from decay allows easy penetration of 1/4″ or more. Also look for: floors that bounce or deflect noticeably when walked on, visible sagging in the floor structure when viewed from the crawl space, and wood moisture content above 19% (measured with a pin-type moisture meter).

    How much does it cost to sister a floor joist in a crawl space?

    Typically $175–$400 per joist installed, depending on crawl space clearance, joist length, and local labor rates. Volume discounts apply when multiple joists in the same area are being sistered. Low-clearance crawl spaces (under 24″) carry a 30–50% labor premium. A section of 8–10 joists all requiring sistering may cost $1,200–$3,500 as a packaged scope.

    Can sistered joists fix a bouncy floor?

    Yes, in most cases — sistering adds structural capacity that reduces mid-span deflection and eliminates the bouncy sensation. A floor that bounces because the joists are undersized for the span (common in older homes) can be significantly improved by sistering with same-size or larger lumber. A floor that bounces because the mid-span support beam has settled or the joists have lost structural integrity to decay responds well to sistering after the moisture source is addressed.


  • Crawl Space Humidity Monitor: Top Devices & Placement

    Crawl Space Humidity Monitor: Top Devices & Placement

    The Distillery
    — Brew № 2 · Crawl Space

    Updated September 30, 2026.

    Place a data-logging hygrometer at center-span height (12–24 inches above the floor) in your crawl space, target below 60% RH (below 50% for sealed encapsulation), and read trends over weeks—not a single visit—to verify whether vapor control, dehumidification, or bulk water is driving moisture.

    Logged RH over time separates summer condensation from rain-driven bulk water—the verification step after crawl space vapor barrier installation and dehumidifier commissioning. This guide covers device choice, placement, and how to read the curve.

    What to Look for in a Crawl Space Humidity Monitor

    Data logging capability

    Spot readings show conditions when you are standing there; logging shows what happens overnight and after weather events. Aim for at least 30 days of history for encapsulated performance checks. On vented crawls, logging separates condensation (summer RH tracks outdoor humidity) from liquid entry (RH jumps within a day or two of rain).

    Temperature range

    Cold crawls can sit below freezing. Many consumer units are rated to 32°F; the Onset HOBO MX1101 operates to -4°F per Onset specs. SensorPush HT.w and similar models claim -40°F—useful when LCDs go blank but logging continues.

    Wireless display and alerts

    Bluetooth sensors store data until a phone syncs—fine if someone passes within range regularly. Add a WiFi gateway (Govee gateway, SensorPush G1) for remote alerts. After a crawl space inspection checklist, a logger you download once may be enough.

    Recommended Device Types

    • Govee H5075 ($20–$35): ~20 days onboard storage; CSV export in Govee Home. Bluetooth only unless you add Govee’s WiFi gateway.
    • SensorPush HT.w ($55–$65 + optional G1): Water-resistant; ~45 days onboard per manufacturer; -40°F to 140°F rated.
    • Inkbird IBS-TH Plus ($18–$30): Compact Bluetooth loggers for tight crawls—confirm storage duration in the manual for your model.
    • Onset HOBO MX1101 ($95–$130): Research-grade accuracy; large memory; -4°F operating range per Onset.
    • ThermoPro TP49 / AcuRite ($10–$20): Spot display, little history—OK for peeks through the access door, not trend proof.

    Where to Place the Monitor

    • Primary sensor: Center of the crawl at 12–24 inches above the floor, suspended from a joist—ambient air, not floor surface or rim joist microclimate.
    • Wall diagnostic (optional): Within 6 inches of the foundation wall. Higher RH at the wall than center span flags wall moisture—review vapor barrier thickness and drainage if encapsulating.
    • Near HVAC: Confirms whether equipment zones see corrosion-driving RH when center span looks fine.
    • Away from: Supply air discharges, bare soil contact, condensate drips, sump splash, and open vents that create localized drafts or sun-heated pockets.

    Interpreting Readings

    • Below 50% RH: Strong performance for a sealed, dehumidified crawl. Document the log for your file and recheck seasonally.
    • 50–60% RH: Acceptable for many targets. Sustained time above 65% may mean dehumidifier setpoint, sizing, or leakage—tight sealing changes load (crawl space encapsulation energy savings).
    • 60–70% RH: Elevated—check dehumidifier, liner breaches, plumbing, sump before calling it normal summer.
    • Above 70% RH: Mold and decay risk. Encapsulated systems should not sit here; vented crawls need assessment (crawl space repair cost follows the mechanism, not the number on a chart).
    • RH spikes after rain: Bulk water—grading, gutters, drains, liner penetrations.
    • Summer peaks without rain: Vented-crawl condensation pattern in humid climates.

    Frequently Asked Questions

    What is a good humidity level for a crawl space?

    Below 60% relative humidity is the usual target for crawl spaces — it limits mold risk and keeps wood moisture content below decay thresholds. Below 50% is a common setpoint for a sealed, dehumidified crawl space after encapsulation. Above 70% means conditions can support mold growth and wood deterioration; treat that as a problem to investigate, not normal seasonal drift.

    How do I check the humidity in my crawl space?

    Hang a digital hygrometer in the center of the crawl space, 12–24 inches above the floor (breathing-zone height, not on dirt). Leave a data-logging sensor in place for at least two to four weeks so you capture daily cycles and weather swings. Bluetooth or WiFi models let you pull readings from the living space without crawling under the house every time.

    How often should I check my crawl space humidity?

    For an encapsulated crawl space with a dehumidifier on a setpoint, review a 30-day data log twice a year — once near peak summer humidity and once in winter. For a vented or unsealed crawl space you are watching for trouble, check logs monthly in humid months and less often in winter. If the sensor sends alerts when RH crosses a setpoint, you can rely on notifications instead of manual checks.

    Do I need a WiFi hygrometer or is Bluetooth enough?

    Bluetooth is enough if someone in the home passes within range of the sensor every few days so the app syncs stored readings. Choose WiFi or a Bluetooth gateway when you want alerts while traveling or when the crawl space is out of phone range from daily life — for example Govee sensors with a WiFi gateway, or SensorPush HT.w sensors with a G1 gateway.

    Where should I not place a crawl space humidity sensor?

    Keep the sensor out of the discharge path of supply ducts, off bare soil, and away from dripping plumbing or sump lines. Do not tuck it against foundation walls for your primary reading — use center-span height for baseline RH and a second sensor near the wall only when you are diagnosing wall moisture.


  • Crawl Space Condensation: Why It Happens and How to Stop It

    Crawl Space Condensation: Why It Happens and How to Stop It

    The Distillery
    — Brew № 2 · Crawl Space

    Condensation in a crawl space — liquid water that forms on structural wood, pipes, ductwork, and other surfaces without any rain or plumbing leak — is one of the most misunderstood moisture mechanisms in residential construction. Homeowners who find wet joists and assume they have a roof leak or plumbing problem spend money investigating phantom leaks while the actual cause — physics — continues unaddressed. Understanding why condensation happens in crawl spaces, how to confirm that condensation (rather than bulk water) is the problem, and what actually stops it is the foundation for effective moisture management.

    The Physics of Crawl Space Condensation

    Every cubic foot of air holds a specific maximum amount of water vapor — the maximum is called the saturation point, and it increases with temperature. When air is cooled below its saturation point, the excess moisture it can no longer hold is released as liquid water — condensation. The temperature at which a given air mass reaches its saturation point is the dewpoint temperature.

    In a vented crawl space in summer, the mechanism is straightforward:

    • Outdoor air in a humid climate (Southeast, Mid-Atlantic, Midwest in summer) has a high absolute humidity — the air contains large amounts of water vapor. A typical July afternoon in Charlotte, NC or Columbus, OH might have outdoor air at 90°F and 65% relative humidity, with a dewpoint of 76°F.
    • This warm, humid outdoor air enters the crawl space through foundation vents.
    • Inside the crawl space, the underside of the subfloor is cooled by the air-conditioned living space above — typically 10–20°F below outdoor temperature.
    • The crawl space surfaces (subfloor underside, floor joists, pipes, ductwork) may be at 65–75°F — below the outdoor dewpoint of 76°F.
    • When the 90°F outdoor air carrying its 76°F dewpoint contacts surfaces at 70°F, the air is cooled below its dewpoint. The excess moisture it can no longer hold condenses as liquid water on those surfaces.

    This is not a construction defect, a drainage problem, or a materials failure. It is thermodynamics operating on a vented crawl space in the wrong climate. The vented crawl space design assumes outdoor air is drier than the crawl space interior — which is true in cold, dry climates but completely backwards in humid summer climates.

    Diagnosing Condensation vs. Bulk Water

    The key diagnostic distinction is timing relative to weather events:

    • Condensation signature: Moisture on wood surfaces increases during warm, humid weather — particularly during sustained humidity events, summer months, and periods without rain. Moisture decreases in cool, dry weather or in winter. No correlation to rain events specifically.
    • Bulk water signature: Moisture or standing water appears within 24–72 hours of significant rain events. Watermarks on the foundation wall at consistent heights. Efflorescence (white mineral deposits) on foundation walls indicating past water contact.
    • Soil vapor diffusion signature: Moisture present year-round at moderate, consistent levels regardless of weather. Highest in low-lying areas where the water table is closest. No strong correlation to outdoor humidity or rain.

    The definitive diagnostic test: place a 12″ × 12″ piece of plastic sheeting on the bare soil in the crawl space and tape its edges with duct tape. Wait 24 hours. Condensation on the top of the plastic (facing the crawl space air) indicates atmospheric condensation. Moisture on the underside of the plastic (between plastic and soil) indicates soil vapor diffusion through the soil surface. Both can occur simultaneously.

    Why “More Ventilation” Makes Condensation Worse

    The intuitive response to a damp crawl space is often to add more ventilation — more foundation vents, a powered exhaust fan. In a humid climate in summer, this makes condensation significantly worse, not better. More ventilation means more humid outdoor air entering the crawl space, more air being cooled below the dewpoint, and more condensation on surfaces. The Advanced Energy Corporation’s field research in North Carolina found that homes with more foundation vents had higher wood moisture content in summer than homes with fewer vents — the opposite of the expected outcome from the traditional ventilation philosophy.

    The Only Proven Solution for Condensation

    For humid-climate crawl space condensation, the only proven solution is sealing the crawl space from outdoor air entry and adding active humidity control. This is precisely what encapsulation accomplishes:

    • Sealing foundation vents eliminates the pathway through which outdoor humid air enters the crawl space
    • The vapor barrier prevents soil vapor diffusion from adding to the crawl space air humidity
    • The dehumidifier or HVAC supply connection maintains relative humidity below the dewpoint threshold at which condensation occurs on the cooler surfaces in the space

    After encapsulation of a condensation-problem crawl space, wood surfaces that previously showed 22–25% moisture content in summer stabilize at 10–14% — below the threshold for mold growth and far below the threshold for wood decay fungi. The transformation is measurable and typically occurs within 60–90 days of encapsulation.

    Frequently Asked Questions

    Why is there condensation in my crawl space?

    In a vented crawl space in a humid climate: summer outdoor air enters through foundation vents with a dewpoint temperature that exceeds the temperature of the crawl space’s cooler surfaces (subfloor, joists, pipes cooled by the air-conditioned space above). When warm, humid air contacts these cooler surfaces, the air is chilled below its dewpoint and releases liquid water as condensation. This is thermodynamics, not a construction defect or drainage problem.

    Will adding more foundation vents stop crawl space condensation?

    No — in humid climates, adding foundation vents makes condensation worse, not better. More vents mean more humid outdoor air entering the crawl space and more condensation on cool surfaces. Building science research has documented that homes with more foundation vents have higher wood moisture content in summer than homes with fewer vents in humid climates. The correct solution is sealing the crawl space from outdoor air entry, not increasing ventilation.

    How do I stop condensation in my crawl space?

    Crawl space encapsulation — sealing foundation vents, installing a vapor barrier, and adding a dehumidifier or HVAC supply duct — is the only proven solution for condensation-problem crawl spaces in humid climates. This eliminates the pathway for humid outdoor air to enter (eliminating the condensation source), controls residual humidity from soil vapor diffusion, and maintains the sealed space below the dewpoint threshold at which condensation occurs on cooler surfaces.


  • Claude Code Tutorial: Complete Beginner’s Guide (2026)

    Claude Code Tutorial: Complete Beginner’s Guide (2026)

    Last refreshed: August 30, 2026

    Claude AI · Fitted Claude

    Claude Code is the fastest-growing AI coding tool in the developer community. The r/ClaudeCode subreddit has 4,200+ weekly contributors — roughly 3x larger than r/Codex. Anthropic reports $2.5B+ in annualized revenue attributable to Claude Code adoption. This complete guide takes you from installation to your first productive agentic coding session.

    What Is Claude Code?

    Long paper tape measure unrolling across a desk beside a laptop, metaphor for context window length
    What is Claude Code?

    Claude Code is a terminal-native AI coding tool from Anthropic. Unlike IDE plugins that assist line-by-line, Claude Code operates at the project level — it reads your entire codebase, understands the architecture, writes and edits multiple files in a single session, runs tests, and works through complex engineering tasks autonomously. It uses Claude models with a 1-million-token context window — large enough to hold an entire codebase in memory.

    Installation

    Requirements: Node.js 18+, a Claude Max subscription ($100+/month) or Anthropic API key.

    # Install globally
    npm install -g @anthropic-ai/claude-code
    
    # Navigate to your project
    cd your-project
    
    # Authenticate
    claude login
    
    # Start a session
    claude

    Setting Up CLAUDE.md (The Most Important Step)

    Three stacked layers: chat UI, tools, agent runtime
    Setting up CLAUDE.md — the most important step.

    CLAUDE.md is a file you create in your project root that Claude Code reads at the start of every session. It’s the most important setup step — it gives Claude the context it needs to work effectively in your specific codebase without you re-explaining everything every time.

    A good CLAUDE.md includes:

    # Project: [Your Project Name]
    
    ## Architecture
    [Brief description of how the codebase is organized]
    
    ## Tech Stack
    - Language: [Python 3.11 / Node.js 20 / etc.]
    - Framework: [Django / Next.js / etc.]
    - Database: [PostgreSQL / MongoDB / etc.]
    - Testing: [pytest / Jest / etc.]
    
    ## Coding Standards
    - [Style guide, naming conventions, etc.]
    - [Preferred patterns for this codebase]
    
    ## Common Tasks
    - Run tests: `[command]`
    - Start dev server: `[command]`
    - Lint: `[command]`
    
    ## Known Issues / Context
    - [Anything Claude should know before working]

    Key Slash Commands

    CommandWhat It Does
    /initScans your codebase and generates an initial CLAUDE.md
    /memoryView and edit Claude’s memory for this project
    /compactCompact the conversation to free up context space
    /batchRun multiple commands or edits in one operation
    /clearClear conversation history (start fresh)

    Your First Agentic Session

    Desk with laptop, checklist notebook, and billing card ready before creating an Anthropic API key
    Your first agentic session.

    Start Claude Code in your project directory and try:

    • “Explain the overall architecture of this codebase” — Claude reads and summarizes
    • “Add input validation to the user registration endpoint” — Claude finds the right file, writes the validation, updates tests
    • “There’s a bug where [describe issue] — find it and fix it” — Claude searches the codebase, identifies the cause, fixes it
    • “Write tests for [module or function]” — Claude reads the code and writes comprehensive tests

    Rate Limits and Token Management

    Claude Code on Max 5x gets approximately 44,000-220,000 tokens per 5-hour window. Long sessions with large codebases consume tokens quickly. Best practices:

    • Use /compact when sessions get long to free up context
    • Be specific in your requests — “fix the authentication bug in auth.py” uses fewer tokens than “look through all my files for problems”
    • Auto-compaction (beta) handles this automatically when enabled

    Related on Tygart Media: how to use Claude · extended thinking · Claude + Zapier.

    Frequently Asked Questions

    What subscription do I need for Claude Code?

    Claude Max at $100/month minimum. Claude Code can also be accessed via API billing — often more cost-effective for lower-volume use.

    Can Claude Code edit multiple files at once?

    Yes. Claude Code can read, edit, and create multiple files in a single session — and runs the edits atomically, so you can review and accept or reject changes.

    How do I install Claude Code on Windows?

    Claude Code requires Node.js 18+ and runs via WSL (Windows Subsystem for Linux) on Windows. Install WSL, then follow the standard npm installation steps within your WSL terminal.

    Need this set up for your team? Talk to Will →
  • Claude vs Amazon Q: Best AI Assistant for AWS Developers

    Claude vs Amazon Q: Best AI Assistant for AWS Developers

    Last refreshed: August 30, 2026

    Model Accuracy Note — Updated May 2026

    Current flagship: Claude Opus 4.7 (claude-opus-4-7). Current models: Opus 4.7 · Sonnet 4.6 · Haiku 4.5. Claude Opus 4.7 (claude-opus-4-7) is the current flagship as of April 16, 2026. Where this article references Opus 4.6 or earlier models, those references are historical. See current model tracker →. See current model tracker →

    Claude AI · Fitted Claude

    For AWS developers, Claude and Amazon Q represent two distinct approaches to AI-assisted development. Amazon Q is deeply integrated into the AWS ecosystem — built to understand your AWS environment, your IAM policies, your CloudFormation stacks, and your AWS-specific workflows. Claude is a more capable general-purpose AI that can handle complex reasoning and code but requires you to provide AWS context manually. This comparison helps you choose — and explains why many AWS developers use both.

    What Amazon Q Does Well

    Diagram comparing a long context window bar with a shorter output limit bar
    What Amazon Q does well.
    • AWS-native context: Q can read your actual AWS account state — running resources, IAM permissions, CloudWatch logs — without you describing them
    • AWS documentation: Q is trained specifically on AWS documentation and gives more accurate, up-to-date answers for AWS-specific questions
    • Console integration: Q is embedded in the AWS Console, CloudShell, and VS Code via the AWS Toolkit — zero additional setup for AWS users
    • Troubleshooting: Q can analyze your actual CloudWatch errors and IAM policy conflicts directly
    • Cost optimization: Q analyzes your actual usage data for cost recommendations

    What Claude Does Better

    Three stacked layers: chat UI, tools, agent runtime
    What Claude does better.
    • Code quality: Claude Opus 4.6 scores 80.8% on SWE-bench vs Amazon Q’s lower published benchmarks — for complex, multi-file code generation, Claude produces better results
    • General reasoning: Architecture decisions, trade-off analysis, and complex problem-solving — Claude reasons more deeply
    • Non-AWS work: If you’re building multi-cloud or have significant non-AWS code, Claude handles everything equally; Q is heavily AWS-optimized
    • Document analysis: Claude’s 200K context window for reading technical specs, RFCs, or lengthy docs far exceeds Q’s capabilities
    • Writing: Technical blog posts, documentation, runbooks — Claude writes better

    Pricing Comparison

    Claude Amazon Q
    Individual $20-200/month $19/month (Q Developer Pro)
    Free tier Yes (limited) Yes (Q Developer Free)
    Business Custom $19/user/month

    Amazon Q Developer Pro at $19/month is competitive with Claude Pro at $20/month. For AWS-heavy developers, Q Pro includes features with no Claude equivalent (direct AWS account analysis). For general development, Claude holds the performance edge per dollar.

    The Combined Workflow

    Desk with laptop, checklist notebook, and billing card ready before creating an Anthropic API key
    The combined workflow.

    Many AWS developers use Amazon Q for AWS-specific questions (CloudFormation troubleshooting, IAM policy analysis, service limits) and Claude Code for complex coding tasks (architecture, large refactors, code review). The tools are complementary rather than competing.

    Frequently Asked Questions

    Is Amazon Q better than Claude for AWS development?

    For AWS-native questions with real account context: Amazon Q wins. For complex code generation, architecture decisions, and general programming: Claude is stronger. Many AWS developers use both.

    Can Claude access my AWS account?

    Not directly. You can paste CloudFormation templates, error logs, or resource configurations into Claude for analysis. Amazon Q connects directly to your AWS account with appropriate permissions.


    Need this set up for your team?
    Talk to Will →

  • Is Claude AI Safe? Data Security, Privacy & Scam Risks

    Is Claude AI Safe? Data Security, Privacy & Scam Risks

    Last refreshed: September 26, 2026

    Claude AI · Fitted Claude

    Safety means different things depending on who’s asking. For a parent wondering if Claude is appropriate for their teenager: yes, with caveats. For an enterprise considering Claude for sensitive workflows: that requires a more detailed answer. For a researcher wondering about AI existential risk: that’s a different conversation entirely. This guide covers all three dimensions of Claude safety in 2026.

    Is Claude Safe to Use? By Use Case

    Three stacked layers: chat UI, tools, agent runtime
    Is Claude safe to use — by use case.
    Concern Safety Level Notes
    General professional use ✅ Safe Standard writing, research, analysis
    Children and minors ⚠️ Use with awareness Claude declines adult content but isn’t a parental control tool
    Sensitive personal information ⚠️ Read privacy policy Conversations may be used to improve models on free/Pro tiers
    Confidential business data ⚠️ Enterprise tier recommended Enterprise has stronger data handling commitments
    HIPAA-regulated data ❌ Not on standard plans Requires Enterprise with a BAA from Anthropic
    Harmful content generation ✅ Declines Claude refuses instructions for weapons, self-harm, etc.

    Is Claude Psychologically Safe?

    Claude is designed not to manipulate users, not to foster unhealthy dependency, and not to tell people what they want to hear at the expense of accuracy. It will disagree with you, push back on flawed premises, and decline to validate bad decisions. Whether that’s “safe” depends on your frame — but it’s a deliberate design choice that makes Claude more honest and less likely to be weaponized as a validation machine.

    Content Safety: What Claude Will and Won’t Do

    Three stacked layers: chat UI, tools, agent runtime
    Content safety — what Claude will and won’t do.

    Claude’s content policies are enforced through Constitutional AI training, not just a filter layer bolted on afterward. This makes them more robust than keyword blocklists. Claude will decline to:

    • Generate content facilitating violence or illegal activities
    • Produce sexual content involving minors (zero tolerance, no exceptions)
    • Provide detailed instructions for creating weapons capable of mass casualties
    • Generate content designed to facilitate harassment or stalking of specific individuals

    Claude’s refusals are imperfect — it occasionally refuses legitimate requests and occasionally allows borderline ones. But the overall calibration has improved substantially with each model generation.

    Data Security

    Diagram comparing a long context window bar with a shorter output limit bar
    Data security.

    Anthropic is a US-incorporated company subject to US law. Conversation data is stored on Anthropic’s infrastructure. Consumer accounts may be used for model training (opt-out available). Enterprise and API accounts have zero-data-retention options. Anthropic has published a privacy policy at privacy.claude.com and does not sell conversation data to third parties or advertisers.

    Anthropic’s Responsible Scaling Policy

    Anthropic has published a Responsible Scaling Policy (RSP) — a commitment to evaluate Claude models against specific safety thresholds before deployment. The RSP creates public accountability: if future Claude models show dangerous capability thresholds in evaluation, Anthropic has committed to not deploying them until additional safety measures are in place. This is a meaningful governance commitment uncommon among AI companies.

    Fake Claude Scams: What Every User Should Know

    Desk with laptop, checklist notebook, and billing card ready before creating an Anthropic API key
    Fake Claude scams — what every user should know.

    Malwarebytes and other security researchers have documented phishing campaigns using fake “Claude AI” websites to steal credentials and install malware. Key indicators of legitimate Claude access:

    • The official Claude interface is at claude.ai — any other domain claiming to be Claude is not
    • Anthropic does not offer Claude through third-party websites requiring separate account creation
    • Claude’s API is accessed at api.anthropic.com
    • If you’re ever unsure, go directly to anthropic.com and navigate from there

    Related on Tygart Media: is Claude worth it · how to use Claude · training data cutoff.

    Frequently Asked Questions

    Is Claude safe for kids?

    Claude has content filters that prevent most inappropriate content, but it’s not specifically designed as a children’s product. Parental supervision is recommended for younger users. Claude doesn’t have age verification on the free tier.

    Can Claude be jailbroken?

    Attempts to manipulate Claude into ignoring its safety training exist. Anthropic actively works to patch these. Claude is more robust against jailbreaking than most models, but no AI system is perfectly immune to sophisticated manipulation attempts.


    Need this set up for your team?
    Talk to Will →