We built and smoke-tested a privileged-adjacent drafting loop as a runnable lab: local model, public-sources-only prompt, human-reviewed draft file, no cloud LLM API on the demo path.
The same pilot shape is on our scoping reference (first item in the list) and in live conversations. This post records what landed in code and what each audience should take from it.
For lawyers — scan or inspect
Privileged-adjacent drafting loop: one practice group, one class of low-privilege drafting (here: an internal-style memo from public facts only), with the model running on hardware you control and no automatic send to clients, courts, or opposing counsel.
It is not “we solved gen-AI for the firm.” It is a minimum credible demo that a drafting path can exist without piping the same text through a consumer chat box’s default cloud retention story.
| Claim | Supported? |
|---|---|
| The demo script calls localhost only — no OpenAI/Anthropic URL in the golden path | Yes — script review + egress check |
| Output is draft-only — nothing auto-emails or files | Yes — charter + script design |
| Input was public-source facts (user-pasted prompt) | Yes — by charter for lab runs |
| Air-gapped or IT-approved egress for production | No — model pull uses network once; egress check is a starting point, not audit |
| Competence / disclosure obligations satisfied | No — firm policy, supervision, jurisdiction still required |
| Privilege preserved for real client work | Not tested — lab excludes client names, matter numbers, mail, discovery |
Allowed: public statutes/opinions in plain language; generic firm-style notes if pasted manually.
Excluded: client identifiers, matter numbers, privileged mail, discovery, DMS/automated retrieval.
Human gate: a reviewer reads the draft file before anything leaves the firm. No Outlook, Clio, or e-filing integration in this slice.
For systems people — what we built
The full pilot program (sponsor, shadow, readout, IT sign-off, optional protocol boundary) remains weeks of calendar and politics. What shipped is the minimum vertical slice:
That slice is what you can demo in one sitting: “here is inference locality on the drafting path we actually execute.”
outputs/.Default model: small local instruct model (override via env). Deps: Docker, curl, jq.
Not LAN-exposed by default. The container may still reach the internet for model pulls — production pilots need firewall/allowlist design, not just this lab.
| Run | Result | Wall time |
|---|---|---|
| First end-to-end (incl. image + model pull) | Draft on-topic gen-AI disclosure memo | ~38 min |
| Post-repo-lift verification (model cached) | Egress pass; second draft | ~13 min |
| Capability | This build |
|---|---|
| Local inference, scripts, written charter | In scope |
| Mandate chains, co-signed receipts (PAP) | Later — when bindings exist |
| High-stakes research with zero query leakage | Separate pilot — not built here |
| Clio / Outlook / DMS | Out of scope |
Questions on pilot scoping: book a call. Protocol background: Reads · Principal Agent Protocol.
— Firm Leverage engineering