Skip to content

Smoked Fish HACCP Plan: Salt, Smoke, Cold, a Worksheet

A smoked fish HACCP plan: C. botulinum in vacuum packs, 3.5% water phase salt, hot smoking at 145°F, cold smoking under 90°F, parasites, storage, a worksheet.

By Koa Sterling. Product specialist at TaroStack and small business owner. Yes, I am a real human, and I actually sit in front of a computer and write these articles. Reviewed October 16, 2026 · 7 min read

A smoked fish HACCP plan is built around one hazard: Clostridium botulinum toxin in fish that's vacuum packed and kept cold for weeks. FDA's seafood rule, 21 CFR 123.16, makes every smoked fish processor's plan control that toxin for the product's shelf life, and FDA's guidance sets the barriers: salt in the flesh, at least 3.5% water phase salt in the finished fish, reached by a brining and drying process proven in a study; the smoke, at least 145°F throughout the fish for 30 minutes for hot-smoked fish, and no more than 90°F in the smoker for cold-smoked; and refrigeration, a cooler at 40°F or below, because some strains grow despite the salt. Wild salmon also brings parasites: hot smoking kills them, but cold-smoked lox needs fish frozen at -4°F for 7 days. In the example below, a Juneau smokehouse writes its plan for hot-smoked salmon and lox. Below are the barriers, the hazard analysis, the plan, a week of records, and a free worksheet.

The short version

  • 21 CFR 123.16: the plan controls C. botulinum toxin for the shelf life of smoked fish.
  • Salt: at least 3.5% water phase salt in the finished fish, or 3% with at least 100 ppm nitrite where nitrite is permitted.
  • The brining and drying process that reaches it is set by a scientific study.
  • Hot smoking: 145°F or above throughout the fish for at least 30 minutes, three probes in the three largest fish.
  • Cold smoking: the smoker at or below 90°F.
  • Storage: a cooler at 40°F or below; salt doesn't stop every strain.
  • Parasites: hot smoking is the control; lox is made from fish frozen at -4°F or below for 7 days.
  • TaroStack keeps each batch's lot, your own fields for its readings, and where every pack went. More below.

The barriers

Barrier Critical limit in FDA's guidance Why
Salt At least 3.5% water phase salt, or 3% with 100 ppm nitrite where permitted Inhibits C. botulinum type E and non-proteolytic B and F
Hot smoking 145°F or above throughout for at least 30 minutes Damages spores and kills parasites
Cold smoking Smoker at or below 90°F Keeps bacteria from growing during smoking
Refrigeration Cooler at 40°F or below Type A and proteolytic B and F aren't stopped by salt below 10%
Parasites, cold-smoked Frozen at -4°F or below for 7 days, total time, or an equivalent freeze Cold smoking doesn't kill them

Water phase salt is the salt in the water portion of the fish's flesh. It's partly reached in the brine and partly in drying, so both steps are critical. The rule is 21 CFR 123.16; the limits are from chapter 13, Clostridium botulinum toxin formation, and chapter 5, parasites, of FDA's Fish and Fishery Products Hazards and Controls Guidance. This is general information, not legal advice.

An example: the hazard analysis

Gastineau Smokehouse, the made-up smokehouse in Juneau, Alaska, I use in these examples, makes vacuum-packed hot-smoked salmon and cold-smoked lox from wild fish, for its shop and for grocers:

Step Hazard Reasonably likely? Control CCP?
Receiving wild salmon Parasites Yes Freezing for lox at CCP 1; hot smoking at CCP 3 No
Freezing fillets for lox Parasites surviving Yes -4°F or below for 7 days CCP 1
Brining C. botulinum type E toxin Yes The validated brine, for 3.5% water phase salt CCP 2
Drying and hot smoking Parasites and pathogens surviving Yes 145°F throughout for 30 minutes CCP 3
Cold smoking lox C. botulinum growth Yes Smoker at or below 90°F CCP 4
Vacuum packing and labeling None beyond the above No "Keep refrigerated" on every pack No
Refrigerated storage C. botulinum toxin Yes Cooler at 40°F or below CCP 5

FDA's parasite chapter says a hot-smoked salmon processor sets its parasite CCP at the hot-smoking step, not at receiving, which is why receiving isn't a CCP here.

The plan

