How it works
InsighterTraining reads a securities class-action complaint with AI, then walks a reviewer through confirming every extracted field against the source document before anything is accepted. Here is the whole flow.
The review workflow
Drag in a securities class-action complaint (a PDF). InsighterTraining accepts the first identified complaint for a case.
Under the hood: image-only scans are detected and rejected, because the extractor needs a real text layer to quote evidence from.
The extraction model reads the filing and fills the structured fields: class period, violations, defendants, disclosures, and counsel. This takes a few seconds.
Under the hood: the model returns JSON with a verbatim evidence quote for each field, so every value is traceable back to a passage in the document.
This is the core of the job. Every AI-filled value must be confirmed or rejected against the source. Click a field and the PDF jumps to the exact passage it came from and highlights it. Icons show each value's origin (located in the PDF, snippet-only, manually entered, edited, or unsupported); see the icon legend at the end.
For each plaintiff, firm, and defendant, a picker suggests existing catalog entities so you can link the row to a canonical record, or affirm "Create new". Linking keeps duplicate entities from piling up.
Under the hood: names are fuzzy-matched (and matched on canonical ID, CIK, and ticker) against a cached snapshot of a roughly 38,000-entity catalog.
When no catalog entity fits, "Create new" opens a structured form rather than accepting a bare name, so easy-to-miss fields like a CIK still get filled in. The form adapts to what you are creating:
Two screens you will occasionally see. If the catalog gained a matching entity while your draft sat open, a re-check modal surfaces it at submit so you can link instead of creating a duplicate. And if another reviewer is creating the same new entity at the same time, your submission queues rather than racing, with options to cancel and edit, skip the line, or wait for the other one to finish.
When every field is confirmed, submit. If the validator finds problems, a worklist appears at the top of the form with one row per issue and a prev/next stepper that jumps you straight to each field to fix.
How it is built
A quick look under the surface, for the curious.
The extraction model returns structured JSON plus a verbatim quote per field, so every value is traceable to the source.
Extracted names are matched against a cached ~38,000-entity catalog to link rows to canonical records.
An optimistic-concurrency queue keeps two reviewers from racing the same new entity into the database.
Runs on Fargate behind an ALB, fronted by HTTPS at the Stanford Law subdomain.
Want the people behind it? Meet the creators.
Appendix: provenance icons
As you review, a small icon sits beside each field to show where its value came from and how far to trust it. Hover any icon for a tooltip with the details. The states:
When more than one could apply, the icon shows the most significant fact about the value: a reviewer action (linked, ID, edited, manual) takes precedence over the model's own evidence (located, snippet, none).