An independent project · still being built

Every word of OSHA,
read and remembered.
Ask it anything — it'll show you the rule.

1910, 1926, 1904, 1903, the OSH Act, and 279 official interpretation letters — 7,220 passages, and Canary can put its finger on the exact one behind anything it tells you. Ask in plain English; it finds the passage, answers from it, and shows you the citation. When the standards don't settle the question, it says so instead of guessing.

This is the working engine, not a recording. Nothing to sign up for, nothing to install — go ahead and poke at it.

Three things that made this hard

  • Nobody talks like the law does. You say forklift. The standard says powered industrial truck. Canary translates the question before it goes looking.
  • Meaning-search and word-search both fail alone. One misses exact citation numbers, the other misses paraphrase. It runs both and merges the rankings.
  • Knowing when to shut up. If nothing in the corpus actually supports an answer, it refuses instead of inventing one. That turned out to be the hardest part.
How it actually works →
CANARY AIretrieving…
Your turn — ask it anythingfree · no signup
Real engine · cites the standard it came from 3 free today
Or start with one of these:

Everything it has read

29 CFR 1910General industry — complete
29 CFR 1926Construction — complete
29 CFR 1904Injury recordkeeping
29 CFR 1903Inspections & citations
The OSH ActIncluding the General Duty Clause
279 lettersOfficial OSHA interpretations, 2016–2026
ISO 45001 & ANSI Z10Clause and section maps
7,220 passagesEvery answer cites one of them

What it does

Four modes, all built on the same rule: no passage, no answer. It never tells you something it can't point at.

Ask

Cited answers

Ask the way you'd ask a colleague. The answer comes back with the passage attached, so you can check the reasoning instead of taking it on faith.

"How high before fall protection?" → 6 feet in construction (29 CFR 1926.501(b)(1)) — with the passage to prove it.
Is it recordable?

Recordability determinations

Answer five plain questions about an incident and it walks the 1904 criteria in order, cites the interpretation letters that decide the close calls, and writes the determination out as a memo you can file.

If the facts are too thin to call, it names which fact is missing instead of picking an answer.
Draft

JHAs & incident reports

Describe a task or an incident and it builds a structured draft, citing the standard wherever the law actually backs a control — exported as a clean, postable PDF.

Propane tank change → 5-step JHA table, hierarchy-of-controls ordering, ready to print. See a real one →
Gap check

Program assessments

Paste a written safety program and it walks it clause by clause against the ISO 45001 and ANSI Z10 structures, marking what's covered and what isn't.

✅ Addressed · ⚠️ Partial · ❌ Missing — each with the clause number and what to add.
Canary AI interface showing a question about forklift operator training answered with cited OSHA sections

The real app. Every answer, draft and determination is saved, searchable, and belongs to whoever wrote it. Download a sample JHA export (PDF)

How it actually works

Handing a question to a language model and hoping is not a system. This is the pipeline every question runs through before a single word gets written.

01 · Translate

The vocabulary bridge

You ask about a forklift. The standard has never once used that word — it says powered industrial truck. Before anything is searched, the question is expanded with the terms the regulation actually uses. 126 of these bridges exist so far — 58 of them added in a single day of deliberately hunting for words that fail — and they're applied at query time, so adding one costs nothing.

02 · Search, twice

Meaning and words, in parallel

All 7,220 passages are searched two ways at once: a vector search that matches meaning even when no word overlaps, and a keyword search (BM25) that catches the things meaning-search fumbles — section numbers, dates, exact terms of art. Neither is good enough alone.

03 · Merge

Reciprocal rank fusion

The two ranked lists get folded into one. A passage both engines liked beats a passage only one of them loved. Then citations are capped at two chunks each, so a single long standard can't crowd out everything else in the answer.

04 · The gate

Nothing good enough? Then nothing.

If the surviving passages don't clear a relevance floor, the pipeline stops here and says so — what it couldn't find, and where to look instead. An honest "I don't know" is the whole point. A confidently wrong OSHA answer is how people get hurt.

05 · Write

Answer from the passages only

The model is handed the surviving passages and told, in fairly blunt terms, that it may use nothing else. Every claim carries the section it came from, and the passages are shown alongside the answer so the reasoning is inspectable rather than trusted.

06 · Keep

It doesn't forget

