Justinian
The engine behind HAQQ Chat, eFirm and the mobile app
Justinian establishes what you are actually asking, which jurisdiction governs it, and what the law says, before a single word is drafted. Built for work that has to be reviewed, cited and signed.
Everything behind a single answer
One answer runs on a full stack: product surfaces, security and governance, frontier models, grounded data, and jurisdiction-aware reasoning across MENA, Europe and the US.
Justinian brings state-of-the-art reasoning into legal work, enabling drafting, analysis, and planning under explicit professional constraints. It is not a chatbot. It is an engine for work that must be reviewed, trusted, and signed.
Legal work, however, is a hostile environment for generic AI. Law demands correctness over plausibility, structure over fluency, explanation over confidence, and accountability over autonomy. A legal professional cannot use output they cannot verify, cite work they cannot trace, or submit documents they cannot defend.
Justinian was built to close this gap: to bring frontier-level AI capability into legal practice without compromising professional standards. It is the proprietary AI engine powering HAQQ Legal AI and HAQQ eFirm - not a single monolithic model, but an engineered system optimized for legal reasoning, drafting, and decision support.

The name Justinian honors Emperor Justinian I of the Eastern Roman Empire - the architect of history's most influential legal codification. Where Emperor Justinian unified Roman law for an empire, our Justinian engine unifies legal intelligence for the practitioner.
“The empire's legal system needed repair. There existed three codices of imperial laws and other individual laws, many of which conflicted or were out of date.” - On Emperor Justinian's mandate, 527 AD
Samples & Use Cases
Real work product against real statutes: drafting, review, research, jurisdiction-aware analysis and multi-step matters.
HAQQ Legal Agent Study
A long-horizon evaluation built to measure whether an agent can do real legal work end to end, not answer trivia. Civil-law and MENA coverage by design, all-pass grading by default.

