[{"data":1,"prerenderedAt":355},["ShallowReactive",2],{"doc-\u002Fverticals\u002Fhaccp":3},{"id":4,"title":5,"body":6,"description":344,"edit":345,"extension":346,"meta":347,"navigation":348,"path":349,"seo":350,"stem":351,"vertical":352,"weight":353,"__hash__":354},"content\u002Fverticals\u002Fhaccp.md","HACCP \u002F cold chain",{"type":7,"value":8,"toc":332},"minimark",[9,13,18,21,31,46,66,70,77,143,146,152,156,166,200,203,207,210,241,244,248,251,278,281,285,292,307,311],[10,11,12],"p",{},"The cold chain vertical is OpenSense's oldest use case. It targets cafés,\nrestaurants, bakeries, butchers, pharmacies — anyone whose fridges or\nfreezers are inspected. The deliverable is a monthly PDF temperature log\nthat satisfies an EU food-hygiene inspector.",[14,15,17],"h2",{"id":16},"what-the-regulation-actually-says","What the regulation actually says",[10,19,20],{},"EU food law has two layers: the EU-level regulations, and the member-state\nimplementation. The regulations set principles; the member states set\nspecific temperatures and the inspection regime.",[22,23,28],"reg",{"code":24,"jurisdiction":25,"source":26,"title":27},"EU 852\u002F2004 · Art. 5","EU food law","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2004\u002F852\u002F2021-03-24\u002Feng","HACCP principles, mandatory",[10,29,30],{},"Every food business operator must put in place a permanent procedure based\non HACCP principles. Temperature control of cold-storage food is a near-\nuniversal critical control point. The regulation requires records but does\nnot prescribe their format — a paper logbook, an HACCP app, or OpenSense\nall satisfy the rule.",[22,32,35,38],{"code":33,"jurisdiction":25,"source":26,"title":34},"EU 852\u002F2004 · Annex II Ch. IX","Cold chain not to be interrupted",[10,36,37],{},"Raw materials, ingredients, intermediate products and finished products\nlikely to support the growth of pathogens or the formation of toxins must\nnot be kept at temperatures that might result in a risk to health. Limited\nperiods outside temperature control are permitted to accommodate practical\nhandling (transfer, service), provided they do not create a risk.",[10,39,40,41,45],{},"OpenSense maps this to: configure a ",[42,43,44],"strong",{},"grace period"," on each cold-storage\nchannel — usually 15 minutes — during which a brief excursion does not\ntrigger an alarm.",[10,47,48,49,53,54,57,58,65],{},"The actual numbers — ",[50,51,52],"code",{},"0 to +5 °C"," for chilled, ",[50,55,56],{},"≤ −18 °C"," for frozen — come\nfrom national guidance. Slovakia follows the ŠVPS (Štátna veterinárna a\npotravinová správa) interpretation, which mirrors the\n",[59,60,64],"a",{"href":61,"rel":62},"https:\u002F\u002Fwww.svps.sk",[63],"nofollow","Slovak Food Code",".",[14,67,69],{"id":68},"opensense-defaults","OpenSense defaults",[10,71,72,73,76],{},"When you create a site with ",[50,74,75],{},"vertical = haccp",", every device's temperature\nchannel auto-creates with:",[78,79,80,96],"table",{},[81,82,83],"thead",{},[84,85,86,90,93],"tr",{},[87,88,89],"th",{},"Use",[87,91,92],{},"Operating range",[87,94,95],{},"Grace period",[97,98,99,111,122,132],"tbody",{},[84,100,101,105,108],{},[102,103,104],"td",{},"Chilled storage (default)",[102,106,107],{},"−2 °C to +5 °C",[102,109,110],{},"15 min",[84,112,113,116,119],{},[102,114,115],{},"Chilled display",[102,117,118],{},"−2 °C to +8 °C",[102,120,121],{},"30 min",[84,123,124,127,130],{},[102,125,126],{},"Frozen storage",[102,128,129],{},"−24 °C to −18 °C",[102,131,121],{},[84,133,134,137,140],{},[102,135,136],{},"Cooking — hot holding",[102,138,139],{},"+63 °C to +85 °C",[102,141,142],{},"5 min",[10,144,145],{},"These are conservative defaults — narrower than the regulation strictly\nrequires, on the assumption that you want a margin between \"alarm\" and\n\"food is unsafe\". Adjust per channel in the dashboard.",[147,148],"stoplight",{"alarm":149,"ok":150,"warn":151},"Out of range for ≥ grace period","In range for ≥ grace period","In range now, was out in last grace window",[14,153,155],{"id":154},"the-monthly-report","The monthly report",[10,157,158,161,162,165],{},[50,159,160],{},"POST \u002Fv1\u002Freports"," with ",[50,163,164],{},"template = haccp_monthly"," returns a PDF with:",[167,168,169,176,182,188,194],"ol",{},[170,171,172,175],"li",{},[42,173,174],{},"Cover sheet"," — site name, address, period covered, signature line.",[170,177,178,181],{},[42,179,180],{},"Per-device summary"," — min \u002F mean \u002F max per day, hours-in-range.",[170,183,184,187],{},[42,185,186],{},"Excursion log"," — every alarm event, opened\u002Fclosed timestamps,\nacknowledgement note.",[170,189,190,193],{},[42,191,192],{},"Sensor health"," — uptime per device, any data gaps > 2 cycles.",[170,195,196,199],{},[42,197,198],{},"Calibration record"," — last calibration event per probe (free-text).",[10,201,202],{},"A six-month or twelve-month aggregate is also available, used for annual\nŠVPS inspections.",[14,204,206],{"id":205},"probe-placement","Probe placement",[10,208,209],{},"This is where most inspections actually fail — not because the logbook is\nmissing, but because the probe is in the wrong place. Practical rules:",[211,212,213,219,229,235],"ul",{},[170,214,215,218],{},[42,216,217],{},"Walk-in fridge",": top shelf, mid-depth, away from the evaporator\nairstream. Top shelf because heat rises; if the top is cold, the bottom\nis colder. Mid-depth because the back is colder than the door area.",[170,220,221,224,225,228],{},[42,222,223],{},"Display chiller",": at the level of the ",[42,226,227],{},"warmest stored item",". A salad\nbar with two-tier shelving: the upper shelf is warmer.",[170,230,231,234],{},[42,232,233],{},"Freezer",": anywhere, freezers are well-mixed.",[170,236,237,240],{},[42,238,239],{},"Hot-holding bain-marie",": in the food, not above it. Use a calibrated\nthermistor on a stub probe.",[10,242,243],{},"If you mount the probe to the evaporator surface (a common rookie mistake\nwith magnetic sensors), readings will look textbook-perfect while the food\nspoils.",[14,245,247],{"id":246},"what-the-inspector-actually-checks","What the inspector actually checks",[10,249,250],{},"In our experience training Slovak café owners through the first inspection:",[167,252,253,260,266,272],{},[170,254,255,259],{},[256,257,258],"em",{},"Is there a log?"," Show the dashboard or hand them last month's PDF.",[170,261,262,265],{},[256,263,264],{},"What do you do when an alarm fires?"," Show the acknowledgement field.",[170,267,268,271],{},[256,269,270],{},"What if the system is down?"," Show two devices, ideally on two\ndifferent sensors, in the same fridge. Redundancy is your friend.",[170,273,274,277],{},[256,275,276],{},"Where is the probe?"," See above. Walk them to the fridge and show them.",[10,279,280],{},"The PDF report by itself is not enough — the inspector also wants to see\nthat you read it. The \"acknowledged by\" stamp on alarm events is what\nmakes that case.",[14,282,284],{"id":283},"migrating-from-paper","Migrating from paper",[10,286,287,288,291],{},"If you are switching from a paper logbook, the auditor will ask for a\n6-month overlap during which ",[42,289,290],{},"both"," records exist. Pragmatic approach:",[167,293,294,297,304],{},[170,295,296],{},"Keep filling in the paper sheet by hand for two months while OpenSense\ncollects.",[170,298,299,300,303],{},"On month three, print the OpenSense PDF, sign it, and ",[42,301,302],{},"also"," sign the\npaper sheet stating \"log continues digitally under OpenSense, account\nid …\".",[170,305,306],{},"Drop the paper sheet at month six. Keep the cover page of the paper log\nfor one more year on file.",[14,308,310],{"id":309},"sources","Sources",[211,312,313,319,326],{},[170,314,315],{},[59,316,318],{"href":26,"rel":317},[63],"EU 852\u002F2004 — consolidated text on EUR-Lex",[170,320,321],{},[59,322,325],{"href":323,"rel":324},"https:\u002F\u002Ffood.ec.europa.eu\u002Fsystem\u002Ffiles\u002F2018-10\u002Fbiosafety_fh_legis_guidance_reg-2004-852_en.pdf",[63],"European Commission guidance on HACCP under 852\u002F2004",[170,327,328],{},[59,329,331],{"href":61,"rel":330},[63],"ŠVPS Slovakia — food and veterinary administration",{"title":333,"searchDepth":334,"depth":334,"links":335},"",3,[336,338,339,340,341,342,343],{"id":16,"depth":337,"text":17},2,{"id":68,"depth":337,"text":69},{"id":154,"depth":337,"text":155},{"id":205,"depth":337,"text":206},{"id":246,"depth":337,"text":247},{"id":283,"depth":337,"text":284},{"id":309,"depth":337,"text":310},"EU 852\u002F2004 in practice",null,"md",{},true,"\u002Fverticals\u002Fhaccp",{"title":5,"description":344},"verticals\u002Fhaccp","haccp",310,"VKkaKJ6kYbl-_mxOCNZrfBHSQpD-bJPXdgxhyFKi2EU",1779022954793]