Peanut butter's food safety story is Salmonella. Raw peanuts can carry it, roasting is the step that destroys it, and because peanut butter is a dry, fatty food, Salmonella that gets in after the roaster can survive for months. So a peanut butter HACCP plan has roasting as its first critical control point, and treats everything after the roaster, cooling, blanching, grinding, filling, as the place to keep it from coming back. Metal from a worn grinder and a wrong label between peanut and almond butter are the other two critical points, and aflatoxin from moldy peanuts is handled by the supplier's certificate for each lot. In the example below, a nut butter maker's plan has three critical control points, and a day's log catches a metal detector that missed a test piece. Below is the hazard analysis, the plan, the day, and a free worksheet.
The short version
- Salmonella in raw peanuts is destroyed by roasting: CCP 1, a validated time and temperature.
- After the roaster, keep raw and roasted apart and clean dry; Salmonella survives in dry dust.
- Metal from the grinder: CCP 2, a metal detector tested with ferrous, non-ferrous and stainless pieces.
- Peanut and tree nut labels: CCP 3, checked each lot, with almond butter run first after a full clean.
- Aflatoxin: the supplier's certificate for each lot of peanuts, a supply-chain control.
- Nut butters are on FDA's Food Traceability List, so lot records go further than most.
- TaroStack keeps each batch's readings on its batch record, and the peanut lots it used. More below.
The rules behind it
A registered nut butter maker that isn't exempt needs a written food safety plan with a hazard analysis and preventive controls (21 CFR 117.126). The kinds of control a peanut butter plan uses are all named in the rule: process controls such as roasting temperatures, food allergen controls including labeling, sanitation controls against environmental pathogens, and supply-chain controls for hazards a supplier controls (21 CFR 117.135(c)). For low-moisture foods, food-contact surfaces are kept clean and dry before use, and wet-cleaned ones dried completely (21 CFR 117.35(d)). Buyers and auditors often ask for a HACCP plan by name; what a full food safety plan holds is in what is a food safety plan. This is general information, not legal advice.
An example: the hazard analysis
Red Oak Nut Butters, a made-up nut butter maker in Little Rock, Arkansas, I use in these examples, roasts raw peanuts and makes peanut butter and almond butter in one room:
| Step | Hazard | Reasonably likely? | Preventive measure | CCP? |
|---|---|---|---|---|
| Receiving raw peanuts | B: Salmonella; C: aflatoxin | Yes | Roasting at CCP 1; supplier's aflatoxin certificate each lot | No |
| Receiving almonds, honey, jars | C: tree nut mixed into peanut lines | Yes | Separate labeled storage; caught at CCP 3 | No |
| Storage | B: pests | No | Pest control, sealed bins | No |
| Roasting | B: Salmonella surviving | Yes | Validated time and temperature | CCP 1 |
| Cooling and blanching | B: recontamination of roasted peanuts | Yes | Raw and roasted kept apart; dry cleaning; environmental swabs | No |
| Grinding | P: metal from the grinder burrs | Yes | Metal detector on filled jars | CCP 2 |
| Filling and labeling | C: peanut in almond butter, almond in peanut butter, wrong label | Yes | Almond butter first after a full clean; label check | CCP 3 |
| Storage and shipping | B: none reasonably likely | No | Sealed, shelf-stable jars | No |
The step after the roaster is where peanut butter plants have the most to lose: once roasted peanuts meet raw-peanut dust or a wet spot, there's no later step to fix it. That's why the room is laid out so raw peanuts never cross the roasted side, and why the grinder is cleaned dry. How Red Oak makes and prices its jars is in nut butter business plan.
The plan
| CCP | Critical limit | Monitoring | Corrective action | Verification | Record |
|---|---|---|---|---|---|
| 1 Roasting | Peanut temperature and roast time at or above the validated minimum: 270°F in the peanuts for 20 minutes in this example | Probe the peanuts and read the roaster log each roast | Roast again, or hold and discard; find the cause | Probe checked weekly against a reference; records reviewed before release | Batch record |
| 2 Metal detection | Every jar through the detector; ferrous, non-ferrous and stainless test pieces rejected | Run the three test pieces at start-up and every hour | Hold every jar since the last good test, re-run them, inspect the grinder | Weekly review of tests and rejects | Metal detector log |
| 3 Labeling | Every label matches the product and its allergens | One jar's label per lot against recipe and lot | Hold, relabel, find the cause | Weekly review | Packing record |
The roasting numbers are examples: a maker's own limits come from a validation showing its roaster, its peanuts and its batch size reach a lethal treatment. How the label declares peanuts and almonds is in allergen matrix template.
A day of monitoring
| Time | Lot | CCP | Reading | Within? | Action |
|---|---|---|---|---|---|
| 7:30 | PB-1005 | 1 Roasting | 274°F in the peanuts | Yes | |
| 9:00 | PB-1005 | 2 Metal detection | All three test pieces rejected | Yes | |
| 10:00 | PB-1005 | 2 Metal detection | All three rejected | Yes | |
| 11:00 | PB-1005 | 2 Metal detection | Stainless piece missed | No | Jars since 10:00 held and re-run; detector reset |
| 11:20 | PB-1005 | 2 Metal detection | All three rejected | Yes | |
| 12:15 | PB-1005 | 3 Labeling | Label correct | Yes |
At 11:00 the detector let the stainless test piece through. Every jar filled since the 10:00 test, the last good one, was held and run through again after the detector was reset, and the grinder burrs were inspected. Nothing was found, and the record shows why the hour's jars were released. How long to keep the records is in how long should HACCP records be kept.
Get the worksheet
Download the peanut butter HACCP worksheet. Three sheets: the hazard analysis, step by step; the plan, one row for each critical control point with its limit, monitoring, corrective action, verification and record; and a monitoring log, where each reading is checked against its limit and a reading outside it is flagged. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
When the stainless piece is missed at 11:00, the question is which jars were filled since 10:00, which lot they belong to, and whether any have already left. A log sheet records the miss; it can't say where the jars went, or which lot of raw peanuts the roast came from if a supplier calls about Salmonella next month.
How TaroStack does it
TaroStack keeps each batch's readings on its batch record, and the peanut lots it used.
Readings on the batch record. Fields of your own on the batch record, numbers, tick boxes and initials, hold the roast temperature and time, the hourly metal detector tests and the label check, and printable batch-record forms carry the same fields for the line. They're the records you keep, not a promise of compliance.
Peanut lots to jar lots. A batch of peanut butter records which lots of raw peanuts, salt and honey it consumed, with each supplier's lot and, in a field of your own on the receipt, its aflatoxin certificate number, and gets a lot of its own.
Holds and recalls. A lot on hold is kept out of what can be sold while jars are re-checked, and each order records the lots each customer got, so one recall report shows where a batch went and what's still on your shelves.
| The job | Clipboard | In TaroStack |
|---|---|---|
| Roast and metal detector readings | Log sheets | Fields on the batch record |
| Aflatoxin certificate for a lot | A folder | A field on the receipt |
| Jars on hold after a missed test | A sign on the pallet | A hold on the lot |
| Where a batch went | Search the invoices | One recall report |
Batches, batch records with fields of your own, holds, lots and recalls 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.
