BINADocs
justbina.com
Esc
  • Try “quote gate”, “bulletin”, or “CLEARY_LLM_MODEL”.
Get started

BINA developer documentation

BINA is the private enforcement radar. It reads what the European Commission and the Autorité de la concurrence publish and tells competition lawyers which decisions could lead to damages claims, and who could sue.

These docs are for engineers who run, extend or integrate with BINA. They cover the HTTP API, the ingest pipeline, hosted extraction and the rules the code enforces. If you are a lawyer using the console, start with the ground rules — they explain what every label in a report means.

#What BINA produces

BINA turns two authorities' publication feeds into two outputs the legal team used to write by hand:

  1. A monthly bulletin. Every document published in a period, sorted by a level table the legal team fixed in advance. Level 1 and 2 documents get a card, level 3 gets one table row, routine documents are only counted. A document type the table does not know goes to a review queue — it is never given a level.
  2. A case report for each level 1 or 2 case: three figures (fine, since when, appeal status), a three-line summary where every line cites a recital, the parties that could bring damages claims, and similar decisions.

Parties come in two categories: named in the decision, with a quote that must appear word for word in the cited recital, and added by BINA, which are hypotheses and are always labelled as such.

#The one rule

BINA supports counsel; it does not decide. A signal is not proof of identity, harm or standing, and the model never assigns a level or a legal outcome. Read Ground rules for the full list and where each rule lives in the code.

#How these docs are organised

The site follows the Diátaxis framework. Each page has one job, shown in the label above its title:

SectionUse it when you want to…Example
Tutorialslearn by doing, start to finishPropose a party and pass the quote gate
How-to guidesfinish one specific taskImport a client watchlist
Explanationunderstand why something works the way it doesThe level table
Referencelook up an exact route, field or variableConfiguration

Press ⌘K (or /) anywhere to search routes, concepts and environment variables.

#At a glance

SourcesEuropean Commission (DG COMP case portal) and Autorité de la concurrence (Licence Ouverte 2.0 via data.gouv.fr)
RuntimeOne Node.js ESM process on node:http, bound to 127.0.0.1:8787
StorageAppend-only events.jsonl + hash-addressed originals; SQLite is a rebuildable projection
ConsoleReact 19 + Vite 6 on http://127.0.0.1:5173
ExtractionVercel AI SDK against any OpenAI-compatible provider, quote-verified before it is kept
Codeserver/radar/ · tests in test/radar.test.mjs
BINA · private enforcement radar. Nothing in these docs is legal advice; BINA does not make legal decisions.