Cannabis Freedom Index

Changelog 48e5497

fi

6 history entries added12 history entries edited14 scores changed13 country profiles edited5 files of code, design or docs +375 −145 lines

Score changes 14 places

  1. Austria2122+1access 0 → 1
  2. Belgium2425+1access 0 → 1
  3. Botswana1112+1access 0 → 1
  4. Estonia1920+1access 0 → 1
  5. Finland1314+1access 0 → 1
  6. France1314+1access 0 → 1
  7. Iceland1617+1access 0 → 1
  8. South Korea23+1access 0 → 1
  9. Liechtenstein1314+1access 0 → 1
  10. Lithuania1112+1access 0 → 1
  11. Mexico2526+1access 0 → 1
  12. Philippines01+1access 0 → 1
  13. Sweden1011+1access 0 → 1
  14. San Marino1112+1access 0 → 1

History changes.yaml

Added 6

Edited 12

The Philippines updates its compassionate-permit rules

description

Administrative Order No. 2025-0024, guidelines for availing a compassionate special permit … ceutical products and medical devices for human use, took effect on 10 December 2025. The Food and Drug Administration page read does not mention cannabis, so whetherorder updates the general named-patient route covers rather than creating a medical-cannabis programme; the health department says a permit can cover the use and importation of a cannabis-based medicines is not confirmedmedicine for an individual patient.

sources

Philippine News Agency — DOH sets conditions on proposed medical-cannabis legalisation 1 unchanged

Botswana legalises cannabis under licence

sources

Botswana Attorney General's Chambers — Cannabis Act 2025 1 unchanged

before

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

Mexico issues its medical cannabis regulation

sources

Diario Oficial de la Federación — Regulation for the medical use of cannabis and its pharmacological derivatives Uno TV — Publican reglamento sobre uso medicinal de la marihuana en México

before

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

Lithuania allows cannabis-based medicines

sources

Lithuanian State Medicines Control Agency — Epidyolex registration and supply status 1 unchanged

before

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

South Korea legalises medical cannabis

sources

Ministry of Food and Drug Safety — Applications to import cannabis medicines for self-treatment 1 unchanged

before

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

Sweden approves a cannabis-based medicine

description

Sativex was approved for spasticity in multiple sclerosis. Other cannabis medicines needrequire an individual licence, and only a few dozen are granted each year; Epidyolex was subsequently authorised across the EU.

sources

Swedish Medical Products Agency — Sativex 1 unchanged

before

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

The Philippines creates a compassionate-access permit

sources

Philippine News Agency — DOH sets conditions on proposed medical-cannabis legalisation Wikipedia — Cannabis in the Philippines 1 unchanged

before

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

Countries and states 27 files

Austria countries/at.yaml

access 0 → 1

segments › access › text

No legalThere is no recreational source, club or dispensary. CBDPatients can obtain a narrow range of prescription cannabinoid medicines, including Sativex, Canemes and lowpharmacy-THC products are sold in shops under restrictionscompounded dronabinol; no clubs or dispensariescannabis flower cannot generally be prescribed.

segments › access › sources

cr, tbparl

context › medical › sources

crparl

sources

Austrian Parliament — Patients have access to Sativex, Canemes and prescribed dronabinol (22 January 2019) 7 unchanged

Belgium countries/be.yaml

access 0 → 1

segments › access › text

No legal sourceMedical access is lawful but narrow: a specialist may prescribe Sativex for multiple-sclerosis spasticity and a pharmacy may dispense it. There are no coffeeshopslegal adult-use shops or tolerated clubs, and many Belgians buy across the Dutch border.

segments › access › sources

wiki, cmsfagg

context › products › sources

cmsfagg, wiki

context › medical › sources

wiki, cmsfagg

sources

Belgian medicines agency (FAGG) — Questions about medicinal cannabis 8 unchanged

Botswana countries/bw.yaml

access 0 → 1

segments › access › text

