Enquiry intake and conflicts second pass — Foundation Legal Advisors

Built by Noorflows (noorflows.com) for Foundation Legal Advisors, a corporate and institutional counsel practice. Working system, running on demo data. Every company and person in the demo is invented.

What it does

A new enquiry arrives as prose. The system does three things and then stops at a person.

It takes the enquiry properly.
Client entity, jurisdiction of incorporation, matter type, the parties on both sides, the individuals who will sign, and whether another firm has already acted or declined. Anything missing is asked for in the confirmation that goes straight back, ranked by what each answer unblocks. It asks only about facts. It never asks about, or comments on, the merits.
It runs a second pass over the firm's own records.
Each name on the enquiry is compared against every name the firm holds, including former names. From each name it matches, it walks the recorded ownership and directorships outward two steps, and reports every route that reaches a party on an open or closed matter — with the route written out, so a solicitor can check it rather than trust it.
It says what it could not settle.
Names that resemble something in the records without matching it are listed and explicitly not concluded. Names that matched nothing are named as such, because silence read as clearance is the failure this is built to avoid.

Why the ownership walk is the point

A litigation conflicts check compares a person to a person. A corporate one compares a company to a group. An enquiry from a small trading company looks clean right up until you notice it is sixty per cent owned by a holding company the firm is already acting against on an open file. The demo's first enquiry is exactly that case: no name on it appears in the firm's records, and a name-to-name check returns nothing. The route is found in one step.

Conflicts also travel through people. One director sitting on two boards connects two groups that share no name at all.

The measured number

Company-name matching, model org-v1, measured on our own fixture:

Precision
100.0%
Recall, pair level
86.2%
Recall, entity level
85.7%
False merges
0

Measured on 1,128 name pairs across 27 entities. Of those pairs, 1,099 are different companies — so a system that matched nothing at all would be "accurate" 97.4% of the time. That is why no single accuracy figure appears anywhere on this page or in the product. The Office for National Statistics removed its accuracy formula from its linkage guidance because it "did not give a good representation of the quality of the linkage and was difficult to interpret", and Splink's documentation states that "high accuracy can be achieved by simply assuming the majority class". Precision and recall, at pair level and at entity level, or nothing.

How the fixture was built, and what is wrong with it

There is no usable public benchmark for matching company names in a conflicts context. The one large public dataset of real names is real people's data and was ruled out on that ground. Every alternative is synthetic, and the standing criticism of synthetic record-linkage data is that it is almost impossible to guarantee the resulting value patterns are realistic.

So the fixture is built to be inspected rather than believed: 27 entities written under 48 names. Every within-entity pair counts as a match and every across-entity pair counts as a non-match, so nobody chooses which negatives to include. The negatives deliberately include the pairs designed to catch a name matcher out — the same distinctive word on a different business, a parent and its subsidiary, two people whose names differ only by a middle initial, two surnames one letter apart, the same company name in two countries — and also easy ones, because an all-hard negative set flatters a model that finds nothing and fails more dangerously than an all-easy one.

Recall by how the two names differed, so that a class we fail cannot hide inside an average:

legal form 9 of 9
"Limited" against "Ltd", "LLP" against "L.L.P.", and the equivalents in other jurisdictions.
punctuation 4 of 4
Ampersands, full stops inside initials, hyphens.
spelling variants 3 of 3
One name spelled more than one way — Katherine and Catherine, Stephen and Steven.
typing slips 3 of 3
One character over a long name. Two characters is held for a person instead.
abbreviations 0 of 1 matched, 1 of 1 shown to a person
Deliberate.
former names 0 of 1
Not findable by comparing strings at all.

Those last two are stated rather than averaged away. An abbreviation is shown to a person and never asserted, because three letters can belong to several companies. A former name that shares no words with the current one cannot be found by comparing strings at all — it is findable only because the firm wrote it down, which this pass does use.

What the fixture cannot tell you: it is our data, written by us. It shows how the model behaves on the variation we knew to put into it, and nothing whatever about how often that variation occurs in any real firm's records.

What it will not do

It is not the conflict check.
Clearing conflicts is a professional duty owed by the solicitors of the firm. This runs after that duty, over the same names, and reports. Calling it the check would move a duty onto software that cannot hold one.
It gives no legal advice, and refuses in full when asked.
Requests for a view — is this enforceable, should we sign, do we have to disclose, are we out of time — are recognised and declined without hedging, and the enquiry is routed to a person with everything already gathered. New York Senate Bill 7263 would make the deployer of such a system liable for the unauthorised practice of law, and is explicit that a notice saying a machine is answering does not disclaim it. The protection is the refusal, not the notice.
It computes no deadline.
Dates given by an enquirer are recorded and shown. Working out what follows from a date is advice, and it belongs to the solicitor.
It only knows what was written down.
A subsidiary, shareholder or directorship that was never recorded cannot be found by any amount of matching. Relationships are followed two steps out; anything further away is not reported.
It will not merge two names on a resemblance alone.
Three things are held back rather than concluded, because each is a case where two names look alike and are routinely not the same: a company whose name sits wholly inside another's, which is usually a parent and a subsidiary and therefore two legal persons; the same name carrying different legal forms, which can be two companies in two countries; and two people differing only by a middle initial, which is frequently the one thing telling them apart. Each is listed for a person to read, and none is treated as a match.

Data

The public demo and any live system are separate stores that never touch. No real record is ever copied into the demo, for any reason, including testing. One set of credentials per build; no key that can read across two of them; no personal data in shared logging.


Every rule described on this page — each hold, each refusal, each published figure — is covered by an automated test, and the numbers above are checked against the model's own measurement rather than typed in. Model org-v1. Model versions last checked 2026-08-08. Page written 2026-08-08.

The working demo · Noorflows

How this handles your data — where it lives, what we keep, and the independent security reviews we have not had.