Cannabis Freedom Index

Changelog a034b44

Correct New Zealand hemp permissions and Cambodia custodial penalties

2 history entries edited1 score changed1 country profile edited10 files of code, design or docs +212 −56 lines

Score changes 1 place

  1. Cambodia1210−2enforcement 2 → 1

History changes.yaml

Edited 2

Cambodia raises drug-possession penalties and sets treatment rules

description

Unlawful drug possession, transport and trafficking carried a basic two-to-five-year priso … ing discretion for limited quantities consumed as a non-addictive ancestral practice.[@1] Article 28 requires the law’s principal penalties and bars substitution with the Criminal Code’s alternative penalties.[@1]

before

possession 1 · cultivation 1 · enforcement 2 · sharing 1 · consumption 2 · access 0

New Zealand lets hemp be grown on notice instead of under licence

description

Amendment regulations replaced the hemp licensing scheme of 2006. HempFrom 28 May 2026, cannabis of at most 1% THC by dry weightqualifying hemp plants and the seed of such plants, may now be growncultivated, processed, held, procured and supplied within New Zealand without a licencedomestically for specified purposes, among them breeding, making without a hemp products and supplying the medicinal cannabis schemelicence. A grower must first notify both[@1] Supply is limited to legally entitled recipients, and cultivation requires Police and the Ministry for Primary Industries; aMPI notification is, valid for a year. Importing[@1] High-THC cultivar clones and exporting hemp plantsseedlings are excluded; import and seedexport of hemp plant material still needsneed a licence. Hemp remains a controlled drug outside these rules[@1, and growing any other cannabis is still a crime.2]

checked

falsetrue

sources

New Zealand Legislation — Misuse of Drugs Amendment Regulations 2026 (SL 2026/85) New Zealand Legislation — Misuse of Drugs Amendment Regulations 2026 (SL 2026/85) New Zealand Police — Cultivating hemp 1 unchanged

Countries and states 2 files

Cambodia countries/kh.yaml

enforcement 2 → 1

segments › enforcement › text

Cambodia's antiUnlawful possession has a basic two-to-five-year prison penalty; article 28 requires the drug campaign began in 2017law’s principal penalties and led to at least 55,770 arrests on suspicion of using or selling drugs by March 2020bars substituting alternative penalties under the Criminal Code.[@ai2020law] Amnesty International documentedreports extensive prosecution and detention for low-level drug offences during the campaign begun in 2017.[@ai2023] The published arrest and abuse affecting poor communities; its findingsdetention figures cover drugs generally, without and do not establish a separate cannabis arrest count-only sentencing rate.[@ai2020ai2023, akp26]

segments › enforcement › sources

ai2020law, ai2023, akp26

sources

Amnesty International — Cambodia: Submission to the UN Committee on Economic, Social and Cultural Rights AKP — Cambodia Cracks Down on 10,743 Drug Cases in 2025, Nearly 28,000 Suspects Arrested (6 March 2026) 7 unchanged

New Zealand countries/nz.yaml

context › planting › seeds

licensedconditional

context › planting › seeds trade

regulatedconditional

context › planting › clones

illegalconditional

context › planting › clones trade

bannedconditional

context › planting › text

New Zealand Police list cannabis seed and cannabis plant as Class C controlled drugs. Possessing cannabis seed carries up to one year in prison or a NZ$500 fine, cultivating the plant up to seven years, and supplying a Class C drug up to eight years. The exception is low-THC hemp: sinceSince 28 May 2026 seed of, qualifying hemp plantsseeds, seedlings and cuttings may be held, sownprocured, sold and supplied within New Zealanddomestically for the permitted hemp purposes, the growing after notifying under regulation 14A.[@hemp_regs] Supply must be to a person legally entitled to possess hemp; growers notify Police and the Ministry for Primary Industries, while importingwith notifications valid for one year.[@hemp_regs] Hemp cultivars must contain no more than 1% THC by dry weight. Clones, tissue, seedlings and seeds of high-THC cultivars are not hemp, even when young material itself contains little THC.[@moh_hemp] Importing or exporting itwhole hemp seed or plant material still needs a licence. Seeds and plants of any other cannabis remain illegal.[@hemp_regs, moh_hemp]

