John HenryThe platform
Trust, ethics and what happens on a bad day

The interesting question is not what it does when everything works.

It is what it does when a card is declined, when a source is unreachable, when a verification pass fails, and when the answer to a question is one the software is not allowed to give.

Separation between firms

Tenancy is enforced in the database, and only in the database.

Not in the application layer, and not in a query somebody remembered to write correctly. Every table carries row-level security, every helper begins with the multi-factor gate, and a helper that forgets it is a bypass of the whole posture rather than a small oversight. Two-factor is required on every sign-in without exception.

Nobody at this firm holds or can set your password. Your associates and staff are invited by you, with permissions you set.

The test that matters is not one written from inside a firm — every such test passes from a seat that can always read its own rows. So checks here run from the seat that should NOT be able to see: a throwaway account with the membership under test, reading the live pages. Four independent faults were found in one afternoon that way, none of them visible from the inside.

Billing

Only the minutes a human spent are billable, and the schema will not let it be otherwise.

ABA Formal Op. 512, Tex. Ethics Op. 705 and California COPRAC all hold the same thing: only time a human actually expends is billable, and the efficiency gain from AI belongs to the client.

Here that is not a policy. The billable figure is a generated column the database computes, and it is structurally incapable of referencing the model-seconds field — with a probe that reads the expression out of the system catalogue and fails the build if it ever does. Model time is stored, because you may need to say what ran; it simply cannot become money. Note the third tile on the right, and note that it is not added to the first.

Time capture — billable hours beside model time marked never billable, and three entries flagged as block billing
A real render, not a mock-up. Four hours of model time beside 3.2 billable, and three entries flagged as block billing against 28 C.F.R. Pt. 58 App. B. The matter is invented.
When something goes wrong with the money

A failed payment must never take away what is already there.

This is written down as a rule to be read before the first line of any payment code on this platform is written, and it exists because a vendor declined a card twice, gave no reason anybody could act on, and then locked the account — so an attempt to give them MORE money left less access than before trying.

A lawyer locked out because a card bounced still has a hearing on Thursday, and the deadline does not pause for the invoice.

AI, specifically

Where a model is allowed to settle something, and where it may only raise it.

The test applied to every model output read as work product: what would a reader have to do to catch this being wrong? Fifteen seconds against a free canonical source — a statute, a national rule — and the model may assert it. Reading a document the model did not open, and the model may raise the question and may not settle it.

That ceiling is enforced where the card is written to the database, never in the prompt, because a rule a model is asked to follow is a rule it can fail to follow silently. Red is never capped: over-warning costs a lawyer a minute of reading and under-warning costs them the argument, and only one of those is recoverable. Every capped card keeps what was claimed beside what was allowed, so the cap can be audited and, one day, relaxed.

Every case citation is additionally looked up against a free public database to answer one narrow question: does this decision exist. It can only ever make a card redder — a citation that resolves says nothing about what it held. And “not found” is reported as UNCONFIRMED with the reason, never as fabricated: coverage is incomplete, unpublished opinions are often absent, and telling a lawyer their real citation was invented is its own way of destroying a tool. A spent quota, a timeout and a refusal are three different things and none of them collapses into “not found”.

Where a third-party service touches client information, Tex. Ethics Op. 680 governs and its conditions are met deliberately rather than assumed: understand the technology, read the terms, know the protections, decide on encryption before uploading, and track known vulnerabilities.

The part other vendors leave out

And the same list again, because it belongs here too.

If any of these turn out to be dealbreakers for your practice, that is worth knowing in a first conversation rather than a fourth.

Nothing files and nothing signs.

There is no CM/ECF integration and there is no e-signature. Recording a motion as filed is a snapshot you take after you filed it yourself. A tool that files is a tool that can file the wrong thing at 4:59 on a Friday.

No case ever goes green off a model.

A model may assert a TEXT — a statute, a national rule — because you can confirm it in fifteen seconds against a free authoritative source. It may never settle what a case HELD. A case citation from a model pass tops out at arguable, and the ceiling is enforced where the card is stored rather than asked for in a prompt, because a rule a model is asked to follow is a rule it can fail to follow silently.

The sources it cannot reach are listed, switched off, by name.

The research panel names the judges' standing procedures, the docket and the full text of the decisions, and says NOT CONNECTED beside each. A panel that lists only what a tool has tells you it consulted everything it has.

It will not give you a deadline as a date.

It returns a number of days and the rule the number came from, and where two local rules answer differently it shows both, because the comparison is the warning. Rule 9006 counting, service-method additions and court holidays are not modelled, and a date printed with confidence is one a lawyer stops re-checking.

It does not read a scan.

A served pleading with no text layer is reported as probably a scan, which is not the same claim as the document being empty. The caption in a picture is a picture.

It will not take a litigation position for you.

A response has no default posture, because a default of deny would make an untouched response read as a complete denial of everything. Whether a matter is core and whether you consent to entry of a final order are left blank — that is Stern v. Marshall, and it is a position, not a recital.

It never says a case is good law.

A citation graph proves that one case cited another on a date. It cannot tell overruled from distinguished from a string cite, and anything that renders a green flag off a citation count is the failure this whole system is built against.

It bills no time you did not spend.

Model seconds are stored as telemetry in a column the schema will not allow to be summed into a billable line — a generated column that cannot reference it, with a probe that fails the build if it ever does. ABA Formal Op. 512 and Tex. Ethics Op. 705 both hold that only human time is billable; here that is unrepresentable rather than documented.

Ask the hard questions first.

The parts of this that are unsettled are named on these pages on purpose. Bring the ones that matter to your practice.

Request accessHow access starts