Research note
PRAETOR: In M&A Diligence, the Value Is in the Connections — So I Made an Agent That Cross-References
M&A due diligence is thousands of documents, a hard exclusivity clock, and value that lives in the threads across workstreams — a lawsuit Legal finds is a provision Finance must book. Humans lose those threads across siloed teams. PRAETOR runs 9 specialist agents in parallel, cross-references their findings into one register, and renders a cited verdict.
M&A due diligence is the textbook case for multi-agent AI: thousands of documents, a hard exclusivity clock, and value that lives in the connections across workstreams. A lawsuit Legal finds is a provision Finance has to book and a disclosure the seller must make. The signal is rarely inside one workstream — it is in the thread that runs between them, and that thread is exactly what humans lose across siloed teams under deadline. PRAETOR is built to hold those threads.
Pick any company on Earth
PRAETOR starts three ways. You can search the global GLEIF universe — millions of legal entities — on a rotating 3D globe (react-globe.gl) that flies to the target's HQ city and runs screening-led diligence. You can upload a company report (PDF / DOCX / TXT) and have the agents read it, screen the named company, and web-search its current standing. Or you can run a US ticker through the full SEC EDGAR pipeline: 10-K items, the DEF 14A proxy, the EX-21 subsidiary list, EX-10 material contracts, and XBRL financials.
Then nine specialist agents run in parallel, each with one job: INTEGRITAS (sanctions / PEP / ultimate-beneficial-owner unwind), FISCUS (quality-of-earnings from XBRL), LEX (contracts and litigation), AGORA, CENSUS, PEOPLE, CYBER, ESG, and PULSE — a live web pulse for "is this company healthy right now?" via Groq's compound web-search model.
The synthesis step is the actual product
Running nine agents is not the hard part — anyone can fan out nine LLM calls. The value is what happens next. PRAETOR de-duplicates and cross-references findings across workstreams into one ranked red-flag register, then derives a valuation-impact layer from it: price adjustments, escrow, indemnities, conditions precedent. A networkx deal knowledge graph (entities plus OWNS / DIRECTOR_OF edges, with UBO unwind) is what lets a name in a sanctions hit connect to a director in a proxy connect to a subsidiary in an EX-21. That graph, a SQLite medallion lakehouse, and a BM25 + hashing-embedding hybrid index all run in-process and keyless.
Finally TRIBUNAL — a deterministic decision rule — renders GO / NO-GO / CONDITIONAL with ranked rationale, deal-breakers, and protections. The LLM only writes the prose around a verdict the rule already decided.
Agents extract findings deterministically from real sources; the LLM narrates and ranks. Facts come from the filing, not the model.
The provenance guarantee is enforced where it cannot be bypassed: the Finding constructor itself rejects any finding without a source_ref. It is not a prompt asking for citations — it is an invariant in the type. Every claim traces to a filing-and-item, a registry record, or a web article. Same backbone as RegRadar and Recoupe: the verifiable is computed; the language is generated on top.
The honest result: the audit that found 25 things
Here is the story I am proudest of, and it is not a flattering one. I ran a multi-agent adversarial audit against PRAETOR — each finding double-verified by two independent verifiers — and it surfaced 25 real issues: a path-traversal bug, imprecise regexes, a missed 10-K Item-15 note section, geocoder collisions sending the globe to the wrong city. All 25 were fixed and re-verified. The same audit drove false-positive control to 0 false-HIGH on the First Solar case — including reclassifying an offensive IP lawsuit as an asset rather than a liability, and stopping boilerplate risk-factor language from tripping HIGH findings.
A diligence engine that flatters itself is worthless; the whole point is to be the skeptic. Reporting that an adversarial pass found 25 problems — and showing they are fixed — is what makes the verdict believable. It is the same instinct as AEOLUS reporting the unglamorous lost-revenue spread instead of hiding it.
It runs on real data only — SEC EDGAR, the real OFAC SDN list, OpenSanctions, GLEIF, GDELT adverse media, GeoNames — and is keyless and offline-capable by design; one Groq key only enriches narration and the PULSE web pulse. High-severity findings raise human sign-off gates, and every step writes to a replayable audit log. PRAETOR drafts; humans decide.
What this taught me
- Cross-referencing is the moat, not the agents. N parallel chatbots is a demo. The register that connects a sanctions hit to a director to a subsidiary is the thing a buyer actually pays for.
- Enforce provenance in the type, not the prompt. A
source_ref-required constructor cannot be talked out of citing. A system instruction can. - Adversarially audit your own system, and publish what it finds. The 25 fixes and the 0 false-HIGH are more convincing than any "it works great" claim could be.
M&A diligence is one of a dozen finance workflows with the same shape: real public data, codifiable decision rules, regulatory pressure for a defensible, sourced verdict. PRAETOR is my answer to what that looks like when an agent does the first pass — for any company on Earth, in minutes, with a human on the final gate.
Try the live demo → · Source on GitHub → · Full case study →
Request coverage
I am pivoting from manufacturing AI to finance: open to roles, mentorship, and collaborators in fintech, quant, and bank AI.
Related coverage