context › planting › sources

police, hemp_regs, police_hempmoh_hemp

sources

New Zealand Legislation — Misuse of Drugs Amendment Regulations 2026 (SL 2026/85), in force 28 May 2026 New Zealand Legislation — Misuse of Drugs Amendment Regulations 2026 (SL 2026/85), in force 28 May 2026 15 unchanged

Code, design and documents 10 files

docs/DATA-MAINTENANCE.md +19 −0
@@ -1530,2 +1530,21 @@ implemented can retain `medical: limited` with access zero. Greece’s finished
 products reached patients in February 2024; Panama’s 2021 framework and 2026 CBD listings
 alone do not establish a working THC medicine route.
+
+### Custodial penalties and missing sentencing statistics
+
+Enforcement 2 (“Prison possible, fines typical”) needs evidence of fine-led enforcement;
+statutory prison plus a possible additional fine does not establish that practice. The
+custodial band at 1 includes prescribed prison penalties as well as documented custody.
+Its label and generic quick answer do not imply a measured cannabis-only imprisonment
+frequency. Check the statute's sentencing and substitution provisions before using this
+basis, explain it in the country's enforcement text and research note, and tie a change
+to the relevant law in the historical chain. All-drug arrests, prosecutions and treatment
+figures can describe the surrounding enforcement campaign; never turn them into a
+cannabis-only conviction rate. Keep treatment powers, traditional-use exceptions and
+fine alternatives explicit where the law actually provides them.
+
+Planting status/trade `conditional` covers lawful holding, growing or supply for specified
+purposes under legal conditions, including notification regimes without a licence. It
+means neither unrestricted adult use nor licensed sellers only. Keep the permitted plant
+category, recipient restrictions and import/export licensing in the narrative; New Zealand's
+2026 hemp rules are the first example.

