HR & employment

OSHA Inspections, Worker Complaints and Retaliation Protection

This page explains what happens when OSHA comes to a workplace, from the trigger of an inspection to citations and appeals. It also covers the protections workers have when they complain about hazards or use their safety rights.

Ask your question

Free account required

Each question stands alone · 1 free a month, then with a subscription.

Answers are written by a language model solely from this base's documents, with numbered sources. They can be wrong and aren't legal, medical or financial advice: check the sources before any important decision.

How an inspection is triggered and conducted

Inspections are initiated without advance notice. OSHA's priorities are imminent danger, fatalities or hospitalizations, worker complaints and referrals, targeted inspections of particular hazards or high injury rates, and follow-up inspections.

The compliance officer presents credentials, holds an opening conference, walks through the covered areas with representatives, then holds a closing conference to discuss findings. Workers can have a representative join the walkaround and can talk privately with the inspector.

Citations, deadlines and appeals

A citation describes the violation and the date by which it must be corrected; violations can be classified as serious, willful or repeat, and the citation must be posted where employees will see it.

Employers can challenge the violation itself, its classification, the penalty, the required correction and the deadline. Workers may only contest the time allowed to correct the hazard, by filing a notice of contest with the OSHA area office within 15 days. Appeals go to the independent Occupational Safety and Health Review Commission.

What illegal retaliation looks like

The OSH Act forbids adverse action against workers who raise safety concerns, report an injury, file a complaint or take part in an inspection. This includes firing, demotion, reduced pay or hours, harassment, blacklisting, and threats to report an employee to the police or immigration authorities.

A worker who believes they were retaliated against has 30 days to file a complaint with OSHA, in any language, by phone, mail or online, with no form required.

Frequently asked questions

Will OSHA tell the employer who filed the complaint?

No, workers and their representatives can request an inspection without OSHA revealing their identity to the employer. They can ask for this on the complaint form, and the information they give stays confidential.

Is an online complaint as effective as a written signed one?

Online complaints are usually handled by phone or fax with the employer rather than an on-site visit. A signed written complaint about a serious hazard, sent by a current worker or representative to an area office, is more likely to lead to an on-site inspection.

When can a worker refuse to work because of a hazard?

Only if the danger clearly risks death or serious harm, there is no time for OSHA to inspect, and, where possible, the worker asked the employer to fix it. A good faith refusal under these conditions is protected from retaliation.

For developers and agents

Embed / API / MCP

Connect this base to Claude, Cursor, ChatGPT or your own app. Each API or MCP request costs €0.10, charged to your Kopik credit (not charged if nothing is found). You need an API key: create one from your dashboard.

MCP for your agents

This base's MCP server URL (tools ask_base and search_base):

MCP URL
https://kopik.io/api/mcp?base=us-workplace-safety-osha-small-business
Claude Code, Cursor and other clients
Claude Code
claude mcp add --transport http kopik-us-workplace-safety-osha-small-business "https://kopik.io/api/mcp?base=us-workplace-safety-osha-small-business" --header "Authorization: Bearer kpk_…"
JSON config (mcpServers)
{
  "mcpServers": {
    "kopik-us-workplace-safety-osha-small-business": {
      "url": "https://kopik.io/api/mcp?base=us-workplace-safety-osha-small-business",
      "headers": {
        "Authorization": "Bearer kpk_…"
      }
    }
  }
}

REST API for your apps

mode is "answer" (written answer + sources) or "passages" (raw passages only). Add an optional maxPriceCents to cap the price: if the base costs more, the call is refused and nothing is charged.

curl
curl -X POST https://kopik.io/api/v1/bases/us-workplace-safety-osha-small-business/query \
  -H "Authorization: Bearer kpk_…" \
  -H "Content-Type: application/json" \
  -d '{"question": "Your question here", "mode": "answer"}'

Getting started

  1. Create a key in your dashboard and top up your credit.
  2. Replace kpk_… with your key.
  3. Full details (responses, errors, JS and Python examples): developer docs.