GMP hash manufacturing: facility flow and quality control
HomeFacilityGMP hash manufacturing: facility flow and quality control
Facility · GMP

GMP hash manufacturing: facility flow and quality control

How to design a clean, compliant hash and extract factory from scratch: what GMP means, how rooms and people and product move, and how a batch earns its way to market.

Facility13 diagramsEvidence-linked · 8 sources~18 min read
Start here

What This Is: GMP and the Hash Lab From Zero

GMP stands for Good Manufacturing Practice: a written, audited system that proves a product is exactly what its label says and that nothing harmful rode along. A GMP hash lab turns cannabis biomass into purified resin concentrates (bubble hash, rosin, live resin, distillate) under tight contamination control.

The same physics that concentrate the cannabinoids you want also concentrate the contaminants you don't. Extraction can concentrate both the good and the bad (often several-fold when mass yield is low) roughly five- to ten-fold[3], so a pesticide or mould level that looked fine on the raw flower can fail badly once it is squeezed into a gram of resin. Every step in the building is designed to answer one question: can we prove this material is safe and correctly labelled? If yes, it moves forward. If not, it holds.

Two rule-sets do most of the governing. EU-GMP Annex 1 sets the cleanroom classifications and the contamination-control strategy, and the U.S. cGMP rules in 21 CFR 210/211 set the production controls, the records, and the authority of the quality unit to release product[1]. This paper is a reference architecture, not legal advice. The exact limits and grades vary by jurisdiction.

The one rule under all the others

‘If it isn't written down, it didn't happen.’ GMP is a documented, validated, inspectable system. A spotless room with no records fails an audit. A modest room with complete, signed records passes.

The four headline numbers this design hitsAnchor stats: 5 grades, 7 mandatory test families, 100% batch traceability, zero open critical deviations.02855821105Cleanliness grades7Release-test families100Genealogy coverage0Critical deviations at release
Figure 1. Four numbers anchor the whole facility: five cleanliness grades, seven mandatory release-test families, full genealogy coverage, and zero open critical deviations permitted at the point of release.
The governing standards and which part of the building each one rules.
StandardWhat it coversFacility area it governs
EU-GMP Annex 1Cleanroom classification & contamination-control strategyAll classified rooms
cGMP 21 CFR 210/211Production controls, records, QC-unit release authorityWhole plant + QA
ICH Q7 / Q9 / Q10Quality system, risk management, lifecycleQuality management system
ISO 14644-1Cleanroom particle-count classes (ISO 5/7/8)Air classification
GACPGood Agricultural & Collection Practice for biomassGoods-in / intake
NFPA 30 / C1D1Flammable liquids & classified electrical areasSolvent extraction room
How sure is this?

Accuracy, self-review, and grain-of-salt notes

How sure is this paper?

We've gone to great lengths to keep these guides honest. One of the main ways we do that is self-review: we actively look for claims that are subjective, only lightly backed by literature, or based on grower practice rather than a controlled study — and we call those out instead of dressing them up as settled science.

Often there simply is no paper for the decision you're making. In those cases we're drawing on what other growers report and what has worked in our own rooms. That can still be useful — but it is not a lab proof. Do what works for your plants, your room, and your meters. If a table disagrees with your crop, believe the crop and log the difference.

Solid
Well supported by plant science, standards, or broad multi-source consensus
  • Concentrates can enrich residues relative to input biomass depending on process yield and partitioning
  • Documented, inspectable systems (records, CAPA, genealogy) are the core of GMP thinking
Operational
What many growers and rooms actually run — start here, then tune
  • Room flow, gowning, and batch-record patterns used in regulated facilities
Grain of salt
Subjective, thin literature, single studies, or “this works for us” practice
  • ICH residual-solvent numbers as your cannabis licence limits (jurisdiction-specific)
  • EU Annex 1 Grade A/B as default for all hash (product/licence dependent)
  • Any fixed 'seven mandatory test families' without your regulator's panel

See something glaringly wrong? Tell us and we'll fix it. Please open a GitHub issue with the paper name and what looks off (include a source if you have one): Report an accuracy issue. Local law, labels, and licences always override any recipe here. Inline notes labelled grain of salt flag the highest-risk over-trust points in the text.

Vocabulary