- Highest score of 19 models
- 49 / 50Highest score of 19 modelsOn our published 50-task legal benchmark
- All-pass rate
- 58%All-pass rate36 points clear of the next model
- Long-horizon tasks
- 1,372Long-horizon tasksAcross 24 major practice areas
- Expert rubric criteria
- ~78,000Expert rubric criteriaEvery criterion must pass. Partial credit does not count.
Limitations
Despite the leap in capabilities, the engine exhibits several limitations common to legal generation engines. Understanding these boundaries is essential for responsible use.
Input Dependency
Incomplete or incorrect facts produce incomplete or incorrect analysis. The engine cannot independently verify factual claims - quality in determines quality out.
Knowledge Boundaries
Cannot access information outside training data and connected sources. Real-time legal updates require explicit integration with your firm's data.
Professional Review Required
Every output requires review by a qualified professional. This is not a limitation to be solved but a design principle.
Safety & Professional Responsibility
Disclosure
AI-generated content is always labelled, so you always know what came from the engine.
Competence
It works inside legal domains and refuses to speculate outside them.
Confidentiality
Zero data retention, end-to-end encryption, and no training on your data.
Oversight
Every output needs professional review before it reaches a client or a court.
These limitations are particularly important in our work on legal reasoning engines, which need to accurately represent jurisdictional requirements and professional obligations. We are actively researching ways to address capability limitations without compromising accountability.
Legal responsibility always remains with the lawyer. This is intentional.
Frequently Asked Questions
How is Justinian different from ChatGPT?+
ChatGPT is a general-purpose language model that generates plausible-sounding text. Justinian is a legal AI engine: before any general model is called, it establishes what you are actually asking, which jurisdiction applies, what language the governing law is in, and what the request needs. The general model then runs on a question that has already been framed. It applies legal rules to facts, respects jurisdictional boundaries, cites retrieved sources, and produces structured, client-ready deliverables.
Does Justinian cite real case law?+
Yes. Justinian searches verified legal databases and authoritative sources before answering. Every citation is traceable and verifiable. When sources conflict or the law is ambiguous, Justinian flags the uncertainty rather than presenting a confident but wrong answer.
Can Justinian draft contracts in Arabic?+
Yes. Justinian drafts natively in Arabic, English, French, and other languages with full RTL support. It understands legal nuance in each language and can produce bilingual contracts while maintaining legal precision across both versions.
What jurisdictions does Justinian support?+
Justinian reasons across MENA, Europe, the US and international arbitration frameworks including ICC and UNCITRAL, and it drafts in English, Arabic and French. Depth varies by jurisdiction, because it depends on how well the source law is digitised and how much of it is public. Rather than quote a single global number, we would rather answer the question for the specific jurisdiction you work in.
Is Justinian's reasoning auditable?+
Yes. Every Justinian output includes a transparent reasoning chain - you can see which rules were applied, which sources were consulted, and how the conclusion was reached. This auditability is critical for professional accountability and client trust.
What happens before Justinian answers a question?+
Your question does not go straight to a general-purpose model. It first passes through a step we own and control, which establishes what you are actually asking, what kind of legal work it is, which jurisdiction is in play, what language the governing law is written in, and the facts inside your request as structured data. Only then does the general model run, and it arrives with the question already framed rather than guessing at it.
Why does doing work before the model call make the answer better?+
Two reasons. A model's context window is finite, so anything loaded unnecessarily competes for attention with your actual document. And a model handed structured facts instead of a wall of prose spends its budget on legal reasoning rather than on parsing what it was given. The second effect is larger than most people expect, and it is why the same general-purpose model produces better legal work inside Justinian than inside a simple wrapper.
Which AI model does Justinian use, and are you locked into one vendor?+
We deliberately do not build on a single vendor. A third-party frontier model performs the final generation, but every layer that carries our value runs independently of any particular one: orchestration, tooling, retrieval, memory and safety. Justinian is architected to route different kinds of legal work to different models, so if a better or cheaper model appears, adopting it is a configuration change rather than a rebuild.
Can Justinian read scanned documents and photographs?+
Yes. We treat document intake as a first-class engineering problem rather than a preprocessing afterthought, because a large share of legal work arrives as a scan, a photograph of a stamped page, or a PDF that was printed and re-scanned crooked. An error introduced at that stage cannot be recovered later: the system would reason impeccably about the wrong clause number.
Does Justinian remember my previous matters?+
Yes. Justinian holds the relationships between your matters over time and draws on them when a question calls for it, rather than simply replaying recent messages back into the prompt. That is what lets it recognise that the counterparty in a contract you are reviewing today is the same one from a dispute two months ago.
Does Justinian hallucinate?+
Any system built on a language model can produce a wrong answer, and any vendor who tells you otherwise is not being careful with words. What good architecture does is make wrongness rarer and detectable: legal claims are generated against retrieved sources, every claim carries a citation you can open, and where sources conflict or the law is genuinely ambiguous Justinian flags the uncertainty instead of resolving it for you. It is built to be reviewed by a professional, not to replace one.
How do I tell whether a legal AI product is just a ChatGPT wrapper?+
Four questions in a demo, and they work on any vendor including us. Ask it something outside law: a wrapped general model will usually answer a medical question. Ask the same legal question in two languages: if the substance changes, language is handled after the reasoning rather than before it. Upload a badly photographed document. And push it toward an unsettled area of law, where a system built for professional work will tell you the ground is uncertain instead of producing a confident answer.
How is Justinian evaluated?+
Against legal-specific benchmarks rather than general ones, because a model that scores well on general reasoning can still be useless on a clause. Clause-level validation, jurisdictional accuracy and continuous feedback from practising lawyers drive what the engine does before and around every model call: what gets retrieved, which capabilities run, and what gets flagged for human review. The results are published rather than described, including the ones where a frontier model beats us.
How do I know a number on this page is real?+
Every figure we publish declares how we know it. Measured means it comes from our own usage data or our own benchmark run. Cited means it is a third-party finding, linked to its source. Illustrative means it is a directional scenario, and it carries a badge saying so, including on the worked examples further up this page. If a number does not say which of the three it is, treat that as a defect and tell us.
Do you publish results where another model wins?+
Yes, and you should be suspicious of any legal AI vendor who does not. A benchmark that its author always wins is marketing, not evaluation. Our published runs include tasks and categories where a frontier model scores above us, because a buyer needs to know where the tool is strong and where it is not before they rely on it in front of a client.
AI Research Behind Justinian
Deep dives into the architecture, experiments, and benchmarks that power our legal AI engine.
- 01Research12 min
AI Document Review Software in 2026: Beyond RAG and Chatbots
Read article - 02Research25 min
Legal Ontology AI: How We Cut Legal AI Costs by 97%
Read article - 03Research26 min
Legal AI Predictions to 2030: What 72 AI Agents Forecast
Read article - 04Research8 min
NotebookLM for Lawyers: Memory With Search, Not Legal AI
Read article - 05Research12 min
We Benchmarked 7 LLMs on New York Litigation Strategy
Read article - 06Research12 min
Human-in-the-Loop AI: The Definitive Guide for Lawyers (2026)
Read article
The measured research behind Justinian
Cross-model legal benchmark
How Justinian scores against frontier models on legal tasks.
View the graphAI autonomy scores
How much independent action legal AI should take - and where it must stop.
View the graphHallucination rates
Why grounding every claim in source is non-negotiable for legal work.
View the graph























