What this is
A search and analysis tool over the full corpus of EFTA Court judgments (1994 — present), built by Daniel Naurin, Professor of Political Science at the University of Oslo.
You can ask doctrinal questions in natural language ("What is
the Court's approach to state aid?"), filter the corpus by
subject area / country / case type / date, search by the people
in a case — counsel and agents, the judges on the bench, the
governments and institutions that took part — or run literal
term-searches (search for "posting of workers").
Answers cite specific paragraphs that open the underlying
judgment when you click them.
How to ask
The system picks one of five answer modes from the phrasing of the question. Answers are labelled with their mode and end with a tip for switching when another mode fits better.
- Doctrinal synthesis — what the case law says about a legal question, with paragraph citations. Ask about the law: "What is the difference between indirect discrimination and a restriction?", "Does ESA have the obligation to pursue an infringement under Article 31 SCA?"
- Case-by-case summaries — a brief summary of a judgment: Say, for example, "Summarise all judgments concerning public procurement". You get 3 summaries at a time, or up to 5 if you ask for a number. The rest are listed so you can ask for more.
- Lists, counts and filters — answered straight from the case metadata: "List advisory opinions from Norway since 2015", "How many State Aid cases concerning Iceland?" You can also search for named actors in a case — counsel and agents ("Did Ketil Bøe Moen plead any cases?"), the judges on the bench, and the governments and institutions that took part without being a party ("In which cases did the United Kingdom intervene?").
- Exact term search — literal full-text
matching:
search for "exhaustively harmonise". Quote a phrase to get an exact match. - Single case lookup — "Summarise E-16/16", "What was case E-3/23 about?", or just write the case number.
Follow-up questions understand context ("more recent?" after a list). If part of your question does not match any filter, the answer says so and suggests a term search instead.
What data the system has
- 359 EFTA Court judgments — both direct actions and answers to requests for an advisory opinion under Article 34 SCA, which the Court has issued as judgments since 2000
- 23,020 numbered paragraphs, individually indexed and embedded
- Most recent judgment in the corpus: 3 July 2026
- Source: official PDFs from
eftacourt.int. Text is extracted, cleaned, and re-parsed into structured sections.
Known limitations
Coverage
- Language: English versions only.
- Document type: the text of orders is not included, so cases decided by order have no text to quote.
- Date: the corpus refreshes each night
(04:00 UTC), so a new judgment appears within a day of
publication on
eftacourt.int. Cases lodged but not yet decided are on the Pending cases page.
Retrieval and answer quality
- The system uses hybrid retrieval (semantic embeddings + keyword search + citation network + subject metadata + doctrine and phrase anchors, then a per-case expansion pass that pulls in further paragraphs from the cases that look most relevant) followed by a per-case LLM extractor that derives the Court's findings on the specific question. Answers cite paragraphs explicitly so you can verify each claim against source text.
- Citation faithfulness: beware that LLMs may hallucinate. An answer may sometimes cite paragraph X for a proposition that paragraph X doesn't actually support. Always read the cited paragraph before relying on the claim.
- Party-argument confusion: the Court's reasoning section sometimes summarises a party's submission before rejecting it. The system tries to attribute accordingly, but always verify before relying on an attribution.
- Cross-cutting doctrinal concepts (proportionality, legitimate expectations, legal certainty, direct effect) may produce empty answers because the Court applies these principles contextually rather than articulating general doctrinal statements. The system will tell you when this is the case and suggest a term search.
- Cost-bounded extraction: for each question, the system extracts findings from a bounded set of cases — typically around ten, occasionally about twenty for a broad subject query. The "Coverage" line at the bottom of each answer reports the funnel: How many cases were considered, how many produced substantive findings, how many additional cases are listed in "See also" for further exploration.
What this is not
- Not a substitute for reading the judgments. Every assertion in an answer is backed by a citation to a specific paragraph. Click through and read the source text before relying on a proposition for advice or argument.
- Not legal advice. The system is descriptive — what the Court has said. It is not normative — what the law is or should be on a given set of facts. It does not substitute for legal counsel.
- Not a citator. The system does not track whether a finding has been overruled, distinguished, or confirmed in later cases. Treat every citation as a starting point.
Privacy
- Queries are logged so we can improve the system, identify retrieval failures, and (with expert-validator users) build a gold evaluation set. Logs include the query text, the retrieved case set, the generated answer, and any rating you submit.
- Your user identity is stored as a one-way HMAC of an opaque internal ID — your email and name are kept in a separate authentication store and are not joined to query logs in routine analysis.
- Do not enter confidential information. Every question you type is stored. Use the system to research the case law, and keep client names, case facts and anything covered by professional secrecy out of your questions.
- Full details — what is stored, retention periods, and your rights — in the privacy notice.
Feedback
- Use the thumbs-up / thumbs-down buttons below each answer to flag whether the answer was helpful overall. Your rating saves automatically.
- For anything else, email daniel.naurin@stv.uio.no.