Key Terms: The Words You Need First

A handful of terms do the heavy lifting before any diagram makes sense. You don't need to memorise them: each comes back in context.

Cleanroom gradeA letter (CNC, D, C, B, A) describing how clean a room's air is, mapped to ISO 14644 particle classes. Grade C = ISO 7, Grade A = ISO 5.
Batch / lotOne defined production run with a single lot ID. Everything that happens to it is recorded against that ID. That record is its genealogy.
DeviationAny departure from the approved process. Every deviation is logged, investigated, and closed before the affected batch can be released.
CAPACorrective And Preventive Action: the loop that fixes the immediate problem (corrective) and stops it recurring (preventive).
Quarantine / Released / RejectedThe three exclusive status states every material sits in. Nothing is ‘in between’. Status is always one of these three.
CCP (Critical Control Point)A step where a measured limit prevents a hazard (HACCP language). One example: wash water below 4 °C.
ALCOA+What a good record must be: Attributable, Legible, Contemporaneous, Original, Accurate, plus Complete, Consistent, Enduring, Available.
Water activity (Aw)Free water available to microbes, on a 0–1 scale. Keeping it low starves mould and bacteria. CoA = Certificate of Analysis. C1D1 = a flammable-rated room.

QA, the Quality Assurance function, owns the final release decision, and QA is independent of production[1]. That separation is the spine of the whole system: the people paid to ship product never get to sign off their own work.

Status a batch can be in1Quarantinereceived, notyet judged2Releasedpassed allgates, shippable3Rejectedfailed; off todispositionEvery lot sits in exactly one of these three states at all times.
Figure 2. The three exclusive status states. Physical location and computer status must always agree.
Is this step a Critical Control Point?the HACCP decision, simplifiedIs there a hazardhere?Can a later stepcontrol it?CCP: must control &monitor hereNot a CCP, control itlateryesnoyes
Diagram. The HACCP test for whether a step is a Critical Control Point you must monitor.
Water activity (aw): the mould lineaw is the free water microbes can use. Cure to ~0.55-0.65: stable and smokeable, below the mould line.dry / stablecured targetriskymould grows0.30.60.9
Diagram. Water activity is the cold line for microbial safety and stability.
Core concept

Zoning and Cleanroom Grades: Nested Shells

The building is a set of nested cleanliness shells, like the layers of an onion. The dirty operations, intake, milling and waste, sit at the outer perimeter. The cleanest operations, collection, filling and packaging of open product, sit at the protected core.

The flow rule is simple and absolute: product moves inward toward purity; people and waste move outward toward the dirty edge, and the two never cross uncontrolled. Each shell boundary is an airlock plus a one-grade cleanliness step. Under EU-GMP Annex 1, Grade C corresponds to ISO 7 and Grade A to ISO 5[8]. Most recreational and medical hash operations run a D-to-C envelope and treat the fill point as Grade C with local protection. Full Grade A/B is only needed for sterile or pharma-grade dose forms.

Nested cleanliness shells (outer = dirty, inner = clean)Product flows inward to the clean core; people and waste flow outward to the dirty edge.CNC intakeGrade DGrade CGrade A core024
Figure 3. Concentric zoning from the CNC outer shell through Grade D and C to the clean core. Inward = product to purity; outward = personnel and waste to the dirty edge.
Air changes per hour climb with cleanlinessCleaner rooms flush their air far more often. Recommended ISO 7 rates are ~20-40 ACH.0681352022705 ACHCNC15 ACHGrade D30 ACHGrade C240 ACHGrade A
Figure 4. Air-change rate scales with grade: ISO 7 (Grade C) rooms run roughly 20–40 changes per hour[8], and a unidirectional Grade A fill point far higher.
Each room with its grade, ISO class, air-change rate, and key activity.
RoomGradeISO classACHActivity
Goods-in / quarantineCNC, 4–6Receive & hold biomass
Milling / dispensingGrade DISO 810–20Size-reduce, weigh
Wash / extractionGrade CISO 720–40Separate trichomes
Freeze-dry / pressGrade CISO 720–40Dry & press to rosin
Solvent recoveryGrade D (C1D1)ISO 810–20Recover solvent, LEL purge
Open-product fillGrade AISO 5unidirectionalFill open product (pharma)
Cleanroom grades: cleaner where it matterstighter air the closer you get to open productGrade DGrade CGrade BGrade ANested zones: each step inward holds fewer airborne particles. Grade A (or ISO 5) is where product is open; outer grades buffer it.
Diagram. Cleanroom grades nest cleaner air the closer you get to open product.
Core concept

