Control the matter scope
Apply firm membership, matter permissions, restricted access, selected documents, jurisdictions, languages, dates, and source scope before research begins.
A trilingual legal-research workspace for Luxembourg firms that keeps matter access, source passages, generated candidates, claims, citations, and review states inspectable.
What if legal research assistance exposed each claim, source, and review state?
Structured intake, permission-filtered retrieval, immutable candidate versions, claim and citation extraction, durable processing, and explicit unverified states keep assistance traceable without replacing lawyer judgment.
User value
Work inside a firm and matter, retrieve permitted evidence, generate versioned candidate text, and inspect extracted claims and citations without confusing the result with reviewed legal work.
Apply firm membership, matter permissions, restricted access, selected documents, jurisdictions, languages, dates, and source scope before research begins.
Retain exact passages, source identity, version, language, jurisdiction, dates, provenance, and retrieval limitations with each candidate source.
Create immutable work-product candidates with unverified and not-reviewed states, then treat claim extraction, citation identity, support, and human review as separate stages.
Features
The current implementation connects secure workspace boundaries, documents, research intake, evidence retrieval, candidate generation, and initial claim analysis.
Use the application and research contracts in English, French, or German within the initial Luxembourg legal-work setting.
Authenticate through OIDC, manage memberships and invitations, restrict matters, and reapply authorization at service boundaries.
Upload immutable document versions, extract and index their content, and select which versions may participate in a research session.
Record the question, languages, jurisdictions, temporal scope, facts, uncertainties, assumptions, exclusions, source scope, depth, audience, and review level as versioned revisions.
Assemble exact candidate passages from selected matter documents and the configured corpus while preserving provenance and limitations.
Create an immutable unverified answer candidate where generation is configured, then extract material claims and parse citation-shaped references as separate work.
How it works
The implemented flow guides legal research without presenting the generated result as a verified opinion.
Establish the user, firm, membership, permissions, and restricted-matter context before accessing legal material.
Upload immutable versions, wait for extraction and indexing, and explicitly select the versions permitted for the session.
Describe the question, legal context, jurisdictions, date, languages, facts, uncertainties, source scope, and requested review level.
Run permission and source-policy filtered retrieval and inspect exact passages, metadata, provenance, and limitations.
Select evidence and create a new work-product version when a configured generation adapter is available.
Extract material claims and parsed citations while support verification, jurisdiction, temporal validity, contradictions, human review, and sign-off remain separate later stages.
Product concept
One document can mix supported, unsupported, stale, foreign, uncertain, or contradictory propositions, so a single document score cannot represent its legal quality.
Generated prose remains a candidate until source identity, evidentiary support, jurisdiction, time, contradictions, and human judgment are addressed.
Intake revisions, source passages, document versions, generated candidates, claims, citations, and later review decisions require stable identities and history.
Automation can organize evidence and guarded work, but it cannot stand in for lawyer approval, supervisor sign-off, client delivery, or legal correctness.
Architecture
A Next.js web layer, FastAPI application, shared Python domain packages, PostgreSQL, object storage, and background workers keep legal state durable while separating retrieval, generation, verification, and review decisions.
Firm membership, matter permissions, restricted access, selected documents, and source policy are reapplied before candidates can affect rankings or generation.
PostgreSQL remains authoritative for product and task state, while a transactional outbox, scheduler, Celery workers, and checkpoints make background stages recoverable.
Confidential files, derived artifacts, public-source material, and their object-storage namespaces and indexes retain distinct boundaries.
Deterministic local and test adapters are rejected in production-like modes. No live official source, production model, notification, or EyeTrustAI Risk Gate integration is configured by the repository.
Technology
Development
The repository implements firms, restricted matters, document versions, extraction, indexing, structured Research intake, durable retrieval, candidate generation, claim extraction, and citation parsing. It does not establish verified legal work, official live-source coverage, production provider quality, complete review and supervision, private deployment availability, or public release.
Implemented
Next evidence
Complete and commit citation-existence checking, then add citation-support, jurisdiction, temporal, and contradiction checks without conflating source identity with evidence. Build structured lawyer review and supervisor sign-off, approve live legal sources and providers, run the full acceptance suites, and capture a publication-cleared synthetic workflow before expanding availability claims.
Justitia lab notes
Notes about the thinking, architecture, development, and decisions behind this work.
Versioned intake, evidence retrieval, candidate generation, and claim and citation extraction formed the first substantial legal-research path.
Identity, firms, restricted matters, immutable documents, indexing, and evidence retrieval established the boundaries required for later legal research.
The initial definition made material legal claims, exact evidence, and human approval separate units of control before product-domain implementation began.