docs/research/issues-137-138-followups-2026-10-25.md +80 −0
@@ -0,0 +1,80 @@
+# Follow-ups 137 and 138
+
+Reviewed 25 October 2026. DATA-MAINTENANCE.md, its quick-answer/scoring rules, WRITING.md,
+planting definitions and the existing Cambodia research note were read.
+
+## 137: New Zealand's permitted hemp plants
+
+Opened the full [enacted SL 2026/85](https://www.legislation.govt.nz/secondary-legislation/pco-drafted/2026/85/en/latest/)
+in the in-app browser after web/terminal requests returned empty responses or 403.
+Read commencement, definition, regulations 14A–14B and 22A–22B and transitional provisions.
+The instrument begins 28 May 2026. Regulation 14A permits cultivation, possession,
+procurement, sale and supply for enumerated purposes and legally entitled recipients;
+14A(2) preserves import/export licensing and cultivation notifications. Police notification
+lasts a year; MPI notice precedes cultivation and is no more than a year old. Old licence
+holders have transitional timing. Non-cultivation activities do not themselves require
+notification. The event can now be checked.
+
+Opened the Ministry's full [Hemp guidance](https://www.health.govt.nz/regulation-legislation/hemp)
+in the same browser. It expressly excludes high-THC cultivar clones, tissue, seedlings
+and seeds from hemp, even though immature material may itself contain little THC. The
+legal threshold is no more than 1% dry weight. This is not blanket permission for cuttings
+of any cannabis. Domestic permissions and import/export licensing remain distinct.
+
+Added `conditional` to both planting vocabularies rather than mislabelling this revoked
+licence regime as licensed or declaring all clones illegal. Applied it to seeds and clones,
+including trade; map colours, table ordering and automatic schema/legend propagation were
+checked. The six scored New Zealand dimensions are unchanged.
+
+## 138: Cambodia's unsupported “fines typical” implication
+
+Read the existing local NACD 2012 translation, including articles 27–28, 38, 40, 45,
+100–110 and the cannabis schedule. Article 40 prescribes a basic two-to-five-year prison
+term for unlawful keeping, with a possible additional fine. Article 28 disapplies the
+Criminal Code's article 97 sentencing provision and prevents replacement of the drug law's
+principal penalties with alternative/additional penalties under the Code. The actual
+article 28 page was rendered and visually inspected. This is stronger evidence than
+inferring a custodial outcome merely from an arrest statistic.
+
+Read Amnesty's [2023 CESCR submission](https://www.amnesty.org/en/wp-content/uploads/2023/01/ASA2363562023ENGLISH.pdf),
+ASA 23/6356/2023, printed pp. 4–5, and the existing 2020 report's methodology/context.
+The issue calls the 2023 document *Substance Abuses*; that is the title of the underlying
+2020 report, not this 2023 submission. The evidence concerns drugs generally, not a
+cannabis-only sentence distribution. Article 48 in the law covers Table III; cannabis's
+Table I possession provision is article 40. Use that precise provision.
+
+Opened the government's [2025 enforcement figures, published March 2026](https://akp.gov.kh/post/detail/364183).
+They distinguish cannabis plants/weight seized but do not give a cannabis-only sentencing
+or fine-versus-prison breakdown. Searches for personal cannabis dispositions found travel
+warnings and cultivation cases, not a representative sentencing dataset. None establishes
+that fines are typical for small cannabis possession. Neither the all-drug detention
+figures nor occasional cannabis cases are used to manufacture such a rate.
+
+Decision: enforcement 2's empirical “fines typical” claim is unsupported. Move Cambodia
+from 2 to 1 on the documented custodial penalty basis, not on an invented frequency. The
+custodial band's label now describes custodial penalties, and its generic answer says
+prison/compulsory detention can occur instead of claiming users are “routinely jailed”.
+Reviewed the score-1 profiles' enforcement accounts; several already expressly state that
+frequency is unknown or include administrative custody, so the narrower claim is appropriate.
+The quick answer for Cambodia remains the explicit prison warning, and the profile states
+the scope of the all-drug evidence.
+
+The 2012 law is the scored tightening event, with the previous six-score vector (including
+enforcement 2 and access 0). The current vector differs only in enforcement 1. This preserves
+the existing pre-2012 reconstruction and corrects the later chain. It is not an assertion
+that earlier Cambodian sentencing practice has newly been verified. The statutory treatment
+powers and traditional-use discretion remain in the profile and law history.
+
+Validation covers conditional statuses, high-THC exclusions, cross-border licensing, checked
+history, unchanged New Zealand scores, Cambodia's historical chain and rejection of any
+claim to a measured cannabis-only jailing frequency. Build verification uses HEAD plus this
+fix's files; unrelated Singapore history/article work and source archives are excluded.
+
+Final checks: 61 targeted tests passed. The snapshot build completed with 4,138 pages;
+rendered citation targets, score/history exports, NZ API statuses and all four planting map
+legends passed automated checks. The in-app browser confirmed the NZ planting narrative
+and conditional chips, Cambodia's open enforcement segment at 1/10 and the clone-sales
+map's conditional legend. The two event blocks are the only history changes in this fix.
+
+After the separate Singapore work was committed, the combined checkout also built
+successfully with 4,139 pages. The source archive remains outside this fix's commit.

scripts/answers.test.mjs +8 −0
@@ -127,2 +127,10 @@ test("China's small-possession answer describes administrative detention rather
   assert.match(cn.public.text, /administrative detention/);
 });
+
+test('custodial enforcement band does not manufacture an imprisonment frequency (#138)', () => {
+  const p = { s: [1, 1, 1, 1, 1, 0], rec: 'illegal', med: 'no' };
+  const caught = answersFor(p).find((x) => x.id === 'caught');
+  assert.match(caught.text, /prison or compulsory detention/);
+  assert.doesNotMatch(caught.text, /routinely|usually|typical/);
+  assert.equal(placeOf('kh').result.caught.label, 'Prison');
+});

scripts/history-scope.test.cjs +8 −0
@@ -949,2 +949,10 @@ test("Venezuela separates personal use from the criminal quantity band and dates
   assert.ok(byId["venezuela-drug-law-1984"].sources.some(s => s.url.includes("e-nl-1985-93-s.pdf")));
 });
