Methodology
FireApproved is a citation layer. It records listings, tests, adopted code, and public AHJ practice. It does not grant approval.
Voice
We write to ISO 24495-1:2023 plain-language principles (relevant, findable, understandable, usable) and to the Federal Plain Language Guidelines. We borrow term discipline from Simplified Technical English: one word per concept. We are not ISO-certified and we do not claim full ASD-STE100 compliance. See how we write.
Direct answer first. Then complete the topic. No padding. No synonym hopping for “listed,” “tested,” and “adopted.”
Pages do not repeat a personal byline. Editorial responsibility is recorded on who writes this.
What a claim needs
Listing claims need a listing-body or official source and a listing ID or listing URL. Listed means a named model is on a listing body’s current record. It is not “FireApproved approved,” and it is not a permit. OSFM listing is usually voluntary. Absence from the handbook is not a ban. Presence is not a permit. See OSFM listing is usually voluntary and how to read a listing.
Class A, B, and C describe a tested assembly, not a bag of covering. See covering versus assembly.
A plant's status is computed from its evidence rows by a published rule (amended 2026-08-24), never hand-assigned: verdicts tally by independent Tier-1 lineage, so a rater cannot outvote themselves through republication; the majority direction classifies the plant (a single Tier-1 lineage lists it as limited-evidence, and a majority over live dissent always shows the dissent); ties publish as conflicts, never averaged; and direct fire evidence is never silently outvoted by curation. The plant directory currently shows 1382 fire-resistant and 366 keep-away records, conflicts in full, and an awaiting-evidence pool in the Grow list — no directional primary verdict yet, not a third recommendation grade. Zone 0 is not a planting list.
Dataset rows need a public source URL. AHJ interpretations may cite a public seminar or published FAQ, not a private email. If no public source contains the claim, the claim does not ship.
How to cite the data
The live pages are the source of truth. Two frozen snapshots are also published CC BY 4.0 so a paper or staff report can cite a DOI. GitHub release v2026.08.25 is the version pin. Do not cite Crunchbase competitor chips or any rating invented by a dataset host.
- Plant flammability evidence: FireApproved.com (2026). Plant flammability evidence directory [Data set]. https://doi.org/10.5281/zenodo.22099746 — CC BY 4.0. Canonical: /plants/. Copies: Hugging Face, Kaggle, Wikidata.
- OSFM BML WUI category censuses: FireApproved.com (2026). CAL FIRE OSFM Building Materials Listing — WUI category censuses [Data set]. https://doi.org/10.5281/zenodo.22099756 — CC BY 4.0. Canonical: /data/. Copies: Hugging Face, Kaggle, Wikidata.
Photo fields in the plants export are metadata only; images are not included and are not CC BY. The six-row ORSC R327 adoption table is not a standalone DOI.
Publish gate
Phase 1 has no human review workflow. npm test content lint fails the build on the rules above.
Place
Product, plant, standard, category, and guide URLs stay canonical and shared. Geographic rows
compile into cited local claims with an explicit scope kind, a scalar or multi-place ID when the
claim names political authorities, an exact-or-descendants reach rule, stable anchor, source, and
date. The location lens promotes exact rows, then inherited rows; sibling and other-place rows stay in
accessible <details> in the same server-rendered HTML. Nothing is fetched, rewritten,
or removed for a crawler or a visitor.
Agents do not run the location control. They fetch /places.json
(and /places/{id}.json for ancestors and children), then filter guide JSON twins such as
/guides/r327-vs-cwuic.json.
Read each row's scopeKind. Place rows carry placeId or
placeIds plus scopeMode; distinguish exact IDs, allowed ancestors in the
selected stack, and child evidence reached through children. National,
program, standard, research, region, and service rows are separate evidence classes. A sibling is
elsewhere evidence, never a local match. State and local landing twins expose the normalized claims
and application records used by the HTML.
A five-digit ZIP is optional and is the only way to set a place. It resolves to the most specific
sourced city, county, or state node available, but it is a postal match, not a
legal boundary, hazard map, or parcel determination. There is no hand-picked state list. Every
state has a landing at /places/; unreviewed construction status
says "not yet reviewed" and asserts nothing. A local landing is generated from a typed sourced
authority record: code adoption, local code, code administration, fire access, inspection, or
fire service. Those types prevent an access guide from being presented as an ordinance.
Oregon and California ZIPs resolve from a GeoNames-derived table
(/data/or-ca-zips.json, CC BY 4.0).
Sourced city and county overlays in other states use the same table with kind-aware matching
(/data/sourced-local-zips.json, CC BY 4.0):
city names match city nodes, county names match county nodes. USDA plant-hardiness zone for a ZIP
comes from the 2023 USDA PHZM ZIP listing
(/data/phzm-zip-zones.json;
PRISM Group, Oregon State University; zone designations unaltered). That listing is not
a FireApproved CC BY dataset and is not a building code.
Jurisdiction identity and code application are different layers. An application record joins a
cited instrument to an exact place and preserves its status, geographic scope, requirement IDs,
and unresolved predicates: local adoption, official boundary, official hazard map, project type,
effective date, and official confirmation. Requirement placeIds alone never activate
a rule. Oregon R327 is recorded as available for local adoption, with exact adopter records where
sourced; California CWUIC retains map and project gates; Colorado CWRC retains local-adoption,
map, and project gates.
Plant locality is deliberately multi-dimensional. Fire classification, documented state
distribution, documented native range, USDA hardiness, invasive/noxious rows, source region,
placement, and maintenance remain separate. Setting a location reorders and annotates records;
it does not silently hide a flagged plant. “Hide records flagged here” is an explicit filter, and
absence of a flag row is not regulatory clearance.
Oregon and California hubs
are views, not reprints. Build returns
the sourced rule and product cards for each part of the house.
Product JSON twins still carry resolveAt. Unknown rows stay in both HTML and JSON.
Place is not an approval. State landings aggregate and link; they never reprint the shared object URLs, which stay shared.
Related records
- Guides. How the documents differ.
- Doors. Glazed doors follow the window rules. Garage-door weatherstrip is ember work, not an OSFM 8150 listing.
- California SFM methods: 12-7A-1 siding, 12-7A-2 windows, 12-7A-3 eaves, 12-7A-4 decking.
- ASTM methods: E136 noncombustible, E84 flame spread, E2707 wall assembly under direct flame.
- Standards index. Test methods, listing programs, codes, and guidance are different kinds of objects.
- Ignition-resistant versus noncombustible.
License
Structured JSON is CC BY 4.0. Editorial text is all rights reserved.
Disambiguation
This organization is not CAL FIRE, not OSFM, not IBHS, and not a building department.
Place
Product, plant, standard, category, and guide URLs stay canonical and shared. Geographic rows
compile into cited local claims with an exact placeId, stable anchor, source, and date.
The location lens promotes exact rows, then inherited rows; sibling and other-place rows stay in
accessible <details> in the same server-rendered HTML. Nothing is fetched, rewritten,
or removed for a crawler or a visitor.
Agents do not run the location control. They fetch /places.json
(and /places/{id}.json for ancestors and children), then filter guide JSON twins such as
/guides/r327-vs-cwuic.json.
Keep national rows whose placeId is omitted; distinguish exact IDs, ancestors in the
selected stack, and descendants reached through children. A sibling is
elsewhere evidence, never a local match. State and local landing twins expose the normalized
claims and application records used by the HTML.
A five-digit ZIP is optional and is the only way to set a place. It resolves to the most specific
sourced city, county, or state node available, but it is a postal match, not a
legal boundary, hazard map, or parcel determination. There is no hand-picked state list. Every
state has a landing at /places/; unreviewed construction status
says "not yet reviewed" and asserts nothing. A local landing is generated from a typed sourced
authority record: code adoption, local code, code administration, fire access, inspection, or
fire service. Those types prevent an access guide from being presented as an ordinance.
Oregon and California ZIPs resolve from a GeoNames-derived table
(/data/or-ca-zips.json, CC BY 4.0).
Sourced city and county overlays in other states use the same table with kind-aware matching
(/data/sourced-local-zips.json, CC BY 4.0):
city names match city nodes, county names match county nodes. USDA plant-hardiness zone for a ZIP
comes from the 2023 USDA PHZM ZIP listing
(/data/phzm-zip-zones.json;
PRISM Group, Oregon State University; zone designations unaltered). That listing is not
a FireApproved CC BY dataset and is not a building code.
Jurisdiction identity and code application are different layers. An application record joins a
cited instrument to an exact place and preserves its status, geographic scope, requirement IDs,
explicit requirement coverage (none, partial, or complete), and unresolved predicates: local adoption, official boundary, official hazard map, project type,
effective date, and official confirmation. Requirement placeIds alone never activate
a rule. Oregon R327 is recorded as available for local adoption, with exact adopter records where
sourced; California CWUIC retains map and project gates; Colorado CWRC retains local-adoption,
map, and project gates.
Plant locality is deliberately multi-dimensional. Fire classification, documented occurrence,
native and introduced range, USDA hardiness, ecological and regulatory status, source region,
placement, fire-performance conditions, and sourced horticultural maintenance remain separate.
A minimum-only hardiness value is a cold threshold, not a one-half-zone range. Exact source
temperatures retain their units and conversion basis. One canonical C/F conversion validates
the containing PHZM half-zone; same-band derived comparisons stay uncertain unless the source
endpoint proves the threshold, values outside Zones 1a–13b are not clamped, and uncertain or
inapplicable rows project no legacy zone. An applicable below-scale minimum remains discoverable
in every published warmer zone but retains its outside-scale marker and never becomes an invented
1a; an above-scale minimum matches no published zone. Contradictory applicable rows publish as unresolved
conflict rather than allowing source order to choose a zone. Lower-48 status is broader context only in
conterminous states, never Alaska or Hawaii; doubtful or extinct range rows do not establish
current presence. Introduced/established context is not an invasive warning. Status imports
preserve the source record, taxon, designation, normalized rank plus separate raw rank, and any
name or subordinate-taxon projection; exception-bearing genus regulations require an explicit
target review. An irrigated test row describes fire evidence and never creates garden
irrigation advice. Setting a location reorders and annotates records;
it does not silently hide a flagged plant. “Hide records flagged here” is an explicit filter, and
absence of a flag row is not regulatory clearance.
USDA Forest Service FEIS rows are section-reviewed fire-ecology context: ecosystem and fuel
conditions, immediate effects, postfire response, management, and invasive–fire feedback.
They are admitted only for a cited taxon match, retain the review section and anchor, and never
vote in the computed plant classification. Fire behavior around a taxon is not a substitution
for a flammability recommendation or a local planting rule.
Oregon and California hubs
are views, not reprints. Can I use this here returns
evidence found, conditional, not accepted, or unknown, followed by the complete evidence and
application trace. Agents fetch resolveAt on a product JSON twin. Unknown rows stay in both HTML and JSON.
Product attributes carry field-level evidence. A value may come from a manufacturer technical document, an official listing, a test report, or a standard body, and the source type remains visible. The requirement matcher uses only documented fields; a listing or category name does not manufacture an attribute.
Place is not an approval. State landings aggregate and link; they never reprint the shared object URLs, which stay shared.