NoneA narrow prescription route exists under the Cannabis Act. Licensed pharmacists and health professionals may provide cannabis medical products to patients holding a valid medical cannabis prescription within the licensed framework.

segments › access › sources

tripca25

context › products › text

NoneLicensed cannabis medical products supplied on prescription.

context › products › sources

tripca25

context › medical › sources

wikica25

Estonia countries/ee.yaml

access 0 → 1

segments › access › text

No legal sourceA narrow medical route is lawful. Epidyolex is authorised, and a doctor may seek permission for an unauthorised cannabinoid medicine or standardised cannabis for an individual patient.

segments › access › sources

wikiravim

context › products › sources

leaf, cannravim

context › medical › text

Legal in theory but with no real programmeAccess is narrow: Epidyolex is authorised, while a doctor mustmay apply for permission case by case, and only for an unauthorised cannabinoid medicines, not the plant, are availablemedicine or standardised cannabis. Very few patients have received itDomestic cultivation for medical use remains prohibited.

context › medical › sources

leaf, wikiravim

sources

Estonian State Agency of Medicines — Cannabis, THC and CBD 7 unchanged

Finland countries/fi.yaml

access 0 → 1

segments › access › text

No legalrecreational source. A citizens' initiative for decriminalisation reached parliament and was voted down in 2022;Sativex, a secondTHC/CBD mouth spray, may be prescribed by a neurologist for legal regulation, gathered the required 50,000 signatures in 2023severe multiple-sclerosis spasticity; other cannabis medicines require an individual special permit and prescription.

segments › access › sources

tdfimea, wikifimea_permit

context › products › sources

wikifimea, fimea_permit

context › medical › sources

wikifimea, fimea_permit, nordic

sources

Fimea — Sativex summary of product characteristics Fimea — Frequently asked questions about special-permit medicines 7 unchanged

France countries/fr.yaml

access 0 → 1

segments › access › text

No legal sourceExtremely restricted medical access survives for patients enrolled before 27 March 2024. They may continue to receive prescriptions and pharmacy dispensing during the transition; no new patients can enter. CBD flower under 0.3% THC has beenis also lawful to sell since France's highest administrative court struck down a ban in December 2022.

segments › access › sources

cx, sp

context › medical › text

A national experiment began in 2021 for a few thousand patients with severe conditions. It formally ended on 31 December 2024 with no permanent regime in place; existing. Existing patients were kept on treatment through extensions,remain eligible for prescriptions and dispensing during a transitional extension lasting until three months after the latest to 31 December 2026forthcoming health-technology assessment is published. A decree setting out how cannabis medicines will be assessed and reimbursed went to the Conseil d'État on 2 July 2026; first prescriptions under a permanent regime are expected in 2027 at the earliest.

Iceland countries/is.yaml

access 0 → 1

segments › access › text

No legalrecreational source. A bill to legalise and regulate sales to adults over 20 was proposed in parliament but went nowhereSativex can be obtained from a pharmacy on a neurologist's prescription; the medicines agency also lists Epidyolex as available.

segments › access › sources

tniima

context › products › text

One prescription cannabinoid medicinePrescription Sativex and Epidyolex.

context › products › sources

cannima

context › medical › text

Limited to aapproved cannabinoid mouth spraymedicines, including Sativex on specialist prescription.

context › medical › sources

cannima

sources

Icelandic Medicines Agency — Cannabis medicines available in Iceland 5 unchanged

South Korea countries/kr.yaml

access 0 → 1

segments › access › text

NoneA patient may apply through the state orphan-drug centre to import a small number of foreign-approved cannabis medicines for self-treatment. The route requires medical records, a doctor's opinion and approval for each import.

segments › access › sources

slgmfds

context › medical › sources

mfds, slg, filter

sources

Ministry of Food and Drug Safety — Applications to import cannabis medicines for self-treatment (12 March 2019) 6 unchanged

Liechtenstein countries/li.yaml

access 0 → 1

summary

Illegal, with small-quantity cases usually diverted; authorised cannabinoid medicines are prescribable.