CCP Critical limit Monitoring Corrective action
CCP 1 Freezing for lox -4°F or below for 7 days, total time Recording thermometer; dates in and out Keep freezing, or use the fish for hot smoking
CCP 2 Brining The validated brine strength (80° salometer), ratio, time and temperature Salometer at the start; time and brine temperature, each batch Hold, test water phase salt; re-brine or destroy
CCP 3 Hot smoking 145°F or above throughout for at least 30 minutes Recording thermometer, three probes in the three largest fish Keep heating, re-smoke or destroy; fix the smoker
CCP 4 Cold smoking Smoker at or below 90°F Recording thermometer Hold and assess; destroy if it can't be shown safe
CCP 5 Storage Cooler at 40°F or below Recording thermometer, read twice a day Assess, hold or destroy; fix the cooler

Verification is a water phase salt test of the finished fish each quarter, daily thermometer checks, and charts reviewed before release. How a monitoring record is kept is in HACCP record keeping form example, and the seafood rule's other parts in seafood HACCP plan.

A week of records

Date Lot CCP Reading Limit OK? Action
Sep 28 LX-1006 Freezing for lox 8 days 7 days or more Yes
Oct 5 HS-1005 Brining 80° 80° or more Yes
Oct 5 HS-1005 Hot smoking 147°F 145°F or more Yes
Oct 5 HS-1005 Hot smoking 30 min 30 min or more Yes
Oct 6 LX-1006 Cold smoking 84°F 90°F or below Yes
Oct 6 LX-1006 Cold smoking 93°F 90°F or below No Afternoon sun on the smokehouse; batch held and assessed, vent fixed
Oct 7 HS-1005 Storage 36°F 40°F or below Yes

The cold smoker crept past 90°F on a sunny afternoon. The batch was held while the time above the limit was assessed, and the smokehouse moved its cold smoking to mornings. How the business's numbers work is in smoked salmon business plan.

Get the worksheet

Download the smoked fish HACCP plan worksheet. Four sheets: the hazard analysis, the HACCP plan with a place to sign, a monitoring log that checks each reading against its limits, and a read-me. It's a worksheet to organize your own plan, not a plan to copy; your brining limits come from your own validation study. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.

Where this stops working

Every batch has a brine reading, a smoker chart and a storage record, and every pack that leaves has to trace back to its batch. If a grocer calls about a pack of lox, you need that batch's records and every customer who got it, today.

How TaroStack does it

TaroStack keeps each batch's lot, your own fields for its readings, and where every pack went. It doesn't monitor your CCPs; it keeps the records you write.

Readings on the batch record. Printable batch-record forms carry your own fields, such as brine salometer, lowest probe temperature and minutes held, with a sign-off.

Each batch a lot. A batch of hot-smoked salmon notes which fish lots it used, automatically, and a lot can be held until its charts are reviewed.

Where it went. Each grocer's order records the lots it got, so one recall report shows every customer a batch reached.

The job Clipboard In TaroStack
A batch's brine and smoker readings A clipboard Fields on the batch record, signed
A batch waiting for its chart review Set aside on a shelf A hold on the lot
Which grocers got a batch Invoices One recall report

Lots, batches and recipes are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.

Questions people also ask

What is the critical limit for hot-smoked fish?

In FDA's guidance, 145°F or above throughout the fish for at least 30 minutes, measured in the three largest fish.

What water phase salt does smoked fish need?

At least 3.5% in the finished fish, or 3% with at least 100 ppm nitrite where nitrite is permitted.

What temperature should cold-smoked salmon be smoked at?

The smoker stays at or below 90°F.

Does cold-smoked salmon need to be frozen first?

If the fish can carry parasites, yes: frozen at -4°F or below for 7 days, or an equivalent freeze, because cold smoking doesn't kill them.

Sources

  1. 21 CFR 123.16: smoked fishery products; the HACCP plan controls Clostridium botulinum toxin for the shelf life · read October 16, 2026
  2. FDA: Fish and Fishery Products Hazards and Controls Guidance, Chapter 13, Clostridium botulinum Toxin Formation (3.5% water phase salt, hot smoking 145°F for 30 minutes, cold smoking 90°F, storage 40°F) · read October 16, 2026
  3. FDA: Fish and Fishery Products Hazards and Controls Guidance, Chapter 5, Parasites (freezing -4°F for 7 days; hot smoking as the parasite CCP) · read October 16, 2026

We use AI to help with the research for these articles. Every one is read, checked against its sources and edited by Koa before it's published. Spot a mistake? Tell us and we'll fix it and say so. How we write these.

Let’s get your stack in order.

Get TaroStack

Sign up now for your free 30 day trial. No credit card required.