+
+test("Cambodia's 2012 custodial penalty correction preserves its earlier score (#138)", () => {
+  assert.equal(byId['cambodia-drug-control-law-2012'].before.enforcement, 2);
+  assert.equal(scoreAt('kh', 2011).enforcement, 2);
+  assert.equal(scoreAt('kh', 2012).enforcement, 1);
+  const profile = y.load(fs.readFileSync('countries/kh.yaml', 'utf8')).scores;
+  assert.deepEqual(scoreAt('kh', 2026), profile);
+});

scripts/profile-claims.test.mjs +24 −0
@@ -79,2 +79,26 @@ test('Trinidad quick answers retain the location offence and US firearm claims r
   assert.match(country('se').context.products.text, /14 July 2026/);
 });
+
+test('New Zealand planting statuses include conditional hemp plant supply (#137)', () => {
+  const nz = country('nz'), p = nz.context.planting;
+  assert.equal(p.seeds, 'conditional');
+  assert.equal(p.clones, 'conditional');
+  assert.equal(p.seeds_trade, 'conditional');
+  assert.equal(p.clones_trade, 'conditional');
+  assert.match(p.text, /high-THC cultivars are not hemp/i);
+  assert.match(p.text, /legally entitled/);
+  assert.match(p.text, /Importing or exporting.*licence/);
+  assert.deepEqual(nz.scores, { possession: 2, cultivation: 1, enforcement: 4, sharing: 1, consumption: 1, access: 2 });
+  assert.equal(events().find((e) => e.id === 'new-zealand-hemp-notification-2026').checked, true);
+});
+
+test('Cambodia custodial possession penalties are not classified as typical fines (#138)', () => {
+  const kh = country('kh'), law = events().find((e) => e.id === 'cambodia-drug-control-law-2012');
+  assert.equal(kh.scores.enforcement, 1);
+  assert.equal(law.before.enforcement, 2);
+  assert.match(kh.segments.enforcement.text, /article 28/i);
+  assert.match(kh.segments.enforcement.text, /do not establish a cannabis-only sentencing rate/);
+  assert.doesNotMatch(kh.segments.enforcement.text, /fines (are )?typical|usually (a )?fine|cannabis users are routinely jailed/i);
+  const rubric = yaml.load(fs.readFileSync(path.join(root, 'segments.yaml'), 'utf8')).find((s) => s.id === 'enforcement');
+  assert.equal(rubric.levels.find((l) => l.score === 1).text, 'Custodial penalties for users');
+});

segments.yaml +1 −1
@@ -43,5 +43,5 @@
       text: Death penalty, corporal punishment or long sentences
     - score: 1
-      text: Users are routinely jailed
+      text: Custodial penalties for users
     - score: 2
       text: Prison possible, fines typical

