{"id":4320,"date":"2026-08-26T11:27:56","date_gmt":"2026-08-26T11:27:56","guid":{"rendered":"https:\/\/masstechx.com\/?page_id=4320"},"modified":"2026-08-26T11:28:43","modified_gmt":"2026-08-26T11:28:43","slug":"sanitizing-route-selector","status":"publish","type":"page","link":"https:\/\/masstechx.com\/fr\/5-gallon-water-bottle-high-pressure-washer\/sanitizing-route-selector\/","title":{"rendered":"s\u00e9lecteur d'itin\u00e9raire d\u00e9sinfectant"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3d76df2\" data-block-id=\"3d76df2\"><style>.stk-3d76df2 {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-3d76df2-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-95c3566\" data-v=\"4\" data-block-id=\"95c3566\"><style>.stk-95c3566-container{margin-top:var(--stk--preset--spacing--50, 1.5rem) !important;margin-right:var(--stk--preset--spacing--50, 1.5rem) !important;margin-bottom:var(--stk--preset--spacing--50, 1.5rem) !important;margin-left:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-95c3566-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-95c3566-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-e776e7c\" data-block-id=\"e776e7c\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-e776e7c-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-1429022\" data-v=\"4\" data-block-id=\"1429022\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-1429022-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-1429022-inner-blocks\">\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>21 CFR 129.80 Sanitizing Route Selector | Mass Technology<\/title>\n<style>#tool-sanitizing-route{--brand:#0078C0;--accent:#7860A8;--ink:#2d2d2d;--soft:#55585c;--zebra:#f5f5f5;--line:#e0e0e0;--r:6px}#tool-sanitizing-route *{box-sizing:border-box}#tool-sanitizing-route{font:16px\/1.6 -apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;color:var(--ink);max-width:820px;margin:0 auto;padding:24px 20px 64px;background:#fff}#tool-sanitizing-route h1{font-size:1.7rem;margin:0 0 .3em}#tool-sanitizing-route h2{font-size:1.15rem;margin:1.8em 0 .5em;padding-bottom:.3em;border-bottom:2px solid var(--line)}#tool-sanitizing-route p{margin:0 0 1em}#tool-sanitizing-route .lede{color:var(--soft)}#tool-sanitizing-route label{display:block;font-weight:600;margin:0 0 4px;font-size:.93rem}#tool-sanitizing-route select, #tool-sanitizing-route input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);font:inherit;margin:0 0 16px;background:#fff;color:var(--ink)}#tool-sanitizing-route .row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}#tool-sanitizing-route button{background:var(--brand);color:#fff;border:1px solid var(--brand);padding:12px 22px;border-radius:var(--r);font:inherit;font-weight:600;cursor:pointer}#tool-sanitizing-route button:hover{background:var(--accent);border-color:var(--accent)}#tool-sanitizing-route .result{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:var(--zebra);margin:16px 0}#tool-sanitizing-route .result h3{margin:0 0 10px;font-size:1.05rem}#tool-sanitizing-route table{width:100%;border-collapse:collapse;margin:.8em 0;font-size:.94rem}#tool-sanitizing-route thead th{background:var(--ink);color:#fff;text-align:left;padding:9px 11px}#tool-sanitizing-route tbody td, #tool-sanitizing-route tbody th{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}#tool-sanitizing-route tbody th{font-weight:600}#tool-sanitizing-route tbody tr:nth-child(even){background:#fff}#tool-sanitizing-route .warn{border-left:4px solid var(--accent);background:#fff;padding:12px 16px;margin:12px 0;border-radius:0 var(--r) var(--r) 0}#tool-sanitizing-route .note{font-size:.87rem;color:var(--soft)}#tool-sanitizing-route blockquote{margin:0 0 1em;padding:10px 16px;border-left:3px solid var(--line);color:var(--soft);font-size:.94rem}#tool-sanitizing-route h1, #tool-sanitizing-route h2, #tool-sanitizing-route h3{font-family:inherit}#tool-sanitizing-route select, #tool-sanitizing-route option, #tool-sanitizing-route input, #tool-sanitizing-route textarea, #tool-sanitizing-route button{font-family:inherit}#tool-sanitizing-route option{background:#fff;color:#2d2d2d}#tool-sanitizing-route .tool-cta{border:1px solid var(--line);border-radius:var(--r);background:var(--zebra);padding:16px 18px;margin:28px 0 0}#tool-sanitizing-route .tool-cta p{margin:0}#tool-sanitizing-route .tool-cta a{color:var(--brand);font-weight:600}\n@media (max-width:640px){#tool-sanitizing-route{padding:16px 14px 48px}#tool-sanitizing-route h1{font-size:1.35rem}#tool-sanitizing-route h2{font-size:1.05rem}#tool-sanitizing-route .row{grid-template-columns:1fr}#tool-sanitizing-route table{font-size:.86rem}#tool-sanitizing-route .table-wrap, #tool-sanitizing-route #out{overflow-x:auto}\n}\n<\/style>\n<\/head>\n<body>\n<section id=\"tool-sanitizing-route\">\n\n<h1>Sanitizing Route Selector &mdash; 21 CFR 129.80<\/h1>\n<p class=\"lede\">US federal rules require multiservice containers to be washed, rinsed <em>and<\/em> sanitized, and set four alternative minimum treatments. Pick the route your plant intends to run and see the exact requirement, what the washer has to provide, and what stays your responsibility.<\/p>\n\n<div class=\"warn\"><strong>Read this first.<\/strong> This tool reproduces the regulation&#8217;s minimum treatments. It does not certify any machine and it does not validate any process. Bacteria-reduction performance is a plant process qualification, not an equipment specification.<\/div>\n\n<h2>Your intended route<\/h2>\n\n<div class=\"row\">\n  <div>\n    <label for=\"route\">Sanitizing method<\/label>\n    <select id=\"route\">\n      <option value=\"chem_imm\">Chemical &mdash; immersion or circulating solution<\/option>\n      <option value=\"chem_spray\">Chemical &mdash; spray or fog application<\/option>\n      <option value=\"hot\">Steam or hot water<\/option>\n      <option value=\"ozone\">Ozone<\/option>\n      <option value=\"unsure\">Not decided yet<\/option>\n    <\/select>\n  <\/div>\n  <div>\n    <label for=\"scope\">Market you must satisfy<\/label>\n    <select id=\"scope\">\n      <option value=\"us\">United States (21 CFR Parts 129 and 165)<\/option>\n      <option value=\"other\">Outside the United States<\/option>\n    <\/select>\n  <\/div>\n<\/div>\n\n<button id=\"go\" type=\"button\">Show the requirement<\/button>\n\n<div id=\"out\"><\/div>\n\n\n<script data-tool-core=\"1\">\n\/* Pure core. Values transcribed verbatim from 21 CFR 129.80(d). No DOM access. *\/\n(function (g) {\n  var ROUTES = {\n    chem_imm:   {ppm:50,  tempF:57,  minutes:2,  mode:\"immersion_or_circulating\"},\n    chem_spray: {ppm:100, tempF:57,  minutes:null, mode:\"spray_or_fog\"},\n    hot:        {ppm:null, tempF:170, minutes:15, tempF2:200, minutes2:5, mode:\"steam_or_hot_water\"},\n    ozone:      {ppm:0.1, tempF:null, minutes:5,  mode:\"enclosed_system\"}\n  };\n\n  function num(v){ var n = typeof v === \"number\" ? v : parseFloat(v); return isFinite(n) ? n : null; }\n\n  \/* Look up a route. Unknown or empty key returns null rather than a default. *\/\n  function routeReq(key){\n    if (typeof key !== \"string\" || key === \"\") return null;\n    return Object.prototype.hasOwnProperty.call(ROUTES, key) ? ROUTES[key] : null;\n  }\n\n  \/* Dilution ratio needed to reach a target concentration from a stock strength.\n     Returns null on zero or negative stock (no division by zero) and on negative target. *\/\n  function dilutionFactor(targetPpm, stockPpm){\n    var t = num(targetPpm), s = num(stockPpm);\n    if (t === null || s === null) return null;\n    if (t < 0 || s <= 0) return null;\n    return Math.round((t \/ s) * 1e6) \/ 1e6;\n  }\n\n  function contactSeconds(minutes){\n    var m = num(minutes);\n    if (m === null || m < 0) return null;\n    return m * 60;\n  }\n\n  g.__TOOL_CORE__ = {\n    routeReq: routeReq,\n    dilutionFactor: dilutionFactor,\n    contactSeconds: contactSeconds,\n    ROUTES: ROUTES\n  };\n})(typeof globalThis !== \"undefined\" ? globalThis : this);\n<\/script>\n<script>\n\/\/ Verbatim minimum treatments from 21 CFR 129.80(d).\nvar ROUTES = {\n  chem_imm: {\n    title: \"Chemical sanitizer, immersion or circulating solution\",\n    req: \"Equivalent in bactericidal action to a 2-minute exposure of 50 parts per million of available chlorine at 57 &deg;F.\",\n    machine: \"A circulation path that carries the solution to the inner wall, base and neck, plus consistent contact across the whole surface.\",\n    plant: \"Sanitizer identity and concentration, verified contact time, and solution sampling and testing.\",\n    tip: \"Contact time is the variable most often lost when a line is sped up. Confirm the cycle still delivers the full exposure at your target BPH.\"\n  },\n  chem_spray: {\n    title: \"Chemical sanitizer, spray or fog application\",\n    req: \"100 parts per million of available chlorine at 57 &deg;F, or its equivalent in bactericidal action.\",\n    machine: \"Nozzle coverage with no dead angle and correct spray entry through the neck.\",\n    plant: \"Sanitizer identity and concentration, spray dwell, and solution sampling and testing.\",\n    tip: \"The spray route needs double the chemical concentration of the immersion route. Do not carry an immersion figure across to a spray system.\"\n  },\n  hot: {\n    title: \"Steam or hot water\",\n    req: \"At least 170 &deg;F for at least 15 minutes, or at least 200 &deg;F for at least 5 minutes.\",\n    machine: \"Heated tank capability and a controlled, measurable contact time. The cap-removal and wash station is available with a heating element, which raises its connected load from 1.12 kW to 2.12 kW.\",\n    plant: \"Temperature verification, dwell control and records.\",\n    tip: \"The temperature and time values are paired. 170 &deg;F goes with 15 minutes and 200 &deg;F with 5 minutes; mixing the pairs understates the treatment.\"\n  },\n  ozone: {\n    title: \"Ozone\",\n    req: \"0.1 part per million ozone water solution in an enclosed system for at least 5 minutes.\",\n    machine: \"An enclosed circuit. Ozone generation and dosing are supplied separately from the washer.\",\n    plant: \"Ozone generation, dosing control, concentration monitoring and records.\",\n    tip: \"The regulation specifies an enclosed system. An open spray arrangement does not meet this route.\"\n  }\n};\n\nvar COMMON = [\n  \"Multiservice primary containers must be washed, rinsed and sanitized by mechanical washers or another method giving adequate sanitary results.\",\n  \"Cleaning and sanitizing solutions must be sampled and tested by the plant as often as necessary to assure adequate performance.\",\n  \"Records required under Part 129 must be kept at the plant for not less than 2 years.\",\n  \"Containers found unsanitary or defective by inspection must be reprocessed or discarded.\"\n];\n\nfunction esc(s){ return String(s).replace(\/[&<>\"]\/g, function(c){\n  return {\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"}[c]; }); }\n\nfunction render(){\n  var key = document.getElementById(\"route\").value;\n  var scope = document.getElementById(\"scope\").value;\n  var out = document.getElementById(\"out\");\n  var html = \"\";\n\n  if (key === \"unsure\"){\n    html += '<div class=\"result\"><h3>All four routes, side by side<\/h3>'\n         +  '<table><thead><tr><th>Route<\/th><th>Minimum treatment<\/th><\/tr><\/thead><tbody>';\n    var order = [\"chem_imm\",\"chem_spray\",\"hot\",\"ozone\"];\n    for (var i=0;i<order.length;i++){\n      html += '<tr><th>'+ROUTES[order[i]].title+'<\/th><td>'+ROUTES[order[i]].req+'<\/td><\/tr>';\n    }\n    html += '<\/tbody><\/table>'\n         +  '<p class=\"note\">Choose a route above to see what the washer must provide and what stays with your plant.<\/p><\/div>';\n  } else {\n    var r = ROUTES[key];\n    html += '<div class=\"result\"><h3>'+r.title+'<\/h3>'\n         +  '<blockquote>'+r.req+'<\/blockquote>'\n         +  '<table><tbody>'\n         +  '<tr><th>What the washer must provide<\/th><td>'+r.machine+'<\/td><\/tr>'\n         +  '<tr><th>What stays with your plant<\/th><td>'+r.plant+'<\/td><\/tr>'\n         +  '<\/tbody><\/table>'\n         +  '<div class=\"warn\">'+r.tip+'<\/div><\/div>';\n  }\n\n  html += '<div class=\"result\"><h3>Applies whichever route you choose<\/h3><ul>';\n  for (var j=0;j<COMMON.length;j++){ html += '<li>'+COMMON[j]+'<\/li>'; }\n  html += '<\/ul><\/div>';\n\n  if (scope === \"other\"){\n    html += '<div class=\"warn\"><strong>Outside the United States.<\/strong> The treatments above are the US federal minimums under 21 CFR 129.80. '\n         +  'Your own national rules may set different concentrations, temperatures or record periods. Use this as a specification starting point, then confirm against your local requirement.<\/div>';\n  }\n\n  html += '<p class=\"note\">Source: 21 CFR 129.80, Processing and Bottling of Bottled Drinking Water &mdash; Sanitary Facilities and Controls. '\n       +  'Mass Technology publishes machine parameters and does not publish bacteria-reduction test results for its washers.<\/p>';\n\n  out.innerHTML = html;\n}\n\ndocument.getElementById(\"go\").addEventListener(\"click\", render);\ndocument.getElementById(\"route\").addEventListener(\"change\", render);\ndocument.getElementById(\"scope\").addEventListener(\"change\", render);\ndocument.addEventListener(\"DOMContentLoaded\", render);\n<\/script>\n\n\n<div class=\"tool-cta\">\n  <p>Got your model? <a href=\"#ct-popup-813\">Request a quotation<\/a> and we will confirm it against your floor plan, drainage and power supply &mdash; engineer-reviewed, returned within one business day.<\/p>\n<\/div>\n\n<\/section>\n<\/body>\n<\/html>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>21 CFR 129.80 Sanitizing Route Selector | Mass Technology Sanitizing Route Selector &mdash; 21 CFR 129.80 US federal rules require multiservice containers to be washed, rinsed and sanitized, and set four alternative minimum treatments. Pick the route your plant intends to run and see the exact requirement, what the washer has to provide, and what [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":4218,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-4320","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/4320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/comments?post=4320"}],"version-history":[{"count":0,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/4320\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/4218"}],"wp:attachment":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/media?parent=4320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}