Pressure Cascade, HVAC, and Gowning

Air is the main way contamination travels, so the building runs a positive-pressure cascade: clean rooms are held at higher pressure than dirtier ones, so air always blows outward from clean to dirty. Open a door and clean air rushes out. It can never suck dirty air toward the product.

Pressures step up shell by shell. EU-GMP Annex 1 recommends roughly a 10–15 Pa difference between adjacent classified zones[8], giving a ladder like 0 Pa (CNC), +15 (D), +30 (C), +45 (B), +60 (A). The solvent room is the one exception: it runs negative, around -15 Pa, so flammable vapour is contained and pulled toward the LEL exhaust rather than pushed into the building.

Pressure cascade: clean rooms push air to dirty rooms1CNC 0 Paouter shell2Grade D +15milling3Grade C +30wash / dry4Grade A +60fill core5Solvent -15negative:contains vapourPositive ladder protects product; the solvent room inverts to trap flammable vapour.
Figure 5. Rising positive pressure from CNC to the Grade A core keeps airflow running clean-to-dirty; the C1D1 solvent room runs negative to contain vapour.

People are the single largest source of particles and microbes in a cleanroom[5], so entry is a one-way airlock sequence that escalates gowning as the grade rises. Filtration scales with grade too: F9 pre-filters in prep, H13 HEPA in wash and dry, and H14 HEPA at the fill point. An H14 HEPA filter retains at least 99.995% of particles at the most-penetrating size[4], which is why it guards the cleanest air.

Gowning airlock cascade (entry is one-way)1CNC entrystreet clothesoff2D airlocklab coat +single glove3C airlockcoverall +double glove4B/A airlocksterileone-piece +double glove5Cleanroomwork; de-gownvia separateexitGowning escalates with grade. A physically separate corridor handles de-gowning on exit.
Figure 6. A one-way gowning sequence from CNC entry through grade airlocks to the work zone, with a separate dashed de-gown exit so entry and egress never share a door.
Health check at the door

Anyone with open wounds, respiratory illness, or gastrointestinal symptoms is excluded at the entry health check, and the exclusion is recorded. Airlocks are interlocked so both doors can never open at once.

HVAC control matrix: temperature, humidity, filtration, pressure and air changes per grade.
GradeTempRHFiltrationΔPACH
CNCambient<70%F70 Pa4–6
Grade D18–24 °C45–60%F9+15 Pa10–20
Grade C18–22 °C45–55%H13 HEPA+30 Pa20–40
Grade A fill18–22 °C45–55%H14 HEPA+60 Paunidir.
Solvent (C1D1)18–24 °C<55%F9-15 Pa10–20
Core concept

How the Product Is Actually Made

Two routes leave the weigh-in. Solventless separates the trichome heads (the resin glands) mechanically. Solvent extraction dissolves the resin and then recovers it. They share a goal but carry very different hazards.

The solventless route agitates fresh-frozen biomass in ice water, sieves the resin through a stack of screens (220 down to 25 micron), freeze-dries it, and presses it to rosin. Its four critical control points are wash temperature (≤4 °C), water quality (RO, <10 CFU/mL), water activity (Aw ≤0.55), and press temperature (≤90 °C). Keeping water activity at or below about 0.55–0.65 starves microbes and fungi before they can grow[3].

Solventless route with critical control points1Fresh-frozenweigh-in biomass2Agitate ≤4°CCCP: wash temp3Sieve 220-25umRO water <10 CFU4Freeze-dryCCP: Aw ≤0.555Press ≤90°CCCP: press tempFour CCPs gate the solventless line: wash temp, water quality, water activity, press temp.
Figure 7. The solventless flow from fresh-frozen biomass through agitation, sieving, freeze-drying and pressing, with the four critical control points called out.