src/components/HomePage.astro +2 −2
@@ -125,5 +125,5 @@ const PLANTING_FIELDS = { seeds: "Seeds", seeds_trade: "Seed sales", clones: "Cl
 // Each status gets its own step of the tier colours, so that no two legend entries look alike.
 // `regulated-sale-plus-gifts` shares step 4 with `regulated`: the scale has no step between open and regulated.
-const PLANTING_COLOR = { legal: 5, licensed: 4, grey: 3, illegal: 0, open: 5, "regulated-sale-plus-gifts": 4, regulated: 4, gift: 3, unclear: 2, banned: 0 };
+const PLANTING_COLOR = { legal: 5, conditional: 4, licensed: 4, grey: 3, illegal: 0, open: 5, "regulated-sale-plus-gifts": 4, regulated: 4, gift: 3, unclear: 2, banned: 0 };
 const plantingScale = (statuses) => Object.fromEntries(Object.entries(statuses).map(([k, v]) => [k, { label: v.label, help: v.help, color: `var(--t${PLANTING_COLOR[k]})` }]));
 const PLANTING_SCALES = { status: plantingScale(PLANTING_STATUS), trade: plantingScale(PLANTING_TRADE) };
@@ -160,5 +160,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
 // Extra columns sort on a number kept on the row: higher means freer (or bigger), -1 means no data.
 const order = (keys) => Object.fromEntries(keys.map((k, i) => [k, keys.length - i]));
-const STATUS_RANK = { ...order(Object.keys(PLANTING_STATUS)), ...order(["open", "regulated-sale-plus-gifts", "regulated", "gift", "unclear", "banned"]) };
+const STATUS_RANK = { ...order(Object.keys(PLANTING_STATUS)), ...order(["open", "regulated-sale-plus-gifts", "conditional", "regulated", "gift", "unclear", "banned"]) };
 const statusCol = (key, label, vocab, helpIndex) => ({
   key, label, group: "Context",

src/lib/answers.js +1 −1
@@ -62,5 +62,5 @@ export const QUESTIONS = [
     { min: 4, answer: "limited", text: "For a small amount, usually a fine, a referral to treatment or nothing at all; prison is rare", label: "A light penalty" },
     { min: 2, answer: "limited", text: "Usually a fine; prison is possible", label: "Fine or prison" },
-    { min: 1, answer: "no", text: "Users are routinely jailed", label: "Prison" },
+    { min: 1, answer: "no", text: "Personal use can lead to prison or compulsory detention", label: "Prison" },
     { min: 0, answer: "no", text: "Long sentences or worse", label: "Severe punishment" },
   ] },

src/lib/map-views.js +1 −1
@@ -37,5 +37,5 @@ export const MAP_VIEWS = [
     lede: "Whether an adult may have and sow cannabis seeds in each country. Hatched countries have not been researched yet." },
   { slug: "seed-sales", metric: "plant:seeds_trade", column: "seeds_trade", title: "Where cannabis seeds can be sold",
-    lede: "Whether cannabis seeds may be sold or handed on in each country: freely, by licensed sellers with adult gifts also allowed, by regulated sellers only, as gifts, or not at all." },
+    lede: "Whether cannabis seeds may be sold or handed on in each country: freely, for specified purposes, by licensed sellers with adult gifts also allowed, by regulated sellers only, as gifts, or not at all." },
   { slug: "clones", metric: "plant:clones", column: "clones", title: "Where cannabis clones are legal",
     lede: "Whether an adult may have and grow cannabis cuttings in each country. Hatched countries have not been researched yet." },

src/lib/segment-ids.js +2 −0
@@ -9,4 +9,5 @@ export const PLANTING_STATUS = {
   legal: { label: "Legal", tone: "legal", help: ["Adults may buy, hold and sow them", "Adults may buy and keep cuttings"] },
   grey: { label: "Grey area", tone: "decrim", help: ["Sold or held openly, but germinating them is an offence or the law is silent", "Tolerated, or legal only until the plant flowers"] },
+  conditional: { label: "Permitted purposes", tone: "partial", help: ["May be held or planted for specified purposes under legal conditions, such as cultivation notification", "May be held or grown for specified purposes under legal conditions, such as cultivation notification"] },
   licensed: { label: "Licence only", tone: "partial", help: ["Only for licensed growers, such as hemp, medical or registered clubs", "Only for licensed growers, such as hemp, medical or registered clubs"] },
   illegal: { label: "Illegal", tone: "illegal", help: ["Treated as cannabis or expressly banned", "Treated as plants under the cultivation ban"] },
@@ -15,4 +16,5 @@ export const PLANTING_TRADE = {
   open: { label: "Sold freely", tone: "legal", help: ["Anyone may sell them, in shops or online", "Anyone may sell them, in shops or online"] },
   "regulated-sale-plus-gifts": { label: "Licensed sales and gifts", tone: "partial", help: ["Licensed sellers may sell them, and adults may also give a limited amount away", "Licensed sellers may sell them, and adults may also give a limited amount away"] },
+  conditional: { label: "Permitted purposes", tone: "partial", help: ["May be sold or supplied for specified purposes to people legally entitled to receive them", "May be sold or supplied for specified purposes to people legally entitled to receive them"] },
   regulated: { label: "Regulated sellers only", tone: "partial", help: ["Only licensed sellers, clubs or the state may sell or hand them out, often with limits", "Only licensed sellers, clubs or the state may sell or hand them out, often with limits"] },
   gift: { label: "Gifts only", tone: "decrim", help: ["May be given away between adults, but not sold", "May be given away between adults, but not sold"] },

    ↑↓ to move, ↵ to open.