segments › access › text

No legal sourceThere is no general medical-cannabis programme, but authorised cannabinoid medicines can be prescribed. The government specifically identifies Sativex as authorised for medical use in Liechtenstein. Residents are not covered by neighbouring Switzerland's cannabis pilot trials.

segments › access › sources

cann, govt_drug_policy

context › medical › sources

cann, wiki, govt_drug_policy

sources

Liechtenstein Government — Drug Policy Principles 2020 5 unchanged

Lithuania countries/lt.yaml

access 0 → 1

segments › access › text

No legal sourcePrescription-only cannabinoid medicine is obtainable through the medicines system. The state register lists Epidyolex (cannabidiol oral solution) as registered and a 100 ml package as currently supplied.

segments › access › sources

lrt2vapris

context › medical › text

Cannabis-based medicines have been permitted since 2019, but only as registered pharmaceutical products, which are scarcely availablepharmaceuticals. Epidyolex is registered as a prescription medicine and is currently supplied.

context › medical › sources

lib, vapris

sources

Lithuanian State Medicines Control Agency — Epidyolex registration and supply status 8 unchanged

Mexico countries/mx.yaml

access 0 → 1

segments › access › text

No legal sales at all. Congress has never passed the regulatory law the Court called for, so thereThere are no legal recreational sales or licensed dispensaries. A narrow medical route permits prescribed cannabis medicines, including personal imports with prior COFEPRIS approval. Unlicensed outlets work around this: members-only shops that hand over cannabis as a gift with a paid membership or item, privateand clubs that ask for a court injunctionoperate through local tolerance, injunctions or a prescriptionpurported gifts, and shops selling to tourists in resort towns. Police raids are reported to be rare but the model depends on local tolerancethey are not a lawful retail market.

segments › access › sources

dof, cms, giq, yuc

context › production › sources

dof, cms, giq

sources

Diario Oficial de la Federación — Regulation for the medical use of cannabis and its pharmacological derivatives (12 January 2021) 13 unchanged

Sweden countries/se.yaml

access 0 → 1

segments › access › text

No legal sourcePrescription access is narrow but lawful. Sativex and Epidyolex are approved medicines, and a doctor may apply for an individual licence for another medicine.

segments › access › sources

nordiclva

context › products › sources

tblva

context › medical › sources

scan, tblva

sources

Swedish Medical Products Agency — Cannabidiol (CBD), approved medicines 8 unchanged

San Marino countries/sm.yaml

access 0 → 1

segments › access › text

NoCannabis-based medicines are available through the state pharmacy on prescription. There is no adult-use source. In 2019 parliament approved; a citizens' proposal to regulate recreational cannabis — it would have allowedfor 30 g and four plants — then backtrackedwas shelved in March 2020, deciding to wait for Italy.

segments › access › sources

wikil113, viceascc

context › medical › sources

cannascc, wikil113

sources

San Marino Health Authority — Therapeutic cannabis 5 unchanged

United Arab Emirates countries/ae.yaml

recreational

illegaldeath

segments › sharing › text

Supply is trafficking,. Article 57 provides the death penalty when prohibited drugs or plants are possessed or acquired with sentences upintent to lifetraffic or promote them.

segments › sharing › sources

mondaqdl30

sources

UAE Legislation — Federal Decree-Law No. 30 of 2021 on combating narcotics and psychotropic substances (official English text) مرسوم بقانون اتحادي رقم (30) لسنة 2021 في شأن مكافحة المواد المخدرة والمؤثرات العقلية — Ministry of Justice compilation (PDF) 4 unchanged

context › death penalty › text

Federal Decree-Law 30 of 2021 provides the death penalty for trafficking or promotion involving prohibited narcotic substances or drug-producing plants, which include cannabis.

context › death penalty › sources

dl30

Afghanistan countries/af.yaml

recreational

deathillegal

segments › enforcement › text

