Skip to content
SafetyRecord logoSafetyRecord

Company Page Data Reference

Internal reference documenting every section on a company page: what data it shows, where it comes from, how it is matched, and what is our own text vs. government data.

This page covers only features currently live on the public site. Scrapped enrichment concepts are intentionally excluded. This page is not indexed by search engines. Last updated: 2026-04-08.

Legend:DIRECT GOV DATACOMPUTED FROM GOV DATAEDITORIAL / CURATEDMETADATA

Company Header

DIRECT GOV DATA
Fields shownCompany name, address, city, state, zip, NAICS code, NAICS title, date range
Data sourceDOL OSHA Enforcement Database (Inspections table)[source]
DB tableestablishments + establishment_locations
Matching methodDerived from inspections. Grouped by normalized employer name + city + state from OSHA records. canonical_name = most common spelling from inspection records.
Data accuracyDerived from OSHA inspection records. This is a deterministic grouping rule, not a universal legal-entity identifier.
Text originAll text is data-driven. No editorial content.

Summary Lede (red left border paragraph)

DIRECT GOV DATA
Fields shownTotal inspections, total violations, total penalties, date range
Data sourceDOL OSHA Enforcement Database (Inspections + Violations tables)[source]
DB tableestablishments (pre-aggregated counts from inspections/violations)
Matching methodCounts are aggregated from inspections assigned to the derived establishment record via establishment_inspections.
Data accuracyAggregated counts verified by audit_database.py. Penalties use current_penalty, the latest penalty amounts on record, which may differ from initial assessments or final amounts after settlement.
Text originTemplate-generated sentence using data values. Wording varies based on whether violations exist.

Violation Type Breakdown Bar

DIRECT GOV DATA
Fields shownSerious count, Willful count, Repeat count, Other count
Data sourceDOL OSHA Enforcement Database (Violations table, vio_type field)[source]
DB tableestablishments (serious_count, willful_count, repeat_count, other_count)
Matching methodPre-aggregated from violations linked via establishment_inspections. Violation types use OSHA's own classification: S=Serious, W=Willful, R=Repeat, O=Other.
Data accuracyCounts verified by audit_database.py check #1 (recalculates from raw data and compares). Deleted violations (delete_flag) are excluded. Uses OSHA terminology only.
Text originLabels are OSHA's official violation type names. No invented categories.

Overview (Insights)

COMPUTED FROM GOV DATA
Fields shownDynamic factual statements about the establishment
Data sourceComputed from DOL OSHA Enforcement Database fields[source]
DB tableestablishments, inspections, violations (via generateInsights())
Matching methodDirect data from linked inspections/violations. No cross-database matching.
Data accuracyEach insight is a factual statement derived from data (e.g., 'X inspections in the last 5 years'). Pure math, no editorial judgment.
Text originGenerated by src/lib/insights.ts. Uses deterministic hash for consistent phrasing per entity. All statements are verifiable from the underlying data.

Overview Disclaimer

EDITORIAL / CURATED
Fields shownStatic disclaimer text
Data sourceSafetyRecord editorial (not from government data)
DB tableNone (hardcoded)
Matching methodN/A
Data accuracyN/A - this is our own disclosure language.
Text originHardcoded in company page. States: data from DOL OSHA, penalty amounts reflect the latest on record, having inspections is common, not legal advice.

Industry Comparison

COMPUTED FROM GOV DATA
Fields shownViolations per inspection, penalties per inspection, industry averages, sample size
Data sourceComputed from DOL OSHA Enforcement Database[source]
DB tableestablishments (aggregated by 3-digit NAICS via getIndustryBenchmark())
Matching methodCompares this establishment's rates against all establishments sharing the same 3-digit NAICS code. Minimum 10 employers required.
Data accuracyPure math: establishment's total / inspections vs. industry average. Labels 'Above avg' (>1.3x), 'Below avg' (<0.7x), 'Near avg' use fixed thresholds with no editorial judgment.
Text origin'Above avg'/'Below avg'/'Near avg' are computed labels based on ratio thresholds. No invented grades or scores.

Most Cited Standards

DIRECT GOV DATA
Fields shownStandard code, title, citation count, penalties
Data sourceDOL OSHA Enforcement Database (Violations table, standard field)[source]
DB tableviolations (via getCompanyTopStandards()), osha_standards for titles
Matching methodDirect from violations linked to this establishment. Standard titles from eCFR/osha_standards table.
Data accuracyCitation counts and penalties are exact sums from violation records. Standard titles from official eCFR or OSHA sources only.
Text originNo editorial text. Pure data table.