Solvent extraction is a closed loop using butane, propane, ethanol, or CO₂. Here the dominant hazards shift to flammability and residual solvent, the trace of extraction solvent left in the product. Residual butane and propane action limits run roughly 2000–5000 ppm depending on the jurisdiction[2], and ethanol, an ICH Q3C Class 3 solvent, is typically capped near 5000 ppm[2]. Every batch is gated hard by a headspace GC-MS residual-solvent test before it can be released.

Closed-loop solvent extraction with QC gate1Charge columnload biomass2Solvent passdissolve resin3Filter / winterizeremove fats4Recover solventC1D1 + LEL purge5Vacuum purgeGC-MS gatebefore releaseC1D1 safety interlocks run in parallel; the residual-solvent test is the release gate.
Figure 8. Charge to solvent pass to winterize to recovery to vacuum purge, with the residual-solvent QC gate and a parallel C1D1 safety overlay.
Hydrocarbon rooms are C1D1 for a reason

Butane and propane extraction must run in an NFPA-classified C1D1 room: LEL (lower-explosive-limit) gas detection with auto-purge, explosion-proof electrics, a two-person rule, and ASME-rated pressure vessels. This is the highest-consequence area in the building. A single ignition source is catastrophic.

For the solventless line, water is treated as an ingredient, not a utility. It runs its own loop: mains to carbon/sediment pre-filter, to RO/DI, to a UV + 0.2-micron polish, to a sanitised ice hopper, to the point of use, with sampling at three points and out-of-spec water sent straight to quarantine.

Treated water and ice loop (water is an ingredient)1Mains inS1 sample: feed2Pre-filtercarbon +sediment3RO / DIS2 sample:post-RO4UV + 0.2umfinal polish5Ice hopperS3 sample: pointof useThree sampling points; any out-of-spec result quarantines the water before it touches product.
Figure 9. The linear water-treatment train with its three sampling points and out-of-spec quarantine logic.
How-to

Step-by-Step: Testing, Sampling, and Batch Release

Testing happens at three tiers, incoming biomass, in-process, and release, across four sampling stations along the value stream. Retained reference samples are kept to expiry + 1 year so any later complaint can be investigated against the actual material.

Four sampling stations along the value stream1S1 incomingbiomass: micro,pesticides2S2 in-processmoisture, visual3S3 bulk concentratepotency,residual solvent4S4 finished goodsfull releasepanelEach station tests what matters at that stage; S4 is the full legal release panel.
Figure 10. From incoming biomass (S1) through in-process (S2) and bulk concentrate (S3) to finished goods (S4), with what each station tests.

The finished-goods release panel is the legal gate to market. It covers seven families: potency, residual solvents, pesticides, microbials, heavy metals, mycotoxins, and water activity/moisture[3]. Heavy metals (lead, cadmium, arsenic, mercury) are quantified by ICP-MS, the standard method[3], and the regulated mycotoxins, aflatoxins B1/B2/G1/G2 and ochratoxin A, are carcinogens controlled at parts-per-billion levels.

Always test the concentrate, never just the flower

A pesticide or metal level that passes comfortably on raw flower can fail once it is concentrated five- to ten-fold into resin[3]. Release decisions are made on the finished concentrate, full stop.

The seven mandatory release families. Pathogens such as Salmonella and E. coli must be absent.
FamilyAnalytesMethodWhy
PotencyTHC, CBD, total cannabinoidsHPLC-DADLabel accuracy
Residual solventsButane, propane, ethanolHeadspace GC-MSSolvent safety
PesticidesState pesticide listLC-MS/MS, GC-MS/MSChemical safety
MicrobialsTYMC, TAMC, E. coli, Salmonella, AspergillusPlate / qPCRPathogen control
Heavy metalsPb, Cd, As, HgICP-MSToxic-metal limits
MycotoxinsAflatoxins, ochratoxin ALC-MS/MSCarcinogen control
Water activityAw, moistureAw meter / KFMould prevention

QA, not production, then runs three sequential gates. Any ‘no’ diverts the batch to remediation. Only a clean pass on all three reaches release with a QP/QA signature and an issued Certificate of Analysis[1].

  1. 1
    Gate 1: Records
    Is the batch record complete and signed end to end (ALCOA+)? If not, the batch cannot proceed.
  2. 2
    Gate 2: Results
    Are all seven test families within spec, pathogens absent? Any out-of-spec result routes to OOS investigation.
  3. 3
    Gate 3: Deviations
    Are all deviations on this batch closed with CAPA? Any open critical deviation blocks release.
  4. 4
    Release
    All three gates pass: QA signs, the CoA is issued, status flips to Released.