Sharia punishments including flogging, applied unevenly: hashish remains widely used and the cultivation ban has been enforced less thoroughly than the opium ban. In a 2025 case involving hashish trafficking, a Taliban court imposed prison terms and 10–39 lashes.

segments › enforcement › sources

aan, am, afj

segments › sharing › text

Trafficking can bring theThe available cannabis-specific legislation sets prison terms rather than death penaltyfor trafficking. A 2025 Taliban ruling imposed seven months to three and a half years in prison, plus lashes, in a case involving hashish and narcotic tablets.

segments › sharing › sources

cannsherloc, afj

context › death penalty › text

Trafficking can bring the death penalty.

context › death penalty › sources

cann

context › clubs › text

No cannabis clubs are known, and the law leaves no room for them: growing cannabis and supplying it to another person are both prohibited, and the law provides for the death penalty for the most serious drug offences.

context › clubs › sources

am, aan, cann

sources

Afghanistan Justice Archive — Taliban court sentences eleven people for hashish and tablet trafficking (24 May 2025) UNODC SHERLOC — Afghanistan drug law, cannabis-trafficking penalties 4 unchanged

Armenia countries/am.yaml

recreational

illegaldecriminalised

Algeria countries/dz.yaml

recreational

illegaldeath

summary

Prison and a fine for personal use, with court-ordered treatment as an alternative; penalties for. Since 2025 aggravated drug production and trafficking were raised in 2023offences can carry the death penalty.

sources

Algeria National Office for the Fight Against Drugs and Drug Addiction — Law 25-03 of 1 July 2025 6 unchanged

context › death penalty › text

Law 25-03 of 1 July 2025 allows a death sentence for drug production and trafficking offences in aggravated circumstances, including conduct by a transnational organised group, use of a firearm, or conduct that causes death or is liable to cause serious harm to public health. The provisions are not limited to a particular drug and therefore cover serious cannabis offences. Algeria had observed a moratorium on executions since 1993, but courts imposed the first death sentences under the new drug law in October 2026, in cocaine and pregabalin cases.

context › death penalty › sources

law25, fcdo

Grenada countries/gd.yaml

medical

limitednone

India countries/in.yaml

segments › sharing › text

Supply is trafficking, with sentences scaled to quantity. Section 31A also allows death for a repeat qualifying offence involving at least 20 kg of hashish or 500 g of THC.

segments › sharing › sources

iplcbn

sources

Central Bureau of Narcotics — NDPS Act and Rules, updated 2025 7 unchanged

context › death penalty › text

Section 31A of the NDPS Act makes death a discretionary sentence for certain repeat offences. The cannabis thresholds in its table are 20 kg of hashish or 500 g of THC. The headline status remains partial because bhang made from leaves is lawfully sold in several states.

context › death penalty › sources

cbn

Kyrgyzstan countries/kg.yaml

recreational

illegaldecriminalised

Laos countries/la.yaml

segments › sharing › text

TraffickingCannabis trafficking carries prison terms that rise with quantity. Capital provisions in the heaviest sentencesreviewed drug law apply to specified drugs such as heroin, not marijuana.

segments › sharing › sources

cmslao_law

context › visitors › text

There is no legal recreational supply for anyone. British travel advice describes zero tolerance: possessing even very small quantities, cannabis included, can mean arrest, detention and a long prison sentence, with a possible death penalty for. Its general warning that drug trafficking can receive death should not be read as cannabis-specific; the reviewed marijuana provisions prescribe prison terms. Police often raid venues used by foreigners and can require a urine or blood test on sus … ers have been caught with cannabis in transit, and legal processes are long and expensive.

context › visitors › sources

cms, fcdo, lao_law

sources

Lao PDR Trade Portal — Law on Narcotics, amended text and penalties 3 unchanged

Latvia countries/lv.yaml

medical

limitednone

Montenegro countries/me.yaml

recreational

illegaldecriminalised

Nepal countries/np.yaml

medical

nonelimited

Pakistan countries/pk.yaml

recreational

deathillegal

segments › sharing › text

Supply is trafficking, with sentences up to life or deathimprisonment for largethe largest quantities.