Enforcement Timeline (Company Pages)

DIRECT GOV DATA
Fields shownActivity number, inspection type, open date, close date, first recorded contest date across any citation tied to the inspection, most recent recorded final order date across any citation tied to the inspection, current penalty
Data sourceDOL OSHA Enforcement Database (Inspections + Violations tables)[source]
DB tableinspections + violations (via establishment_inspections join)
Matching methodThe inspection-to-violation link is exact via activity_nr. Contest and final order markers aggregate citation-level dates per inspection: MIN(contest_date) for the earliest recorded contest, MAX(final_order_date) for the most recent recorded final order.
Data accuracyEvery marker reflects a date present in OSHA's enforcement record. Inspections without a recorded open_date are excluded from the visual because they cannot be placed on a time axis, and the same exclusion applies to the Inspection Records table below so the two surfaces show the same set of rows. The records table remains the authoritative row-by-row detail layer; the timeline is a visual index into it.
Text originNo editorial content. Marker labels (Opened, Contest recorded, Final order recorded, Closed) follow OSHA's own terminology.

Inspection Records Table

DIRECT GOV DATA
Fields shownActivity number, open date, type, scope, violation count, penalties
Data sourceDOL OSHA Enforcement Database (Inspections + Violations tables)[source]
DB tableinspections + violations (via establishment_inspections join)
Matching methodThe violation-to-inspection link is exact via activity_nr. Inclusion on a company page depends on the derived establishment record built from normalized employer name + city + state.
Data accuracyAll fields directly from the DOL OSHA enforcement data. Inspection type labels follow the DOL inspection metadata endpoint for `insp_type` (for example: A=Accident, B=Complaint, H=Planned, M=Fat/Cat).
Text originNo editorial text. Type labels from OSHA's own code definitions.

Inspection Status Badge and Case Dates (Inspection Pages)

COMPUTED FROM GOV DATA
Fields shownStatus badge, close date, contest date, final order date, explanatory note
Data sourceDOL OSHA Enforcement Database (Inspections + Violations tables)[source]
DB tableinspections + violations
Matching methodDirect link by activity_nr. Inspection status starts with the inspection record. Citation contest and final order dates come from violation records tied to the same inspection number.
Data accuracyIf close_case_date exists in the inspection record, the page shows Closed with that date. If close_case_date is blank, the page does not invent a closure date. If all violations tied to the inspection have final_order_date values, the page shows Final Order Recorded and discloses the citation dates as additional context.
Text originMixed: badge labels and explanatory text are SafetyRecord disclosure language, but every displayed date comes from DOL OSHA source fields.

Violations Table (Inspection Pages)

COMPUTED FROM GOV DATA
Fields shownCitation ID, standard code, standard title, violation type, initial penalty, current penalty, abatement date, contest date, final order date
Data sourceDOL OSHA Enforcement Database (Violations table)[source]
DB tableviolations
Matching methodDirect link by activity_nr. Each displayed row is a separate published OSHA citation record tied to that inspection number.
Data accuracyRows are not merged or deduplicated for presentation. Similar-looking rows may still appear separately when OSHA publishes different citation IDs or different row-level metadata such as nr_instances, nr_exposed, or gravity. Contest and final-order dates are shown per citation when present in OSHA's enforcement record. A missing value rendered as a dash means the activity is not currently on record for that citation.
Text originMixed: table values are direct OSHA data. The short note above the table is SafetyRecord disclosure language explaining why similar-looking rows may still appear separately.

Failure to Abate Penalties (Inspection Pages)

COMPUTED FROM GOV DATA
Fields shownCitation ID, follow-up inspection number, FTA issuance date, FTA penalty amount, FTA contest date, FTA final order date
Data sourceDOL OSHA Enforcement Database (Violations table, fta_* fields)[source]
DB tableviolations (fta_insp_nr, fta_issuance_date, fta_penalty, fta_contest_date, fta_final_order_date)
Matching methodDirect link by activity_nr. The fta_insp_nr field on a citation is the activity number of the follow-up inspection that assessed Failure to Abate for that citation. Internal link to the follow-up inspection is emitted only when that activity_nr is present in our inspections table; otherwise the number is shown without a link. No name matching.
Data accuracyAll five values are taken directly from OSHA's violations fields and shown unmodified. A missing value rendered as a dash means the field is not on record for that citation. The total FTA penalty shown in the section header is a SQL SUM across all citations on this inspection, not the truncated render list.
Text originMixed: the short note above the table is SafetyRecord disclosure language explaining what an FTA penalty is and how the fields are sourced. The table cells are direct OSHA data.