Batch release decision tree (QA-owned)1Records signed?yes -> on; no ->hold2Results in spec?yes -> on; no ->OOS3Deviations closed?yes -> on; no ->remediate4QA RELEASEsign + issue CoAThree sequential yes/no gates; any no routes to hold, OOS, or remediation.
Figure 11. The three sequential gates, records, results and deviations, routing to QA release or to the return/OOS/hold lanes.
A batch moves through quality states1Quarantinejust made /received2Testingsampled,awaiting result3Releasedpassed, usable4Rejectedfailed,segregatedNothing is used until it is Released. Failures are quarantined and tracked, never quietly binned.
Diagram. A batch is quarantined, tested, then released or rejected, with a full record at each step.
Pitfalls

When It Goes Wrong: Deviations, CAPA, and Common Traps

When reality departs from the approved process, the deviation system catches it. ICH Q10 establishes the pharmaceutical quality system, including CAPA and change control, that this loop sits inside[6]. Every deviation runs through a five-stage CAPA loop, and it is not closed until the final effectiveness check passes.

Five-stage CAPA loop1Detect / logcapture thedeviation2Containquarantine &scope3Investigateroot cause:5-why / fishbone4Correctfix the affectedbatch5Prevent + verifySOP/training +effectivenesscheckRoot-cause tools (5-why, Ishikawa) drive stage 3. The loop closes only when verification passes.
Figure 12. Detect, contain, investigate, correct, then prevent-and-verify, with a feedback arrow closing the loop back into the process[6].

Severity triage sets the urgency and the sign-off level. A critical deviation, one with patient-safety or recall risk, goes to the QA director with under 24 hours to containment. A major goes to QA on a defined timeline. A minor goes to a supervisor to be trended. Root-cause tools such as 5-why and Ishikawa (fishbone) diagrams are the standard ways to find what actually went wrong[6].

The three classic traps
  • Trusting the biomass CoA. Extrapolating safety from the raw-flower result instead of testing the concentrate. The number that matters is the one after concentration.
  • Releasing on a borderline residual-solvent result. Never. Re-test, re-purge, or reject, and document the disposition.
  • Letting physical and system status disagree. Quarantine stock must sit behind a locked cage or controlled rack; the computer and the shelf must always tell the same story.
Waste and reject disposition1Off-spec / spentinto locked cage2Quarantine cagecontrolled,logged3Render unusabledenature /destroy4Licensed disposalwitnessedmanifestSolvent waste is a separate hazmat stream. Cannabis waste is rendered unusable, then hauled under a witnessed manifest.
Figure 13. Off-spec product and spent biomass into a locked quarantine cage, rendered unusable, then licensed disposal with a witnessed manifest; solvent waste runs as a separate hazmat stream.
Reality check

Realistic Expectations: Cost, Cadence, and What 'Compliant' Really Means

Compliance is a continuous program measured by data, not a one-time build. Management review tracks a handful of KPIs: right-first-time release rate (target ≥98%), deviation rate per batch (<5%), median CAPA closure (≤30 days), environmental-monitoring results within limits (≥95%), and mock-recall retrieval (<24h).

Quality KPI targets that run the systemHigher is better for the first three; deviation rate is the one you want LOW.0285582110target98Right-first-time %95EM in-limit %90CAPA closed <=30d5Deviation rate %
Figure 14. The headline KPI targets shown against their thresholds. The system is healthy when right-first-time stays high and deviation rate stays low.

Equipment must be qualified before it ever makes releasable product, through the validation V-model: DQ (design), IQ (installation), OQ (operational), PQ (performance), each verifying the leg opposite it. Qualification follows that IQ/OQ/PQ progression[7], and only then does process validation begin: conventionally three consecutive conforming batches to prove the process is reproducible[7].