segments › sharing › sources

shc, na23, hri24

context › death penalty › text

Trafficking carries sentences up to life or death for large quantities.

context › death penalty › sources

shc

context › clubs › text

No cannabis clubs in the modern sense are known, and the law leaves no room for them: growing and supplying cannabis are prohibited, and the law provides for the death penalty for the most serious drug offences. The collective use that does exist is religious and much older. Malangs, the wandering m … rnal. That is a devotional custom outside respectable society, not a members' association.

sources

National Assembly of Pakistan — Control of Narcotic Substances (Amendment) Act, 2023 Harm Reduction International — The Death Penalty for Drug Offences, Global Overview 2024 6 unchanged

Slovakia countries/sk.yaml

medical

limitednone

Code, design and documents 5 files

src/components/CountryArticle.astro +2 −2
@@ -2,5 +2,5 @@
 // Full write-up for one country. Rendered on its own page, and fetched into the
 // drawer on the home page — so there is a single template for both views.
-import { SEGMENTS, REC_LABEL, REC_HELP, MED_LABEL, countries, changes, segAvg, segmentPoints, segmentMax, subunitsOf, formatDate } from "../lib/countries.js";
+import { SEGMENTS, REC_LABEL, REC_HELP, MED_LABEL, MED_HELP, countries, changes, segAvg, segmentPoints, segmentMax, subunitsOf, formatDate } from "../lib/countries.js";
 import { tierOf, tierColor } from "../lib/tiers.js";
 import CountryChanges from "./CountryChanges.astro";
@@ -86,5 +86,5 @@ const circ = 2 * Math.PI * r;
     <div class="d-chips">
       <span class={`chip s-${v.rec}`} title={REC_HELP[v.rec]}>Recreational: {REC_LABEL[v.rec]}</span>
