Jarred, shelf-stable salsa is an acidified food: tomatoes, peppers and onions are low-acid, and only the vinegar or lime juice makes them safe on a shelf. So a salsa HACCP plan is built around what FDA's acidified foods rule, 21 CFR part 114, already requires: a finished equilibrium pH of 4.6 or lower, reached as the scheduled process says and measured with a pH meter when it's above 4.0; a thermal process, such as a hot fill, that destroys vegetative microorganisms; and a seal that keeps them out. The three critical control points follow: acidification, the hot fill, and the seal. Records of every batch's pH and fill temperature, any deviation, and where each lot went are kept 3 years. Fresh refrigerated salsa is different: it relies on staying at 41°F or below. In the example below, a Tucson salsa maker writes its plan for jarred salsa. Below are the rules, the hazard analysis, the plan, a week of records, and a free worksheet.
The short version
- Shelf-stable jarred salsa is an acidified food under 21 CFR part 114.
- Finished equilibrium pH 4.6 or lower, reached within the time the scheduled process sets.
- Above pH 4.0, the finished pH is measured with a pH meter, not strips.
- A thermal process, such as a hot fill, destroys vegetative microorganisms.
- Three CCPs: acidification, hot fill, seal.
- The process authority sets the pH limit, fill temperature and hold; your plan follows it.
- Records by lot, deviations in their own file, distribution records; keep them 3 years.
- TaroStack keeps each batch's lot, your own fields for its pH and fill readings, and where every case went. More below.
The rules
| Rule | What 21 CFR part 114 says |
|---|---|
| pH | A finished equilibrium pH of 4.6 or lower, within the time in the scheduled process, maintained in all finished food (114.80(a)(1)) |
| Heat | Thermal processing enough to destroy vegetative cells of public health significance, or permitted preservatives for spoilage organisms (114.80(a)(1)) |
| Testing | Frequent testing and recording; a potentiometric method (a pH meter) for a finished pH above 4.0 (114.80(a)(2)) |
| Methods | The pH meter calibrated with standard buffers (114.90) |
| Records | pH and critical factors by lot, deviations and their disposition, initial distribution (114.100) |
| How long | 3 years from manufacture (114.100(e)) |
The rules are 21 CFR 114.80, 114.90 and 114.100. The plant registration and process filing are in pickle business license, and the difference between acid and acidified foods in acid food vs acidified food. This is general information, not legal advice.
An example: the hazard analysis
Saguaro Salsa Co., the made-up salsa and tortilla maker in Tucson, Arizona, I use in these examples, makes 16 oz jars of salsa in its own kitchen, about 500 jars a day:
| Step | Hazard | Reasonably likely? | Control | CCP? |
|---|---|---|---|---|
| Receiving produce | Pathogens on produce | Yes | Approved suppliers, washing; the hot fill at CCP 2 | No |
| Receiving vinegar and lime juice | Acid weaker than the recipe assumes | Yes | Supplier specification; pH at CCP 1 | No |
| Chopping, mixing, acidifying | C. botulinum if pH is above 4.6 | Yes | Equilibrium pH at or below the process limit | CCP 1 |
| Cooking and hot filling | Vegetative pathogens surviving | Yes | Fill temperature and hold | CCP 2 |
| Capping and inverting | Recontamination through a bad seal | Yes | Every lid sealed | CCP 3 |
| Cooling, labeling, storage | None beyond the above | No | Lot code on every lid | No |
The plan
| CCP | Critical limit | Monitoring | Corrective action |
|---|---|---|---|
| CCP 1 Acidification | Equilibrium pH 4.2 or below, the scheduled process's limit | pH meter, calibrated with two buffers, each batch before filling | Add acid as the process authority directs and retest, or discard |
| CCP 2 Hot fill | 185°F or above at the filler, jars inverted 3 minutes | Thermometer at the start and every 30 minutes | Reheat and refill, or reprocess as directed; hold jars filled cold |
| CCP 3 Seal | Every lid concave and tight after cooling | Press each lid | Refrigerate unsealed jars and rework or discard the same day |
The 4.2 and 185°F are the example's scheduled process; yours come from your own process authority. How a monitoring record is kept is in HACCP record keeping form example.
A week of records
| Date | Lot | CCP | Reading | Limit | OK? | Action |
|---|---|---|---|---|---|---|
| Oct 5 | SAL-1005 | Acidification | pH 4.05 | 4.2 or below | Yes | |
| Oct 5 | SAL-1005 | Hot fill | 188°F | 185°F or more | Yes | |
| Oct 5 | SAL-1005 | Hot fill | 186°F | 185°F or more | Yes | |
| Oct 6 | SAL-1006 | Acidification | pH 4.31 | 4.2 or below | No | Acid added as the process authority directs; retested |
| Oct 6 | SAL-1006 | Acidification | pH 4.08 | 4.2 or below | Yes | Retest, then filled |
| Oct 6 | SAL-1006 | Seal | All sealed | All sealed | Yes |
The Oct 6 batch read 4.31 because that week's tomatoes were riper and less acidic. The cook added acid by the process authority's instructions, retested at 4.08, and only then filled. The deviation goes in its own log with what was done, as 114.100(c) requires. How the jars are costed is in salsa business plan.
Get the worksheet
Download the salsa 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 limits come from your process authority. 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 pH, a fill temperature and a seal count, and every case that leaves has to trace back to its batch for 3 years. A binder of logs doesn't say which grocer got the batch that read 4.31.
How TaroStack does it
TaroStack keeps each batch's lot, your own fields for its pH and fill readings, and where every case 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 pH, fill temperature and unsealed jars, with a sign-off.
Each batch a lot. A batch of salsa notes which tomato and pepper lots it used, automatically, and gets a lot and a best-before date for the lid.
Where it went. Each grocer's order records the lots it got, so one recall report shows every customer a batch reached.
| The job | Binder | In TaroStack |
|---|---|---|
| A batch's pH and fill readings | A log sheet | Fields on the batch record, signed |
| Which tomatoes went into a batch | Not recorded | Lots recorded on the batch |
| 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.
