Skip to content
← All of the product

01 · Intake

The matter starts building itself at the first contact.

A prospect reaches the firm through whichever door they find. BRON resolves them to one record, screens the parties before an engagement opens, and carries what it learned into the matter instead of asking for it again.

INTAKECONVERGENCE
One prospect, or two?
MON 09:14 · WEB FORMBiscayne Blue Aquaculturegrounded
TUE 11:02 · PHONESame number, name differsreview
RESOLUTIONHeld separate and flaggedreview

An anchor that matches while the names disagree is never merged.

The question in the room

They filled in the web form on Monday and phoned on Tuesday. Is that one client or two?

How it works

The mechanism, not the promise.

  • One prospect, one record

    A signal from any channel resolves onto a single intake row through a three-tier anchor ladder: a replayed external reference, then a matching email with compatible names, then a matching phone with compatible names. Idempotency is a database uniqueness constraint, so a race that loses re-reads the winner and runs the same name check again.

  • Conflicts screened at the front door

    Shipped

    Parties are screened before an engagement opens, and on the intake path the screen fails closed rather than reporting a clear result it could not establish.

    backend/src/lib/conflicts.ts

  • Ethical walls in code and in the database

    Shipped

    A screened matter is walled in application logic and again in row-level security, so one layer failing does not open the file.

    backend/src/lib/ethicalWalls.ts

  • Prior affiliations and lateral screens

    Shipped

    A lateral hire arrives with a history. Prior affiliations are recorded and screened rather than remembered.

    backend/src/lib/priorAffiliations.ts

  • An admissions register per forum

    Shipped

    Admission is recorded for a named forum, because admitted here is a different fact from admitted somewhere.

    backend/src/lib/admissions/forumAdmission.ts

  • A lead that ages in the open

    A new lead older than four hours raises one firm-level task, and later stages carry their own windows. One row per lead and stage, never a second nag for the same fact.

Refusals

What it will not do, and why.

Merge two arrivals that share an anchor but not a name.
The second arrival may carry the adverse party's name. Accepting the first would then screen a party list missing the very name that would have flagged, and report the file clear. The gate is not bypassed there; it is fed a truncated record, which is worse.
Put a limitations date on a prospect's story.
The consult brief emits no statute of limitations at all. Prospect text cannot select the governing claim law or establish an accrual event, and a date that looks computed is worse than a blank.
Raise a task nobody can act on.
A lead with no resolvable owner raises nothing. An owner-less task is unreadable and unassignable, so writing one would be the silent failure rather than the alarm.
Contact a prospective client on its own.
Every arrival is an internal record for an attorney to act on. The system never drafts outreach, never sends, and never solicits.

One record

Nothing here stands on its own.

What feeds it

  • The public intake conversation
  • Scheduled consultations
  • Inbound mail and phone

What it feeds

  • The matter brain
  • The conflicts register
  • Engagement and the client portal

Limits

What this does not establish.

  • Screening is a check against the firm's own register, not a search of the world.
  • The firm-wide standing scan flags and nags. Failing closed is specific to the intake, invite and consult path.

Check the work before you believe it.

Run a sample manifest in your own browser, or read where publication refuses for want of evidence.