-      <span class={`chip s-${v.med}`}>Medical: {MED_LABEL[v.med]}</span>
+      <span class={`chip s-${v.med}`} title={MED_HELP[v.med]}>Medical: {MED_LABEL[v.med]}</span>
     </div>
     {d && d.context.some((x) => x && (x.status || x.seeds)) && (

src/content.config.ts +6 −2
@@ -22,4 +22,8 @@ const status = {
   // "death": illegal, and the law allows the death penalty for cannabis offences, in practice trafficking.
   recreational: z.enum(["legal", "partial", "decriminalised", "illegal", "death"]),
+  // "legal": an established patient route for cannabis or cannabis-based medicine.
+  // "limited": case-specific or pharmaceutical-only access, or legal authority limited to a pilot,
+  // one region, research/production, or a framework that is not yet operational.
+  // "none": no legal medical use; a proposal, CBD/hemp alone, or a future programme does not qualify.
   medical: z.enum(["legal", "limited", "none"]),
 };
@@ -79,6 +83,6 @@ const countries = defineCollection({
     .superRefine((data, ctx) => {
       // Every source key cited by a segment must be defined under `sources`.
-      if ((data.recreational === "death") !== Boolean(data.context.death_penalty)) {
-        ctx.addIssue({ code: "custom", message: 'a country marked "recreational: death" needs a context.death_penalty section, and only such a country may have one' });
+      if (data.recreational === "death" && !data.context.death_penalty) {
+        ctx.addIssue({ code: "custom", message: 'a country marked "recreational: death" needs a context.death_penalty section' });
       }
       const blocks = { ...data.segments, ...data.context } as Record<string, { sources: string[] }>;

src/lib/countries.js +5 −0
@@ -17,4 +17,9 @@ export const REC_HELP = {
 };
 export const MED_LABEL = { yes: "Legal", limited: "Limited", no: "None" };
+export const MED_HELP = {
+  yes: "Patients have an established legal route to cannabis or cannabis-based medicine",
+  limited: "Access is case-specific, pharmaceutical-only, regional, a pilot, production-only or not yet operational",
+  no: "No legal medical use; proposals and CBD or industrial hemp alone do not qualify",
+};
 // Explanations that exist for each country but are not part of the score.
 // "Death penalty" comes first and exists only for countries whose law provides for it;

src/pages/history/[id].astro +2 −2
@@ -2,5 +2,5 @@
 import Base from "../../layouts/Base.astro";
 import ScoreChange from "../../components/ScoreChange.astro";
-import { changes, countries, changeDate, REC_LABEL, REC_HELP, MED_LABEL } from "../../lib/countries.js";
+import { changes, countries, changeDate, REC_LABEL, REC_HELP, MED_LABEL, MED_HELP } from "../../lib/countries.js";
 import { tierOf, tierColor } from "../../lib/tiers.js";
 
@@ -89,5 +89,5 @@ const circ = 2 * Math.PI * r;
           <div class="d-chips">
             <span class={`chip s-${c.rec}`} title={REC_HELP[c.rec]}>Recreational: {REC_LABEL[c.rec]}</span>
-            <span class={`chip s-${c.med}`}>Medical: {MED_LABEL[c.med]}</span>
+            <span class={`chip s-${c.med}`} title={MED_HELP[c.med]}>Medical: {MED_LABEL[c.med]}</span>
           </div>
           <p class="ca-note">{c.note}</p>

src/pages/index.astro +3 −3
@@ -3,5 +3,5 @@ import Base from "../layouts/Base.astro";
 import DidYouKnow from "../components/DidYouKnow.astro";
 import Changes from "../components/Changes.astro";
-import { SEGMENTS, DATA_SNAPSHOT, REC_LABEL, REC_ORDER, REC_HELP, MED_LABEL, countries, regions, worldAvg, lastUpdated, formatDate, subunitsOf, places } from "../lib/countries.js";
+import { SEGMENTS, DATA_SNAPSHOT, REC_LABEL, REC_ORDER, REC_HELP, MED_LABEL, MED_HELP, countries, regions, worldAvg, lastUpdated, formatDate, subunitsOf, places } from "../lib/countries.js";
 import { TIERS, tierColor } from "../lib/tiers.js";
 import { PLANTING_STATUS, PLANTING_TRADE, STATUS_SECTIONS } from "../lib/segment-ids.js";
@@ -67,5 +67,5 @@ const LAW_SECTIONS = {
     sub: "Green means adults may legally have cannabis, yellow that small amounts bring at most a fine, red that it is a crime; the darkest red marks laws with a death penalty.",
     note: "The legal status of cannabis for adults. The index score measures much more than this one label." },
-  med: { name: "Medical status", complete: true, statuses: Object.fromEntries(MED_ORDER.map((k) => [k, { label: MED_LABEL[k], help: "" }])),
+  med: { name: "Medical status", complete: true, statuses: Object.fromEntries(MED_ORDER.map((k) => [k, { label: MED_LABEL[k], help: MED_HELP[k] }])),
     tiers: { yes: 5, limited: 3, no: 0 },
     sub: "Green means a medical cannabis programme is legal, yellow that access is limited, red that there is none.",
@@ -257,5 +257,5 @@ const columnGroups = [["Shown by default", BASE_COLUMNS], ...["Score segments",
                 {SHOW_PRICES && <td class="num-col hide-md" data-col="price">{streetFlower(c) ? `$${streetFlower(c).usd.toFixed(2)}` : "—"}</td>}
                 <td class="hide-sm" data-col="rec"><span class={`chip s-${c.rec}`} title={REC_HELP[c.rec]}>{REC_LABEL[c.rec]}</span></td>
-                <td class="hide-md" data-col="med"><span class={`chip s-${c.med}`}>{MED_LABEL[c.med]}</span></td>
+                <td class="hide-md" data-col="med"><span class={`chip s-${c.med}`} title={MED_HELP[c.med]}>{MED_LABEL[c.med]}</span></td>
                 {EXTRA_COLUMNS.map((col) => {
                   const chip = col.chip?.(c);

    ↑↓ to move, ↵ to open.