Find my businessStart

HACCP plan for fermented foods: salt, pH, time and the batch log

A fermented food is safe because something in the jar stops harmful bacteria from growing: salt, acid, or both. A HACCP plan for fermented foods writes down what that something is and proves it with a measurement. The two numbers that matter most are the salt level when the batch starts and the pH when it is done; the Food Code treats a food at pH 4.6 or below as one that does not need time and temperature control for safety (TCS) by that factor [1]. This page covers kimchi, sauerkraut, fermented hot sauce, pickles and kombucha, with worked rows and a batch log for a restaurant kitchen.

Free temperature and batch sheets are on the logs page. The limits below come from the FDA Food Code and university extension sources; your health department's rules decide what you file.

Does a restaurant need a HACCP plan for fermenting?

Possibly. The Food Code asks for a variance and a HACCP plan when a retail operation uses a food additive or a process, such as acidifying or fermenting, to make a food that would be TCS into one that is not, and when it cures food as a method of preservation (section 3-502.11) [1]. In plain terms, if your jar sits at room temperature on the shelf and you tell the inspector it is safe because of its acidity, they will want evidence. Many departments allow classic vegetable ferments with a written recipe and pH log. Others want a full plan. The safest step is to ask which one before you start serving it.

Things that are different under a separate set of rules: bottled and sold hot sauce or pickles to other shops (a commercial acidified-food process under FDA 21 CFR Parts 108 and 114, with process authority review), and kombucha sold as a drink, which is often held to alcohol limits as well. See the sections below.

What can go wrong

A ferment starts with raw vegetables, which can carry E. coli, Salmonella and Listeria. Salt and the lactic acid bacteria that thrive in salt make acid within days, and the acid holds the pathogens down. The hazards appear when this does not happen as planned.

HazardHow it appearsWhat controls it
Pathogens on raw produceNot washed or trimmedWash; trim; salt level; acid by finish
Slow or failed acidificationToo little salt, too warm or too cold, not submergedSalt by weight; room temperature range; keep under brine; test pH
BotulismLow-acid food in a low-oxygen jar, e.g. garlic or peppers in oilAcidify to pH 4.6 or below; refrigerate; do not store low-acid foods in oil at room temperature
Mold, yeast on the surfaceVegetables above the brineWeights, submerge, skim and discard if fuzzy
Cross-contamination after fermentingDirty spoons, hands, containersClean tools; closed container; label
AllergensFish sauce, shrimp paste in kimchiIngredient list on the label

Which fermented foods are in scope

The rest of this page is about the first two, with kombucha later. If you cure or smoke as well, see the smoked and cured meats guide, and if you pack ferments in vacuum bags, the vacuum sealing plan applies.

The process, step by step

  1. Receive produce and salt
  2. Wash, trim and cut
  3. Weigh the salt; mix with the vegetables or make the brine
  4. Pack and submerge
  5. Ferment at a set temperature for set days
  6. Test pH; decide pass or fail
  7. Refrigerate, label and date
  8. Serve and rotate

Receiving and washing

Produce comes from an approved source and goes into cold storage until used; cut leafy greens and cut melon are TCS foods held at 41°F, whole cabbage is not [1]. Wash produce in cold running water, trim damaged outer leaves and cut out cores. Use a clean board kept for produce, not the one used for raw meat. Do not skip the wash because "it will ferment anyway": salt does not kill soil-borne pathogens quickly.

Salt: the first control point

Salt pulls water from the vegetables to make a brine and favors the lactic acid bacteria over spoilage organisms. University extension programs commonly give about 2 to 2.5% salt by weight of the vegetables for sauerkraut (for example, 3 tablespoons of canning salt for 5 pounds of cabbage is about 2.25%) [2]. Kimchi recipes vary but commonly sit in the 2 to 3% range after salting and rinsing. Too little salt risks soft, spoiled batches and slow acid; too much slows fermentation.

Packing and keeping under the brine

Pack tightly to remove air pockets and press until brine rises above the vegetables. Weigh them down with a food-safe weight or a bag of brine so nothing floats. Anything above the brine is where mold grows. Use food-grade containers with an airlock or a cover that lets gas out; sealing a jar tight can burst it. Label every container with the name, the start date, the salt weight and the batch number.

Fermenting: time and temperature

Most vegetable ferments are kept at roughly 65 to 75°F while the acid develops. Colder takes weeks; warmer goes faster but produces softer, off flavors and may favor the wrong organisms [2]. Record the room temperature once a day with a thermometer in the room. The Food Code's 41°F rule does not apply during the controlled ferment if your plan documents it as the process; it applies again after the batch is declared finished and refrigerated for service.

pH: the second control point