Reported Severe Injuries

DIRECT GOV DATA
Fields shownEvent date, description, fatality/amputation/hospitalization flags, injury details, linked inspection
Data sourceDOL OSHA Enforcement Database (Accidents + Accident Injuries tables)[source]
DB tableosha_accidents + osha_accident_injuries (via establishment_inspections)
Matching methodLinked via rel_insp_nr (inspection number) in osha_accident_injuries -> establishment_inspections. Direct government key, no name matching.
Data accuracyEvent descriptions are from OSHA's accident investigation narratives. Fatality flag from OSHA data. Nature/body part codes currently stored as raw codes (decode pending).
Text originNo editorial text. Descriptions are OSHA's own narratives.

Associated OSHA Activity (Inspection Pages)

DIRECT GOV DATA
Fields shownComplaint count, referral count, accident report count
Data sourceDOL OSHA Enforcement Database (Related Activity table via DOL V4 API)[source]
DB tablerelated_activity
Matching methodLinked via activity_nr (inspection number). Direct government key, no name matching. Counts only - rel_act_nr values are OSHA internal reference numbers, not cross-referenceable inspection IDs.
Data accuracyAll fields directly from DOL API. rel_type codes: C=Complaint, R=Referral, A=Accident. Type I (Investigation) records are excluded from display as their reference numbers are internal OSHA IDs.
Text originNo editorial text. Type labels from OSHA's own code definitions.

Other Inspections of This Employer (Inspection Pages)

DIRECT GOV DATA
Fields shownInspection number, date, type, violation count, total penalty
Data sourceDOL OSHA Enforcement Database (Inspections + Violations via DOL V4 API)[source]
DB tableestablishment_inspections + inspections + violations
Matching methodLinked via establishment_inspections join table after establishment grouping. The underlying establishment record is derived from normalized employer name + city + state, not an official business ID.
Data accuracyAll displayed inspection fields are directly from DOL API. Limited to 20 most recent inspections assigned to the same derived establishment record.
Text originNo editorial text.

OSHA PEL Reference (Chemical Sampling Section)

DIRECT GOV DATA
Fields shownOSHA Permissible Exposure Limit (TWA), link to OCD source page
Data sourceOSHA Occupational Chemical Database (OCD) at osha.gov/chemicaldata/[source]
DB tableocd_pel_reference
Matching methodMatched via IMIS analyte code (exact key). The IMIS code in chemical_samples is the same identifier used in the OCD. 88% of samples match; unmatched samples show no PEL rather than guessing.
Data accuracyPEL values scraped directly from individual OCD chemical pages. 831 chemicals covered. Values include TWA limits from 29 CFR 1910.1000 Tables Z-1/Z-2/Z-3 and substance-specific standards. Non-substance analytical method codes (Gravimetric Determination, Sample Weight, etc.) are excluded from display.
Text originNo editorial text. PEL values displayed exactly as published by OSHA.

About This Industry

EDITORIAL / CURATED
Fields shownNAICS code, industry title, sector, description, common hazards
Data sourceNAICS descriptions JSON (curated from Census Bureau NAICS definitions)[source]
DB tablesrc/data/naics-descriptions.json
Matching methodMatched by NAICS code (first 6, 4, or 2 digits). Falls back to broader codes if exact match not found.
Data accuracyIndustry descriptions based on official NAICS definitions. Common hazards text is curated editorial content based on OSHA guidance for the industry group.
Text originIndustry description from NAICS definitions. 'Common hazards' is EDITORIAL content based on OSHA industry guidance - not a direct government quote.

Nearby Employers

DIRECT GOV DATA
Fields shownCompany name, slug, inspection count
Data sourceDOL OSHA Enforcement Database[source]
DB tableestablishments + establishment_locations (same city + state)
Matching methodExact city + state match. Shows other establishments inspected by OSHA in the same city.
Data accuracyDirect from establishment data. No cross-database matching.
Text originNo editorial text.

Schema.org Structured Data (hidden)

METADATA
Fields shownBreadcrumbList and Dataset schemas
Data sourceGenerated from establishment data
DB tableestablishments (via SchemaOrg component)
Matching methodN/A
Data accuracySchema markup uses the same data shown on the page and does not mark company pages as an official government service.
Text originJSON-LD in page head. Not visible to users.