Firm lane
Conflict screen
Kind: Fixed templates and rules — no model call.
Availability
ShippedLive on this deployment: it needs nothing more to run.
- Door
/admin/matter/[id]/conflicts · /api/admin/conflicts/screen · /api/admin/conflicts/decide- Unlocks with
- A law firm's staff session, signed in with its second factor.
Every status follows one rule from this deployment's own configuration: a capability is marked shipped only when everything it needs is in place.
What it does
Screens every new engagement's names against the firm's own records — its matters, clients, beneficiaries, institutions, vault, estate plans, registers — and records each screen; an attorney decides each finding on the record.
Keep in mind
A screen that finds nothing is never a clearance; the attorney's determination stays theirs to record.
What it refuses
| Answer | HTTP | Meaning |
|---|---|---|
forbidden | 403 | The session is not the firm's staff for this matter; the door reads nothing further. |
mfa-required | — | A staff session needs its second factor before any staff door opens: 401 to verify it, 403 to set one up. |
unavailable | 503 | The record could not be read: the door answers unavailable, never an empty list or a zero. |
- Answer
forbidden- HTTP
- 403
- Meaning
- The session is not the firm's staff for this matter; the door reads nothing further.
- Answer
mfa-required- HTTP
- —
- Meaning
- A staff session needs its second factor before any staff door opens: 401 to verify it, 403 to set one up.
- Answer
unavailable- HTTP
- 503
- Meaning
- The record could not be read: the door answers unavailable, never an empty list or a zero.
What can leave EstateDraft
The registry declares no action of this capability that reaches outside EstateDraft.
Evidence
src/lib/conflicts/screen.test.tssrc/lib/conflicts/normalize.test.tssrc/lib/db/phase4c1-migration.test.tssrc/lib/phase4c1-routes.test.tssrc/lib/conflicts/screen.tssrc/lib/conflicts/normalize.tssrc/lib/conflicts/server.tssrc/components/conflicts/ScreenResults.tsx
Reviewed: