{{product.category}}

{{product.tagline}}

{{product.description}}

  • The law becomes a graph that software can query.

    German federal law and UK legislation are fetched from official sources and stored as a legal knowledge graph. An LLM extracts the terms, definitions, constituent elements and cross-references in each norm.

  • A caseworker reviews what the AI prepares.

    Every AI step is built to be explainable and reviewable by a person. The services propose norms, findings and drafts; the caseworker decides.

  • Each service stands alone, with its own API.

    Every backend is a FastAPI service with a REST API, a Dockerfile and a Helm chart. Use the bundled caseworker UI, or call the services from the systems you already run.

What it does

Six groups of services support a procedure from intake to decision.

Each group is a set of standalone services with REST APIs. The labels show what has run in the development environment and what exists in the code but has not yet been proven there.

Live in dev

Document intake turns submitted PDFs into searchable text.

Uploads are parsed with Docling, with EasyOCR for scanned pages, and split along the structure of the document. Each chunk is embedded and stored in Qdrant for vector search.

Live in dev

The legal knowledge graph holds the law in a form services can query.

German federal law and UK legislation are parsed into a Neo4j graph. An LLM extracts legal terms, definitions, constituent elements, legal consequences and cross-references. A French adapter already fetches law from Légifrance; running it through extraction comes next.

Live in dev

Norm matching finds the laws that apply to a proposal.

It reads the citations in the application and finds the norms it does not cite through the graph and vector search. The caseworker gets a list of norms to check, not a verdict.

In development

Reasoning and drafting services check facts and prepare the decision.

Legal subsumption tests whether the facts meet each element of a norm. Risk notices flag definitions, discretion and norm collisions, and a drafting service composes the decision and renders it to PDF.

In development

AI governance services record how each output was produced.

Explainability, feedback and test-result services sit beside the pipeline. Most services that call an LLM screen their inputs for prompt injection, and business events go through a structured audit-logging library.

In development

Workflow services cover the rest of the procedure.

Completeness and coherence checks, deadlines, follow-up requests to applicants, comments and redaction of personal data in PDFs each have their own service.

The platform

Three layers turn legislation and submitted documents into work a caseworker can review.

{{product.name}} has three layers. Each backend is its own service and Helm release, so you can run the whole stack or only the parts you need.

Caseworkers review documents, objections, reports and the draft decision in seven modules built with React and IBM Carbon. The UI is optional: every module calls REST APIs that you can call yourself.

Standalone FastAPI services parse and index submitted documents, find the norms that apply and check facts against them. Every model call goes through a LiteLLM gateway by alias, so the model can change without a code change.

Legislation is fetched from official sources, parsed per jurisdiction and stored in a Neo4j knowledge graph. Documents go to Qdrant for search, and the stack runs on Kubernetes with Helm; an XÖV adapter converts XPlanung, XTrasse and XBeteiligung messages to and from JSON.

  • Kubernetes (AKS)
  • Helm
  • Terraform
  • React
  • TypeScript
  • IBM Carbon
  • FastAPI
  • PostgreSQL
  • Neo4j
  • Qdrant
  • RabbitMQ
  • MinIO
  • Keycloak
  • LiteLLM gateway
  • Docling
  • EasyOCR
How the platform works
Operating model

The caseworker stays in charge of the procedure.

{{product.name}} reads, matches and flags, and a caseworker reviews the result before it counts. The shell works out the next step from the state of the procedure, so a missing input is named rather than skipped.

Caseworker
IntakeCheck every fileChase missing itemsNote key facts+ more
Legal basisSearch for normsFollow cross-referencesRead definitions+ more
ParticipationSort objectionsDraft repliesLog comments+ more
AssessmentTest facts against normsSpot legal risksWeigh discretion+ more
DecisionWrite the decisionFormat itIssue it+ more
Caseworker IntakeDocuments and checks ParticipationObjections, comments AssessmentNorms, subsumption DecisionDraft, review, issue
Caseworker

Owns the procedure and every decision in it. Sees what the services found and what is still missing.

Intake

Case Review and the Procedure Portal show extracted facts and check submitted files against statutory requirements.

Participation and assessment

Objections and comments are tracked in their own modules. The Report Portal brings together norm matching, subsumption and risk notices.

Decision

Admin Decision is where the caseworker composes, reviews and issues the decision. Drafting support is in development.

See {{product.name}} on your own work.

Book a walkthrough with the team. We show you the services that fit your procedures, and what is still on the roadmap.