V-model qualification, then process validation1URS / designwhat it must do2Build / installIQ verifiesinstall3OperateOQ verifiesfunction4PerformPQ verifies realoutput53 conformance batchesprocessvalidationEach right-hand stage verifies the matching design stage; PQ leads into process validation.
Figure 15. The descending design leg (URS to build) is verified by the ascending qualification leg (IQ/OQ/PQ), with process validation of three conformance batches following PQ[7].

Cleaning is validated too, against a calculated MACO (Maximum Allowable Carryover) limit measured by swab or rinse with TOC/HPLC and micro acceptance criteria, never ‘looks clean.’ Scale the gowning, monitoring, and grade to what you actually run: a D-to-C envelope is normal for most hash operations, and over-building to Grade A/B that the product doesn't require simply wastes capital.

The fixed review cadence, from per-batch through annual.
CadenceWhat is reviewedOwner
Per batchBatch record, release results, deviationsQA reviewer
WeeklyEM trends, open deviations, OOS logQA lead
MonthlyCAPA status, KPI dashboardQA manager
QuarterlyManagement review, supplier performanceQA director
AnnuallyProduct Quality Review (PQR), self-inspectionQuality + ops
What 'compliant' actually means

Not a perfect building: a provable one. Compliant means every batch can be traced, every limit was met or the deviation was closed, and an inspector could reconstruct the whole story from the records alone. Specific limits and grades vary by jurisdiction, so validate against your own licence before you build.

Once the system runs, the contamination side of the picture is where most failures actually originate. Read the mould-risk paper next for that side of the build.

Related papers

References

  1. U.S. Food and Drug Administration. 21 CFR Part 211, Current Good Manufacturing Practice for Finished Pharmaceuticals (esp. 211.22 Responsibilities of quality control unit; 211.165 Testing and release for distribution; 211.192 Production record review). Code of Federal Regulations, Title 21. (industry/manufacturer or non-journal source) https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211
  2. International Council for Harmonisation. ICH Q3C(R9) Guideline for Residual Solvents (Step 5), reproduced by European Medicines Agency, 2024. EMA/CHMP/ICH/82260/2006. (industry/manufacturer or non-journal source) https://www.ema.europa.eu/en/documents/scientific-guideline/ich-q3c-r9-guideline-impurities-guideline-residual-solvents-step-5_en.pdf
  3. Seltenrich N. Cannabis Contaminants: Regulating Solvents, Microbes, and Metals in Legal Weed. Environmental Health Perspectives. 2019;127(8):082001. doi:10.1289/EHP5785. https://ehp.niehs.nih.gov/doi/10.1289/EHP5785
  4. Camfil. EN 1822 and ISO 29463 HEPA filter factory test (EN 1822-1:2019 filter classes; H14 minimum efficiency 99.995% at the Most Penetrating Particle Size, MPPS). (industry/manufacturer or non-journal source) https://www.camfil.com/en/insights/standard-and-regulations/en-1822-and-iso-29463-hepa-filter-factory-test
  5. Meng H, Shiue A, Wang C, Leggett G. Particle and bacterial colony emissions from garments and humans in pharmaceutical cleanrooms. Journal of Building Engineering, 2024;96:110...; ScienceDirect S2352710224023970. https://www.sciencedirect.com/science/article/abs/pii/S2352710224023970
  6. Enhancing Pharmaceutical Product Quality With a Comprehensive Corrective and Preventive Actions (CAPA) Framework: From Reactive to Proactive. Cureus, 2024. PMC11490658. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11490658/
  7. U.S. Food and Drug Administration, CDER/CBER/CVM. Guidance for Industry, Process Validation: General Principles and Practices. January 2011 (Revision 1). (industry/manufacturer or non-journal source) https://www.fda.gov/files/drugs/published/Process-Validation--General-Principles-and-Practices.pdf
  8. Pharmaceutical Engineering (ISPE). Pharmaceutical Cleanroom Design & ISO 14644-16, Sep/Oct 2021, air-change-rate optimization for classified cleanrooms. (industry/manufacturer or non-journal source) https://ispe.org/pharmaceutical-engineering/september-october-2021/pharmaceutical-cleanroom-design-iso-14644-16

Citations marked in-text as [n] map to this list. Primary literature and official guidance except where noted. Cannabis tissue culture is strongly genotype-dependent, verify dilutions, hormone doses and local regulations against the primary sources before relying on them.