This is the measurement an inspector understands. A batch that reaches pH 4.6 or below is no longer a hazard for botulism, and the Food Code's table uses 4.6 as the dividing line for non-TCS status of a packaged, acidified food [1]. Most finished sauerkraut and kimchi test far lower, commonly about 3.5 to 4.2, but write your own range from your tests. Use a calibrated pH meter (buffer solutions at pH 4 and 7); pH strips are less exact in the 4 to 5 range and many health departments want a meter.

Refrigeration, shelf life and serving

Once a batch passes, move it to the cooler and keep it at 41°F or below if your plan says so. Cold slows the ferment, which keeps the taste steady. Date the container with a use-by date set by the plan, commonly a few weeks to a few months for kimchi and sauerkraut, shorter for sliced items. Take portions with a clean utensil and do not return used brine or food to the container. Serve ferments cold with a clean spoon.

Check the cooler with the routine in the walk-in cooler log guide and use the cold holding rule when a ferment is on a service line.

Fermented hot sauce

Peppers, salt and sometimes garlic are fermented in brine for weeks, then blended, often with vinegar. The same plan applies: salt by weight, ferment days, pH. Test the final blended sauce before bottling; commercial sale is a separate matter, because a shelf-stable bottled sauce falls under the acidified food rules (pH 4.6 or below, process authority review) when sold outside your restaurant [3]. If you serve it from a squeeze bottle at the table, date the bottle and wipe the tip.

Kombucha

Kombucha is sweet tea fermented with a bacteria and yeast culture. The plan watches for: clean equipment, a starter liquid from a known batch, a pH of about 4.6 or lower by the end of the first days (many makers aim for 2.5 to 3.5), and the alcohol that yeast makes. A drink must stay below 0.5% alcohol by volume to be sold as non-alcoholic; above it, federal alcohol rules apply [4]. A small kitchen without lab testing cannot know the alcohol level by taste, so ask your health department and a licensed lab before you sell kombucha, and consider buying it from a supplier instead.

Worked plan rows for fermented vegetables

StepHazardLimitMonitoringIf it failsRecord
Receive producePathogens, soilApproved source; no spoilageVisual; cold items 41°FRejectReceiving log
Wash and trimPathogensCold running water; outer leaves removedVisualRewashBatch log
SaltWeak brine2.0 to 2.5% by weightScale, two numbers writtenAdd salt or restartBatch log
SubmergeMoldAll produce under brineDaily checkRe-press; discard if fuzzy moldBatch log
FermentSlow acid65 to 75°F; 5 to 14 daysDaily tempMove; extend; test pHBatch log
FinishBotulism, pathogenspH 4.6 or below (target 4.2)Meter, calibrated that dayFerment longer; discard after max dayspH log
StoreContamination, drift41°F; date label; clean utensilCooler logDiscard past dateCooler log

A fermentation batch log

These entries show how a log reads. They are examples, not records.

BatchStartVeg, saltDaily temppH, dayAction
K-021 napa kimchiNov 68.0 kg, 190 g (2.4%)70, 71, 70°F4.3, day 3Passed; to cooler, use by Dec 20
S-014 sauerkrautNov 65.0 kg, 112 g (2.2%)68°F, then 62°F day 44.9, day 7; 4.4, day 11; 4.2, day 14Cool room slowed it; extended; passed day 14
H-006 hot sauce mashNov 63.0 kg peppers, 75 g (2.5%)72°F3.9, day 10Passed; blended with vinegar

Keep the logs for as long as your health department asks. For the general method of building a plan, see the HACCP plan for a restaurant guide and the food safety plan template.

Common mistakes

Questions

What pH makes a fermented food safe?

4.6 or below is the line for botulism and for non-TCS status. Most good ferments finish lower.

Does fermented food have to be refrigerated?

Once finished, yes for most restaurant ferments, to keep quality and slow further change. Your plan should say where it is held.

Do I need a variance to ferment?

Possibly, when fermenting or acidifying is how a food is made non-TCS. Ask your health department and write down the reply.

Is white film on kimchi or sauerkraut mold?

A flat, white film can be harmless yeast (kahm), but fuzzy or colored growth is mold. If you cannot tell, discard it.

How much salt is in sauerkraut?

Extension guidance is about 2 to 2.5% of the cabbage weight [2].

Where do I get logs?

Use the free sheets on our logs page and add the salt and pH columns from the example above.

Sources

  1. FDA Food Code 2022 (1-201.10 definition of TCS food and tables of pH and aw; 3-502.11 specialized processes; 3-501.16 holding), U.S. Food and Drug Administration
  2. Making fermented sauerkraut, National Center for Home Food Preservation, University of Georgia
  3. 21 CFR Part 114, acidified foods, Electronic Code of Federal Regulations
  4. Kombucha, Alcohol and Tobacco Tax and Trade Bureau

Related: all food safety guides.