Every answer, draft and recordability determination is written to a workspace that persists — searchable later, attributable to whoever wrote it. Most of the value in a safety decision is being able to find it again two years on.

Each of those stages exists because a simpler version failed a real question first. 246 retrieval checks run before anything ships — including a set whose only job is to catch the engine refusing to answer something it plainly should. See all 246 checks →

The parts that are still hard

Every project page shows the wins. Here are the failures, because they're the more interesting half — and because a compliance tool that hides its defects has the wrong instincts.

Found · fixed

"Nobody saw it happen" returned woodworking equipment

An honest question about an unwitnessed injury came back with a refusal. The keyword engine had latched onto saw — as in the machine — and dragged 1910.213 into the results. Everything relevant scored below the abstention floor, so the engine went quiet on a question it absolutely knew the answer to.

The fix was a vocabulary bridge for how people actually describe these things: unwitnessed, nobody saw, reported late, days after. Relevance on that question went from 18.8 to 92.8. It now ships with a permanent test.

Found · fixed

It was writing to the wrong person

Asked about forklift training, it produced a technically correct answer that drifted mid-paragraph from addressing the manager to addressing the operator — pronouns and all. Correct and useless: you can't forward that to anyone.

Now the rule is explicit. Answers are written to the person carrying the responsibility, and they don't restate the question back at you before starting.

Found · fixed

Too cautious to be useful

Abstention is the safety valve, and for a while it was jammed open. The engine would decline anything with a wrinkle in it and suggest consulting a compliance officer — which, for the person who is the compliance officer, is a non-answer dressed as prudence.

Abstaining is now reserved for genuinely unsupported questions. When the standards give a framework but not a verdict, it walks the framework and names what would change the outcome.

Open

It only knows federal OSHA

Roughly two dozen states and territories run their own OSHA-approved plans, and several are stricter than the federal floor. Canary will tell you the federal rule correctly and has no idea whether your state adds to it. The answers say so; that isn't the same as solving it.

Open

Standards change and the corpus doesn't, by itself

The corpus is a snapshot that gets rebuilt deliberately, not a live mirror of the eCFR. Every answer carries a note to verify current requirements, which is honest but is still homework handed back to you. Automatic change-tracking is a real project, not a checkbox.

Where this could go

The interesting question isn't whether a machine can look up an OSHA rule. It's what becomes possible once every safety decision a company makes is written down with the standard it was decided under. Here's how far along that is, and how far it isn't.

✔ ShippedThe engine, the app, and your workspace 7,220 cited passages · 279 OSHA letters · nothing to install · every answer, draft and determination saved, searchable, and yours
● On the bench nowA log that keeps itself Your OSHA 300 fed by the five-question determination, the 300A generated from it — every line carrying the rule it was decided under
Next The environmental side · your own documents answered in their own lane · more than one seat
The part worth building toward An entire safety function that can show its work — every log entry, every JHA, every call, traceable to the rule it came from. For the enormous number of companies where that function is currently one busy person and a folder of PDFs.

See the full roadmap →

From the Answer Library

A side effect of building this: a growing set of fully cited answers to the questions safety people actually search for, each one traced back to an official OSHA interpretation letter. Free, no account, no catch.

Recordkeeping

Is an injury during lunch break recordable?

The "personal task exception" is narrower than most people think — OSHA counts lunch as assigned working hours.

Hearing & Noise

Can crews wear headphones on site?

Not prohibited — but OSHA's answer comes with hazard-masking caveats every supervisor should read.

Forklifts

When is a forklift "unattended"?

25 feet and line-of-sight — the two-part test from OSHA's own letter, explained.

Browse the full library — 107 cited answers →

If you want to use it for real

Canary isn't for sale and isn't recruiting anyone. It's a thing I've been building for a long time because the problem is interesting and because I do this job for a living and got tired of the answer taking three hours to find. Ask the engine anything you like — that part's open to everybody, indefinitely.

If you actually want a workspace of your own — somewhere your questions, drafts and determinations are saved and searchable instead of evaporating — there's room for a handful of people. No cost, no contract, no pitch to sit through. Mostly I'd want to hear when it gets something wrong.

Ask for access

A human reads these. You'll hear back either way, and if it's not a fit right now nothing is lost — the engine on this page stays free regardless.

✔ Got it — you'll hear back either way.

Your questions are never used to train anyone else's model.