DEV Community

iamthat
iamthat

Posted on Originally published at ailegal.legal

Your AI assistant cited a law that does not exist. Here is the fix.

I watched an LLM cite a law that does not exist.

Not a hypothetical: it produced 18 U.S.C. § 301 as the basis for a data-protection claim, and quoted Consumer Credit Act 1974 s. 157 for a rule that lives somewhere else entirely. Both looked authoritative. Both were wrong in ways only a lawyer — or a very suspicious engineer — would catch.

Prompting did not fix it. "Be careful" is not a data structure. So we turned the rule into one.

The rule: a legal fact without a source is not a fact

Every norm in our corpus is stored as a record, not as text inside a prompt:

  • the official source URL (a government portal, not a blog),
  • the article number as it appears in the source,
  • a content hash of the text we read,
  • the date we last checked it,
  • a summary written after reading, never before.

A scheduled job re-reads the sources and compares hashes. If a source changes, the norm is flagged for review. If a source cannot be reached, the product does not quietly keep citing it — it says the source could not be confirmed and withholds the deadline.

That last part matters more than it sounds. "I don't know, here is the official link" is a better answer than a confident number with nothing behind it.

What is actually in the corpus today

92 norms across six jurisdictions — Russia 25, United States 26, India 14, Hong Kong 11, United Kingdom 9, Canada 7. Each one was read in the official text; the verification script re-checks the numbers in the summary against the source.

Two deliberate gaps:

  • Coverage is not a country list. A jurisdiction appears in the selector only when at least 10 norms have been verified. The UK and Canada are in the corpus but hidden until they reach the threshold — a country with three norms invites questions we cannot answer.
  • India is not one legal system. The corpus holds central Acts only (Indian Contract Act, Code on Wages, Consumer Protection Act, Hindu Succession Act, and four personal-law statutes). State law, customary law and informal bodies are outside it, and the assistant is instructed to say so instead of generalising. The personal-law statutes in the corpus are Hindu; for Muslim, Christian and Parsi personal law the honest answer is "not in the corpus".

Where it refuses on purpose

  • No article number unless the text was read.
  • No deadline unless the norm allows a deadline.
  • No answer about a state's law when only central Acts are covered.
  • No "the law says" when the source could not be confirmed — the answer names the gap.

This makes the product less impressive in a demo and more useful in a conversation. That trade-off is the whole point.

What it does

Plain-language breakdown of a situation: what happened, which paths exist, what they cost, how long they take, what the other side will argue. Contracts are scanned for traps. A document can be generated once the situation is understood.

Free: the breakdown. Paid: documents — $4.99 for three, $6.99 for ten. Payment by crypto or Telegram Stars. Interface in 26 languages; legal content in Russian and English for now, with the language boundary shown rather than hidden.

The feedback I actually want

Take any norm on the site, open the official source next to it, and try to make the summary say something the source does not. Or find a field where a clear instruction is scored lower than a harmless example. Those are the bugs that matter for this design — not a broken button.

Live: https://ailegal.legal
Method note: the verification pipeline and the corpus boundaries are described in the app itself, including the parts we have not covered.

We are early. Nobody has paid yet. That is exactly why the critique is worth more than the launch metrics.

Top comments (0)