15 · Firm control
Set the firm's rules. Hold every surface to them.
Nineteen settings screens carry the decisions a firm makes once: how much the machine may do on its own, which AI vendors may see a client file, who may release money from trust, who may practise law here, and what a firm's own AI may read through a key. Each one is re-proved on the route that could break it.
Each line is a rule this firm set once, re-proved on this request.
The question in the room
“I set the rules for this firm. Which of them can this software talk itself out of?”
How it works
The mechanism, not the promise.
How much the machine may do
The floor no setting moves
ShippedSending, signing, filing with a court, moving client funds and changing a matter's phase stop for a person at every setting, on every matter. The screen names those five categories rather than a tool count, because the count moves with the registry.
Five levels, and two of them change nothing today
Each rung states what it does, what it still will not do, and what actually changes by moving to it. Two of the five change no behaviour at present, and their rows say so in those words.
More autonomy is earned from two records, not granted by a checkbox
ShippedLowering a capability to unattended needs a decision-gold evaluation fresh within thirty days, pinned by seed and gold-set digest, with zero must-not-call violations. It also needs that attorney's supervised history: ten resolved decisions, no decline in fourteen days. Either half missing leaves the higher floor.
Earned by a lawyer, not issued to a firm
Every attorney starts at the bottom rung: a firm-wide lowering does not carry to an un-promoted lawyer, while a firm-wide raise toward more confirmation is always honoured. A promotion advances one rung at a time, and lowering your own autonomy is never blocked.
Who may practise here
The attorney role is not a dropdown
A member cannot be added straight into the attorney role. They join as paralegal or admin, and promotion requires a verified bar licence and a licence number on record, checked again at the promotion route. The role is read from the acting firm's membership row.
An account the firm has already recorded as a client cannot promote itself
The firm-creation door refuses an account with an existing client link, and refuses too when that probe cannot be read, since admitting one is permanent and self-elevating while refusing costs a retry. A new account with no client link is the ordinary front door.
A screen subtracts from the person who set it
ShippedAn ethical wall is checked on every read rather than at assignment, and again by row-level security. An imputed cross-matter hit auto-provisions a provisional screen pending review. An administrator screened off a matter cannot hand it to anyone, because their own reach is re-derived first.
Who may move money
Two-person approval, dormant until a firm names a figure
With no threshold set, every posting takes the path it takes today. Set a dollar figure and any outflow at or above it is held for a second licensed attorney. Deposits are never gated. Both database functions that write the trust ledger sit behind it.
A control that refuses to arm where it could never be satisfied
Releasing a held disbursement takes a licensed attorney who is not the requester, so arming the threshold at a one-attorney firm would brick the trust account above that figure. Arming is refused with the reason and the fix. Clearing the threshold always works.
Who may be the second signature, and what an unreadable answer means
One predicate serves the setter and the approve route, so the setting cannot promise what the release refuses. A member outside the firm never learns it exists; a paralegal inside is told it takes an attorney; a failed probe reports that it could not tell.
What leaves the building
Approving an AI vendor is a reviewed code change
ShippedWhich vendors may receive client content is a reviewed constant in code, asserted at the credential factory before a key is read. An environment variable can narrow that set to a sovereign endpoint, never widen it. The screen shows it read-only: picking is not approving.
Your firm's screen narrows, and an unreadable answer is not a permission
A firm chooses among already-approved vendors and declares which it holds a zero-retention agreement with. Two vendors refuse client content outright without that declaration, at the firm layer and the deployment layer. An unread selection leaves the reviewed default standing; an unread declaration is refused.
Deny on every routed request, and a firm may tighten it further
Routed inference carries a no-collection instruction on every request as the baseline. A firm may raise its own minimum to zero-retention and a deployment variable may raise it too. Neither can loosen the baseline beneath deny.
A model per task, where a stale choice is shown as subtracted
The firm picks a model per registered task from the eligible set the server derives from the code registries, the task's floor and ceiling, and the routed measurement gate. A stored string is accepted only by exact membership, so an ineligible choice shows as subtracted.
The key your own AI holds
The class rides on the key, not in the call
A credential is minted in one of two classes and the class cannot change: the lifecycle verbs are create and revoke. A client-safe key is forced into the privilege-gated view on every connection whatever its arguments ask. Minting the attorney class takes a firm administrator.
Eight scopes, and a matter list that intersects
ShippedA key can be minted to read the knowledge graph only, or to check text an add-in holds, reading nothing from the firm. Work queues and attorney analysis are refused to a client-safe key outright. A matter allow-list intersects server-side, so it can only narrow.
What an outside agent may be handed
ShippedA grant names one firm, its matters, an expiry and a capability set closed at read, upload and propose. Minting takes a firm administrator who reaches it. Every exercise re-derives the key's reach, the issuer's reach and the scopes, and the database adjudicates single use.
What the firm sets for everyone
Firm switches that only ever subtract
A firm can stop banking work product to its corpus, or refuse cloud transcription of a recording. Every switch in the catalogue makes the software do less, so a wrong flip costs a capability, not a gate. Each entry names the file that reads it.
A house voice each lawyer layers on, and a prohibition that survives the merge
The firm writes down its register, sentence length, hedging and the terms it will not print. Each attorney's profile overrides the scalar fields, while preferred and prohibited terms survive by union, so a personal profile cannot drop a firm prohibition. It relaxes no citation rule.
Editable prompts, with the safety-critical keys floored in code
Prompt text is registry-backed, editable by a firm admin and version-logged. A named set resolves to the in-code text whatever any stored row says: the privilege classifier, the client-facing chat guardrails, the client explainer, the intake protocol and the ingest classifier. They list as locked.
Refusals
What it will not do, and why.
- Silence a deadline, a privilege alert or a conflict check.
- Two notification kinds are on the clock, and the floor sits in the predicate every channel calls rather than in each caller. Before it moved there, the same switch was inert in the app while permanently killing the overdue-deadline mail and its text escalation. A taught rule can still hide a nag; the work stays open and visible on its own matter.
- Put a compliance gate behind a firm switch.
- The catalogue holds capability switches only, and its own test refuses a new key that is not declared there. Wall screening, the client-exposure classification, trust atomicity and litigation holds are not switchable, so the worst outcome of a wrong flip is a capability a firm stops getting.
- Let a firm's device policy loosen anything.
- The stored row is an overlay. It may force a role's app lock on, shorten the built-in grace window, add exact action names to the biometric boundary and require strict biometry in the portal. It never turns a person's own lock off and never subtracts a compiled rule.
- Read an unreadable setting as a decision somebody made.
- The database library resolves with an error rather than throwing, so a read against a table a migration has not created yet comes back looking exactly like a firm that chose nothing. Every screen here separates not deployed, not provisioned, running on a default, and your stored decision, and prints which one it is.
- Let an outside agent hold the act itself.
- Eleven verbs are refused by name, among them send, sign, file, serve, settle, pay, delete and expose to a client. Every other registered capability is judged from its own declared gating rather than a hand-kept list, so a capability that mutates anything is refused as consequential. An agent may read, upload and propose.
- Honour a safety evaluation somebody else ran.
- A decision-gold run is executed as one attorney, and the run id an attorney cites arrives from the client and is read back with the service credential. Without an ownership check, autonomy earned by one person could be spent by another on evidence about neither. A run with no recorded owner satisfies nothing. The gate also requires a measured faithfulness rate, a stop at every confirmation boundary, and no flagged review sample in the supervised history.
- Add an AI vendor from a settings screen.
- The screen can only narrow the reviewed set. Adding a vendor that receives privileged material is a reviewed change to the code constant, dated and attributed, for the same reason the privacy floor is hard-coded: an operator typo must not be able to open a new path out of the building.
- Hide a rule from the person it governs.
- The associate recording a disbursement is the person the dual-control threshold acts on, and the associate drafting is the person the house voice binds. A member without edit rights sees the same screen in read-only rather than a redirect, and the server is the gate that decides.
- Treat picking an embedding vendor as a switch.
- Two embedding vendors emit vectors of the same width, so a half-moved corpus is accepted without error and returns a confident, plausible, wrong neighbour list on a litigation record. The change takes a typed confirmation, the stored column constrains that acknowledgement, and the whole corpus is re-embedded by the one sanctioned script.
One record
Nothing here stands on its own.
What feeds it
- The firm roster, its roles and its verified licences
- Matters, and the walls drawn around them
- Your own approvals, declines and revisions
- The reviewed vendor and model record in code
- What the deployment underneath the firm has declared
What it feeds
- The confirm gate on every surface
- Drafting and the assistant
- Trust postings and invoices
- What a key or a connector may read
- The audit trail
Limits
What this does not establish.
- Owner and admin only: AI vendors, the per-task model choice, firm switches, the trust threshold, the house drafting voice, an attorney-class key, and an outside agent's grant. Any firm member may read them, and the server decides in every case.
- A zero-retention declaration is an assertion a firm makes on a date, recorded with a reference. Nothing in the product observes what a vendor retains.
- A firm's stored vendor selection is recorded, audited and read at the routed and spend-reservation seams. The credential factories for the three incumbent vendors do not consult it yet, and the settings screen says so rather than claiming the choice is enforced everywhere.
- Requiring approval of a colleague's recorded time is enforced on the server and guarded by the same two-attorney predicate, but it has no settings screen today.
- The per-forum admissions register has a screen, and its honest answer for every member right now is that the register is unavailable, because its migration has not been applied.
- No agent capability has been promoted on evidence, because no evaluation run yet carries the fields the gate requires.
Check the work before you believe it.
Run a sample manifest in your own browser, or read where publication refuses for want of evidence.