Skip to contentSaltar al contenidoAle nan kontni anПерейти к содержимомуדלג לתוכן
EstateDraftFL

For Florida law firms

Document requests: the firm asks, the client answers one of three honest ways, and every upload says where it stands

firm lane · Deterministic — no model call

Current availability

ShippedConfigured and enabled: a firm's matter — the firm's staff with the second factor on the firm side; the matter's own people in the client room.

Where it lives
The firm's matter (/admin/matter/[id]) → Document requests · the client's matter (/matter/[id]) → Documents your firm asked for · a helper's documents page (/matter/[id]/documents) · /api/admin/client-requests · /api/client-requests · /api/admin/documents/reviewed
What unlocks it
the firm's staff ask and close a request; an attorney accepts or returns an answer and marks an upload reviewed; the matter's client and co-principals answer; a helper answers only a request the client let them answer

Status is evaluated against this deployment's configuration by the capability-status service at build time; the catalogue's facts were last reviewed on the date shown.

Capabilities

  • ShippedThe firm asks in a request: what each item is, why (in neutral, plain words), whether it takes a file, words or both, and what any date rests on — a court rule the request names, the attorney's own date, or no deadline.
  • ShippedThe client answers each item one of three ways: send it (a file — a phone's camera included — or words, as the item takes them); say it cannot be obtained, with words to the attorney (the item is then shown as blocked, never hidden); or ask what it means — a question that changes nothing on the item. In five languages.
  • ShippedAn answer is kept in the client's browser first, bound to their account and the item, offered back after a reload or a failed send, and discarded the moment the server records it.
  • ShippedA helper answers only a request the client let their helpers answer; the client turns that on and off per request, and every helper's answer is marked as a helper's.
  • ShippedEvery recorded answer reaches the firm's attorneys through one outbox notice — the matter's assigned attorney when they can open it, otherwise every attorney of the firm who can (the matter's walls decide) — and its delivery writes the answer's routing receipt, which the firm sees beside it.
  • ShippedAn attorney accepts an answer, or returns it with a note the client reads and answers again; accepting an answer that carried a file records that file reviewed. The firm closes a request as done or withdraws it, once; every step is a new record, never an edit, and each is audited.
  • ShippedEvery upload from the client's side of a firm's matter says where it stands, on the client's list, the helper's page and the firm's list: received (on the record), under review (its notice reached an attorney — the routing receipt), or reviewed (an attorney advanced it, with who and when). A matter with no firm says saved, never under review.

Limits

  • Requests are a firm's: a matter on the direct service has no one to ask, and its uploads are kept on the person's record without a review step.
  • Only an attorney accepts or returns an answer and marks an upload reviewed — administration confers no such authority; the rest of the staff ask, read and close.
  • The client and the firm hear of a new request, a returned answer and a reviewed upload in the app; no e-mail is sent for them.
  • A notice that cannot reach any attorney (none of the firm's attorneys can open the matter) routes nothing: the answer stands, the upload stays received, and the outbox shows the reason until an attorney can.

What EstateDraftFL refuses

Reason codeHTTPWhat it means
invalid400The request, the answer or the decision is not complete — the field is named (an answer's file must be the matter's own, cleared by the safety scan).
forbidden403The session is not the firm's staff.
not-authorized403The firm's staff able to open the matter ask and close; an attorney of the firm accepts or returns an answer and marks an upload reviewed.
not-a-firm409The matter has no firm to ask or to answer.
unknown-item404The item was not found — or it is not the caller's to answer.
unknown-request404The request was not found.
already409The item is already answered; the firm decides it, or returns it for another answer.
accepted409The firm already accepted the item.
not-answered409The item has no answer to accept or return yet.
closed409The request is closed.
matter_archived409The matter is archived — its record reads, and nothing is added.
not-a-client-upload409The firm's own files carry no upload state — only a file from the client's side is routed or marked reviewed.
unavailable503The request, the answer or the decision could not be read or recorded just now — nothing was changed.

Evidence

  • supabase/migrations/20260929200000_phase11_client_requests.sql
  • src/lib/client-requests/policy.ts
  • src/lib/client-requests/server.ts
  • src/lib/client-requests/routing.ts
  • src/lib/client-requests/draft-store.ts
  • src/lib/uploads/progress.ts
  • src/lib/actions/handlers.ts
  • src/app/api/admin/client-requests/route.ts
  • src/app/api/client-requests/route.ts
  • src/app/api/admin/documents/reviewed/route.ts
  • src/app/api/documents/register/route.ts
  • src/components/ClientRequestsPanel.tsx
  • src/components/UploadStateChip.tsx
  • src/components/client-requests/FirmRequestsPanel.tsx
  • src/components/client-requests/AdminDocumentsList.tsx
  • docs/security/MASTER-PLAN-PHASE11-PART1-2026-09-29.md

Last reviewed 2026-09-29

← All surfaces