Not yet medically reviewed, information on this site is in preparation and has not been verified by a medical reviewer.
Editorial standards

Court case verification methodology

Some of our legality pages carry a short, anonymized account of a real prosecution, so a reader can see what the law described above it actually did to somebody. This page explains what has to be true before one of those appears, and what we do when it is not.

The most important thing on this page

Our engine currently publishes no autonomously extracted records. Every published record to date was authored by hand and then verified against its source document by the automated checks described below. We have built the machinery to extract records from judgments automatically. Nothing it has produced has ever been good enough to publish, so nothing it has produced has been published.

The number of verified records we hold is small, and it is small because the bar is where it is.

Withhold by default

A record has to pass every check. There is no score, no majority and no threshold. A record that fails one check of twenty-nine is withheld exactly as firmly as one that fails all twenty-nine.

  • Withholding is the default outcome, not the exception. Any path that is not an explicit pass on every check produces a withheld record, including an error inside the checking code itself.
  • Every check runs. The process does not stop at the first failure, so a withheld record comes back with a complete account of what was wrong rather than one symptom.
  • A withheld record is logged with its reasons. It is not deleted and it is not a permanent ban: withholding is a statement about the evidence we hold today, so a better source and a fresh run can still clear it.

The twenty-nine checks

These are the checks the engine actually runs, grouped by what they test. Each one is verified against the live document at the moment of checking, not against a stored copy.

Source resolution

Whether the cited document is actually there, and whether it is actually about this case.

  • Source resolves. Every citable URL is fetched and read at verification time. A dead link, a paywall or an unreadable scan fails.
  • Source content matches the case. The fetched text has to carry the substance, the year, an outcome and the location the record claims.

Source tier

Whether the publisher is one we are willing to cite at all.

  • Tier qualifies. One government, court or official source is enough. Two independent established news outlets that agree are enough. Everything else is a lead we may follow, never a citation.

Does the source support each claimed fact

Taken fact by fact, not record by record. A record can be right about the outcome and wrong about the weight.

  • Outcome explicitly supported. The stated result has to appear in a source that is asserted to back it.
  • Charge supported. Every section number in the cited provision has to appear in the live document.
  • Offence stated in the source's own words. Where a record names the offence charged, that wording has to appear verbatim in the document, and where it names several, every one of them has to. There is no partial credit for proving one of two. This check is new and the field it reads is set on no record on this site yet, so read it with the limits below: today it governs nothing here.
  • Quantity supported. The figure, its unit and its hedge all have to match. A source saying not less than 367.2g does not support a record saying 367.2g.
  • Statutory limit supported. Where a record says a sentence sat at a legal floor or ceiling, that has to be a quotation from the document. We never work it out ourselves.
  • Global sentence not understated. Where a cited document states a total sentence larger than the single charge being described, the record is held unless it carries that total. Leaving it out would be true and flattering, which is the failure this check exists to stop. Read it with the limits stated below: the check runs at the gate, and no record on this site currently shows an aggregate total to a reader.

Cross source agreement

Whether the sources we hold contradict each other.

  • Cross source agreement. Conflicting outcomes, years or dispositions between sources fail the record rather than being reconciled by us.

Absence of personal names

Checked twice, by two separate pieces of code, on purpose.

  • No named individual. A name anywhere in the record fails it. The publishing step then runs an independent second name scan over the field that renders as the who, because that field is the one where a miss is both irreversible once indexed and invisible in a diff full of legal prose.

Required fields

Whether the record is complete enough to mean anything.

  • Required fields present. A missing field holds the record. It is never filled in with a plausible value.
  • Format and style. Five house limits, applied to the record rather than to the source. The written account has to run to between two and four sentences and no more than 120 words; the short descriptor has to fit 80 characters and the outcome 160; and no dash may stand in as punctuation in the descriptor, the account, the outcome, the place or the country. The limits are editorial, not layout: the outcome ceiling was raised from 140 to 160 characters in August 2026 after a record was hand-trimmed to fit and went live for three days ending in a number that named nothing.
  • Narrative is authored, not placeholder copy. The written account is scanned for the markers of text that was generated or stubbed rather than written from the document, and any of them refuses the record outright. It is not auto-correctable and rewording is not a fix: the account has to be written from the primary source. An empty narrative is not this check's business, it is caught as a missing required field, so that one fault produces one hold and not two.

Duplication

Whether we already hold this prosecution under another write up.

  • Not a duplicate. The test follows the correction chain, so a corrected record is recognised as the same case rather than as a second one.

Jurisdiction and scope

Whether this case belongs on this site at all.

  • Jurisdiction matches. The country has to be one we publish a legality page for.
  • Substance in scope. The drug has to be one of our substances.
  • Recency in range. Cases before 2000, and cases older than twenty five years, are out of range because the law described no longer resembles the law in force.

Outcome attribution

Whether the sentence we are about to print belongs to the person and to the drug we are about to attach it to. This is the largest group and it is the one that holds the most records.

  • Outcome bound to one defendant. In a judgment covering several people, the outcome has to bind to exactly one of them.
  • Disposition region names one sentenced person. The part of the document that carries the sentence has to name a single sentenced person.
  • Substance is the case's drug. A drug named in passing, in a cited precedent or in a statutory schedule, is not this case's drug.
  • Charge's own drug, not an incidental item. The same test again, applied per charge rather than per record.
  • Every charged drug resolves. A drug the document charges that we cannot resolve to a known substance holds the record rather than being dropped from it.
  • Appellate posture matches the clause. Where a record says whether a sentence was this court's own order or its recital of the court below, the clause carrying the outcome has to bear that out: it must contain a disposing verb, and it must name one court and not both. A clause naming both is ambiguous and holds the record rather than being resolved by us. A record claiming no posture passes with nothing to test, and a record whose posture is marked unread fails until a person has read the judgment and settled it.

What the document itself is about

Whether the judgment we are citing is a drug prosecution at all. Both read the court's own statement of its subject, and never a keyword sweep of the body: seven records once reached this site describing prosecutions for rape, for murder and for a constitutional challenge as drug convictions, and every one of them mentions drugs somewhere in its text.

  • Source document is a drug case. Where a court states its subject in the catchwords at the head of the judgment, an affirmatively non-drug subject refuses the record outright. The test is narrow on purpose. It fires only on a stated non-drug subject and not on the absence of a drug one, because an appellate court's catchwords describe the question it was asked and a sentencing appeal in a drug case is catchworded only as sentencing. Read the limits: a court that publishes no catchwords at all passes this check, and it says so rather than guessing.
  • Dutch judgment decides under the Opiumwet. A Dutch judgment carries no catchwords, so the check above passes it having tested nothing. This one reads the court's own applicable-provisions section, the list of articles it says the sentence rests on, and holds the record if the Opiumwet is not among them. A mention of the Opiumwet elsewhere in the judgment is not the same thing and is not accepted: it can be a charge that was not proved or a count that was acquitted. Read the limits: where no provisions section can be read the record passes, and the reason recorded says explicitly that this is not evidence the judgment is a drug case.

Language, translation and licence

These bite only on a record drawn from a document that is not in English. On an English-language record they pass with nothing to test, and they are run anyway.

  • Claim and quote share one language. A document is in one language, so a record cannot state its offence in one language and quote it in another, and a claim carrying a translation has to say what it was translated from.
  • Translation provenance complete. Where a claim is translated we record what it was translated from and by whom, and the source-language text is carried beside it, character for character. This check does not verify the translation and must not: nothing can, and a program pretending to read French would be worse than the gap it filled. The control is a reader seeing the original next to the English.
  • Attribution complete. Where the licence on a source requires the court, the formation, the seat and the date of pronouncement to be carried with any reuse, all four have to be present. For French judgments that is a licence condition, not a courtesy.

Checks are re-run before anything is published

A record that passed on the day it was written is not a record that passes today. Links rot and documents are replaced. Every record is re-fetched from its live sources and put through all twenty-nine checks again at the moment of publication, and nothing reaches the site on the strength of a past result. A record that fails the re-run is not published, whatever it passed before. Every record on this site today was re-checked that way on 8 September 2026, and each carries the count of checks it was re-run against.

Three limits on what is written above

The aggregate total is checked at the gate and is not shown to you. The global-sentence check is real and it holds records. But the total it requires is carried in a field that no published record currently sets, and the page that renders a record has nowhere to print it. So no record on this site shows you an aggregate sentence today. Read every sentence here as the sentence for the charge described, and not necessarily as the whole of what the court imposed that day. Either that field gets populated and rendered, or this paragraph stays.

Three of the twenty-nine pass when the thing they test is absent. A check that finds nothing to test records a pass, and a pass of that kind is not a finding. Where a judgment publishes no list of the provisions it decided under, the check that reads that list passes and says so. Where a record names no offence in the field the offence check reads, that check passes with nothing to compare. Where a written account contains none of the marked words that identify unwritten copy, the placeholder check passes, and it tests those words rather than whether the account was written from the judgment. Read a passing gate as twenty-nine checks that found nothing wrong, not as twenty-nine findings.

No record on this site yet states its offence in the field the offence check reads. Where a record here names what somebody was convicted of, it does so inside the sentence describing the outcome. That sentence is prose, and no check reads prose. It is checked in the sense that a person read the document and wrote it, and in the sense that the result as a whole had to be supported by the source; it is not checked in the stricter sense the offence check applies, which is that the wording appears verbatim in the document. Some records also carry the offence as charged in a separate field, and that field is verified. Those are two different strengths of evidence.

The audit log

Every decision the engine makes, whether it published a record or withheld it, is written to an append-only log with the reasons.

  • Nothing is ever rewritten. A correction is a new entry that points back at the entry it replaces. The original stays in the log and stays readable.
  • Because of that, a record has a history rather than a state. We can show what we said, when we said it, and what changed our mind.
  • A record that cleared every check and is nevertheless wrong is retracted by a person, and the retraction is an entry like any other. Passing twenty-nine checks is not proof that a record is true.

The collection is incomplete

This is not a comprehensive database of drug prosecutions and it does not attempt to be one. It is a small set of individually verified records, and its coverage is uneven by construction.

  • For the United Kingdom, note that Crown Court judgments are not routinely received by Find Case Law. Most drug prosecutions in England and Wales are tried in the Crown Court, so the great majority of them will not appear in the archive we search, and cannot appear here either.
  • The absence of a case on one of our pages means only that we have not verified one. It never means none exists. That is why a page with no verified case shows nothing at all rather than an empty state.

Corrections

If a record here is wrong, tell us and we will fix it or remove it. Email corrections@2cb.com with the page URL and what is wrong. See our editorial standards for what happens next.