Catalogue
Everything shipped, by the stage of a filing’s life.
Every entry is a mechanism with a code path. Its status is shipped, flag-gated with the flag it ships off behind, or backend only when a route or module exists and no screen renders it yet. Where a public surface shows it, there is a link. The counts below are derived from the manifest, never typed.
- mechanisms
- 79
- shipped
- 72
- flag-gated
- 3
- backend only
- 4
Stage 1: Enters
One name. Two people. A very different story.
What the record does to material as it arrives — who is who, what is missing, what must not be seen, what date a rule sets.
23 mechanisms
knowledge graph
Two people, one name
The graph refuses to weld two legal persons who share a name; a namesake signal vetoes the merge and the pair is recorded as possible namesakes for an attorney to settle.
backend/src/lib/rag/knowledgeGraph.ts
shippedSee itA merge-precision floor of 1.0
The knowledge-graph eval holds merge precision at 1.0 and hallucination canaries at zero; no baseline may lower either floor, because a false merge destroys the loser's attributes.
backend/src/eval/kg/kgResolutionEval.ts
shippedA provenance-first graph
Every entity, relationship and fact resolves back to the chunk, page and document it was lifted from; a claim without a source is marked, not invented.
backend/src/lib/rag/provenanceResolver.ts
shippedSee itA firm graph that fails closed at the wall
Cross-matter entity reads are scoped by the ethical-wall unit; when a wall lookup errors the graph returns empty rather than whole.
backend/src/lib/rag/firmGraph.ts
shippedRetrieved text is data, never instruction
Retrieved chunks are wrapped as source material and screened for instruction-like phrases before a model sees them. These controls reduce prompt-injection risk; they do not turn retrieved text into trusted instructions.
backend/src/lib/rag/retrieve.ts
shippedA wrong-matter detector
A freshly ingested document whose parties share nothing with the matter raises a high-priority task before its facts can reach the graph, the valuation or the client portal.
backend/src/lib/rag/wrongCaseDetector.ts
shippedA fact ledger
Extracted facts are appended with their extraction source and merge basis; changes to fact merging must pass the repository's evaluation gate. No screen renders it yet.
backend/src/lib/rag/factLedger.ts
backend only
discovery
Bates gaps, phrased as a question when they must be
Missing Bates runs are reported on import from the load file's own records; when the set discloses document-level numbers only, the finding is phrased as a question rather than an accusation of withholding.
backend/src/lib/discovery/productionImport.ts
shippedSee itA Gap Hunter with no model in it
Referenced-but-absent attachments, broken families and numbering holes are found by deterministic passes with quoted evidence, because an accusation levelled at opposing counsel must be machine-provable.
backend/src/lib/discovery/gapHunter.ts
shippedSee itPrivilege classification takes the more protective of two
A model's classification and a rule-based scan are combined by taking whichever protects more; a model's 'not privileged' is a signal, not an answer, and the basis is recorded for review.
backend/src/lib/compliance/autoClassify.ts
shippedSee itA standing produced-versus-privileged diff
Every production is diffed against the privilege log on a schedule; a privileged document found inside a production raises an urgent task that clears itself only when a later diff runs clean.
backend/src/lib/discovery/privilegeLog.ts
shippedA continuous-active-learning ranker
A classifier trains on the attorney's own coding decisions over existing embeddings and re-ranks the uncoded pile so review proceeds highest-predicted first; every label carries its provenance.
backend/src/lib/discovery/tarRanker.ts
shippedDAT and OPT load files, read and written
Inbound productions are parsed from their load files and outbound productions are written to the same formats, so the record speaks the review platforms' interchange language in both directions.
backend/src/lib/discovery/loadFile.ts
shipped
deadlines
An FRCP 6(a) engine with named refusals
Day counts, mail extensions, e-service and holiday calendars are modelled per forum; a forum the engine does not own gets a named refusal rather than a federal rule applied by default.
backend/src/lib/deadlines/frcp.ts
shippedSee itThe derivation, stored beside the date
A calendared deadline keeps its trigger event, trigger date, service method, forum rule and holiday calendar as columns, so any date can be re-derived and disputed from its inputs.
backend/src/lib/deadlines/derivation.ts
shippedSee itA cascade that follows the trigger
When a trigger moves, every deadline derived from it is recomputed from its stored derivation; nothing is nudged by hand.
backend/src/lib/deadlines/cascade.ts
shippedJudge and forum rules, asked once
A governing local rule is researched once per forum and case type and stored as a suggestion the attorney confirms; a judge's verified individual practice may warn and link, but never move a date on its own.
backend/src/lib/deadlines/standingOrderOverlay.ts
shipped
ethics
Conflicts checked at the front door, failing closed
Every intake, invite and consultation request is screened against the entity spine before anyone opens it; an errored check blocks or holds rather than passing.
backend/src/lib/conflicts.ts
shippedEthical walls enforced in code and in RLS
A walled staff member is excluded at the access layer on every route and again by row-level security; the wall is checked on read, not once at assignment.
backend/src/lib/ethicalWalls.ts
shippedPrior affiliations and lateral screens
A lawyer's prior firms and matters are recorded and consulted by the conflicts check, so a lateral hire's history reaches the screen before their first assignment.
backend/src/lib/priorAffiliations.ts
shippedAn admissions register per forum
Before a filing is signed the register answers whether this lawyer is admitted in this forum — state, circuit, district or pro hac vice — not merely whether they are a lawyer somewhere.
backend/src/lib/admissions/forumAdmission.ts
shipped
portability
Clio and Filevine importers that rebuild the entity spine
A vendor export's loose party text is reconstructed into canonical legal entities and their appearances, so the firm's conflicts check on BRON can use the imported history. No screen drives it yet.
backend/src/lib/importers/entitySpine.ts
backend only
research
A multi-source authority corpus
Authorities are pulled from public sources into the matter's own corpus with their fetch provenance, so a citation is checked against text the firm holds rather than a summary.
backend/src/lib/research/corpusAuthority.ts
shipped
Stage 2: Gates
The draft is good. What stops the bad one leaving?
What stands between a draft and the door — the checks that throw, the certificates that refuse, the floor no policy lowers.
29 mechanisms
research
A send gate that throws
A document relying on an unresolved authority cannot leave; the gate raises instead of warning, and every override is logged on every approve and export path before it is honoured.
backend/src/lib/research/citationVerifier.ts
shippedSee itA statute gate that fails closed
Statutory citations are shape-checked and held for confirmation rather than passed, because no free case-law source covers statutes well enough to clear them automatically.
backend/src/lib/research/citationShapes.ts
shippedQuote fidelity, checked against the source text
A quoted passage is compared to the held authority at the pincite; a paraphrase presented as a quotation is a finding, not a style note.
backend/src/lib/research/quoteFidelity.ts
shippedSee itA treatment scan whose strongest verdict is 'no negative signals found'
Subsequent history is scanned for negative treatment and reported with a timestamp; the scan never calls an authority settled, and an aged clean result is re-run before a send.
backend/src/lib/research/goodLaw.ts
shippedAn adverse-authority check on the draft
Before a brief leaves, the authorities it relies on are swept for adverse treatment and contrary holdings the draft does not address, and the omissions are listed.
backend/src/lib/documents/adverseAuthorityCheck.ts
shipped
documents
A long-form drafting engine
Motions are drafted section by section against the matter's fact record and authority table, with every citation entering through the same gate as a hand-typed one.
backend/src/lib/documents/longform.ts
shippedSee itOne document-type registry
Every generated document type is declared in one registry that drives the generator, the editor and the export gate, so a type that exists anywhere exists everywhere.
backend/src/lib/documents/documentTypes.ts
shippedA Certificate of AI Use that refuses
The certificate is rendered from the audit trail and will not certify that no generative AI was used for a document the trail says otherwise about; refusing is the feature.
backend/src/lib/documents/aiUseCertificate.ts
shippedSee itA word-count certificate computed from the body
The certificate is assembled from the real count the caller computed and never estimates or rounds it; when the count exceeds the limit the text states that the document does not comply, rather than certifying it.
backend/src/lib/documents/wordCountCertificate.ts
shippedComments anchored to text, surviving edits
A comment is bound to the passage it addresses by content anchor rather than offset, so it follows the passage through revision and reports when its anchor is gone.
backend/src/lib/documents/commentAnchor.ts
shippedSuggested edits, verbatim or refused
An AI suggestion must quote the exact text it replaces; a quote that does not anchor, or a citation the gate blocks, is refused per suggestion with its reason rather than applied approximately.
backend/src/lib/documents/suggestEdits.ts
shippedA pre-file check against the judge's standing orders
Before filing, the document is checked against the forum's format rules and the assigned judge's attorney-verified standing orders, and each finding names the order it comes from.
backend/src/lib/documents/preFileCheck.ts
shippedAuthorities linked to their source at the pincite
Every cited authority in an exported document carries a real hyperlink to the held source at the cited page, so a reader lands on the passage rather than a search box.
backend/src/lib/documents/authorityLinker.ts
shippedA cite-audit ledger
Each citation check run on ingest is appended with its verdict and inputs, so a later reader can see what was checked, when, and against which text. No screen renders the ledger yet.
backend/src/lib/documents/citeAuditLedger.ts
backend onlyLive co-editing
Multi-lawyer editing on one document through a collaboration server; ships OFF, and the route answers 503 with the flag's name when it is not enabled.
backend/src/lib/collab/hocuspocus.ts
flag-gated· COLLAB_EDIT
gate stack
A hard floor no policy can lower
Send, sign, trust and phase-change tools always confirm; an autonomy policy may lower other tools to draft-to-review at most, and the floor is clamped again at the registry so a second path cannot reach beneath it.
backend/src/lib/chat/toolRegistry.ts
shippedOne gate stack for every surface
A button on a page runs the same RBAC, conflict, confirm-nonce, idempotency and audit chain as the chat copilot; the surface route adds owner scope and a nonce re-bind and reimplements nothing.
backend/src/routes/surfaceActions.ts
shippedAutonomy promoted on evidence, failing closed
An agent capability is promoted only by an eval run carrying the decision-gold fields; a missing field fails the gate. Today no run carries them, so nothing has been promoted.
backend/src/lib/agent/promotionGate.ts
shippedOne triage brain behind the board, the brief and the email
Open tasks are reduced to stories by one deterministic module with no model and no clock read, so the app, the daily brief and the notification cannot tell three different stories.
backend/src/lib/proactive/triage.ts
shipped
ethics
A client firewall that denies by default
A client sees a document only when its classification, its client-visibility flag and an attorney's publication authority all clear, checked on every read at the access layer; a portal client is refused outright on staff-only routes.
backend/src/lib/access.ts
shippedSee itAI vendor posture as a reviewed code change
Which vendors may receive privileged material is a reviewed list in code; a firm selects among approved vendors in-app, and an operator typo cannot open a new egress path.
backend/src/lib/llm/vendorPosture.ts
shipped
money
Overdraw guards per matter and per client
A trust posting runs under a row lock and refuses when it would take a matter or a client below zero; the guard keys off the ledger, not the request.
backend/src/lib/settlement/trustBridge.ts
shippedA contingency disbursement that refuses without the signed closing statement
Florida Rule 4-1.5(f)(5) is enforced as a 409: no contingency funds move until the client's signed closing statement is on the record, and the refusal is the response.
backend/src/lib/billing/feeArrangement.ts
shippedSee itClosing statements frozen at signature
Once a closing statement is shared for signature its version is pinned; a proposal against a later edit is refused rather than silently re-pointed.
backend/src/routes/settlement.ts
shipped
analytics
A valuation interval, never a point
A per-matter Monte Carlo over an authored claim tree renders as a conformal p10–p90 range. The range expresses uncertainty in an authored model; it is an estimate, not a measured outcome.
backend/src/lib/analytics/conformal.ts
shippedSee itOne kill-shot per matter
The single issue that decides the case is computed once, by one method, and persisted on the snapshot, so the strategy map, the play tree and the brief cannot name three different answers.
backend/src/lib/analytics/killShot.ts
shippedAdversarial war-gaming over the authored model
For each pivotal issue the world where the opponent wins it is re-simulated deterministically and the valuation swing is reported; the model layer sits above, never instead of, that arithmetic.
backend/src/lib/analytics/warGame.ts
shippedThe Red Brief
Per claim element, the opponent's strongest case is built from the firm's own production with a record cite for every thrust and the rebuttal beside it; court mode reads it live.
backend/src/lib/redbrief/generate.ts
shipped
discovery
ESI specification, privilege log, redaction and meet-and-confer
An ESI spec, a privilege log, a redaction builder and a meet-and-confer chronology are generated from the record, and the chronology attaches to a Rule 37(a)(1) certification on a motion to compel.
backend/src/lib/discovery/meetConfer.ts
shipped
Stage 3: Leaves
The part you don’t take on faith — including the other side.
What travels with a filing, an export or a payment so the recipient can check it without trusting the firm.
15 mechanisms
attestation
A published manifest specification
Every cited passage in a filing carries its source hash, span and verdict under a format specified in the open, in enough detail to write an independent verifier from in any language.
verifier/SPEC.md
shippedSee itAn MIT-licensed verifier the recipient runs offline
The verifier has no runtime dependencies and runs from a local file with the network off, so opposing counsel or a clerk re-derives every verdict without contacting the firm or us.
verifier/LICENSE
shippedSee itA public digest lookup with no account
A SHA-256 returns a verdict and its proof tier to anyone; the route states plainly that a one-off anchor proves an artifact existed at a time and says nothing about what else exists.
backend/src/routes/attest.ts
shippedSee itFour hash-chained ledgers, anchored to Bitcoin
The audit log, supervision reviews, prediction outcomes and eval runs are each a hash chain with OpenTimestamps anchors; digest ledgers are a separate kind and the code refuses to render one in the other's vocabulary.
backend/src/lib/chainVerify.ts
shippedSee itRemovals disclosed inside the chain
When rows leave a ledger the disclosure is written into the same hash chain and anchored, so a ledger short of rows renders amber with its reason and never the same green.
backend/src/lib/ledgerDisclosure.ts
shippedSee itEgress attestation
Every path by which material leaves the building is attested to the provenance ledger; ships OFF, and when off runs zero queries.
backend/src/lib/provenance/egressAttestation.ts
flag-gated· PROVENANCE_EGRESS_ATTESTATIONThe Warrant
One primitive for 'a machine decided this, and here is why', replacing ten shapes of the same idea; every automated decision carries its basis in the same structure.
backend/src/lib/provenance/warrant.ts
shipped
analytics
A calibration scoreboard that refuses below ten
The public page publishes nothing below ten resolved matters and says so in place of a number; ships OFF, and today has nothing to publish.
backend/src/routes/publicCalibration.ts
flag-gated· PUBLIC_CALIBRATIONSee itProvable precedence for every prediction
A prediction is committed to the anchored chain when it is made, so whether it preceded the outcome is a comparison between timestamps the firm did not author.
backend/src/lib/analytics/provablePrecedence.ts
shippedSee itA chronology attested to its sources
Model-extracted chronology dates are set beside the dates parsed deterministically from the record's own text; an event whose date the record does not attest is marked, not smoothed.
backend/src/lib/analytics/chronologyAttestation.ts
shipped
e-sign
Native e-signature with a sealed evidence record
Signing runs in-house: ordered invitations, an attorney confirmation, a field manifest and a seal over the executed bytes, with the evidence written to the record rather than a vendor's.
backend/src/lib/esign/native.ts
shippedPublic verification that names its proof tier
Anyone holding an executed PDF hashes it locally and learns whether these bytes are the bytes the system sealed, and which tier backs it: Bitcoin-confirmed, pending, or digest only.
frontend/src/app/verify/page.tsx
shippedSee it
money
An attested invoice
Each invoice line names what it rests on — the gate receipt of the approved capability run, the time entry, the metered AI call — so a client can open the row behind the number instead of reading a narrative.
backend/src/lib/billing/attestedInvoice.ts
shippedThree-way trust reconciliation in SQL
Bank, ledger and client balances are reconciled in the database and reported as the pair (matched, discrepancy); no bank statement is a refusal, never a zero that reads as reconciled.
backend/src/lib/compliance/trustReconciliation.ts
shippedSee it
discovery
Productions exported with a manifest
An outbound production is built as Bates-stamped PDFs — every page carries its true number and any confidentiality legend — zipped with its Concordance and Opticon load files and a manifest; byte work with no model in it.
backend/src/lib/discovery/productionExport.ts
shipped
Stage 4: Keeps
Your file on your way out. Your AI driving it.
What the firm holds and can take with it — its file, its money, its own AI on the record, its second chair.
12 mechanisms
mcp
A grounded-read contract for a firm's own AI
Every MCP read returns provenance, status and freshness with the answer; a roll-up inherits the status of its weakest member, so one ungrounded fact marks the whole.
backend/src/mcp/index.ts
shippedSee itOne write verb that cannot act
The single write tool files a proposal row, executes nothing and mints no confirmation token; an override flag in the call is surfaced, not honoured.
backend/src/mcp/proposeAction.ts
shippedSee itPrivilege bound to the credential class
An MCP credential's reach is fixed at attorney consent: the chosen matters are re-proved and written onto the key before it is minted, so an OAuth grant can only narrow and can never widen to every matter.
backend/src/lib/mcpAuth/consent.ts
shippedScoped, expiring, non-replayable grants
An external agent's grant names its firm, matters, capabilities and expiry; a database constraint refuses the consequential verbs outright, and the allowed set is derived from the tool registry rather than hand-listed.
backend/src/lib/agent/externalAgentGrant.ts
shipped
portability
A full-fidelity, anchored firm export
One request streams every document's bytes, the canonical interchange CSVs, the audit chain, a SHA-256 manifest and an OpenTimestamps proof over it; checkable with two commands and no BRON software. No screen drives it yet.
backend/src/routes/firmExport.ts
backend onlySee itA quarterly proof of counts and receipts
The renewal page is counts and receipts only, each naming the table and column it counted; a failed read prints unavailable, an empty period prints no data, and a number that cannot be derived honestly is omitted with its reason printed.
backend/src/lib/standing/quarterlyProof.ts
shippedA native iOS app held to parity by test
The SwiftUI app shares one networking core and is held to the web app's action set by a parity test that fails when the two drift.
ios/Packages/BronKit/Tests/BronCoreTests/ChambersActionParityTests.swift
shipped
second chair
Second Chair on Even G2 glasses
A live-deposition lens displays source-linked prompts or an explicit silence decision for attorney review. Includes an Even G2 display integration.
backend/src/lib/livedepo/hud.ts
shippedSee itSecond Chair on MentraOS (beta)
The same lens over a second glasses runtime, authenticated on a per-session bearer token rather than ambient credentials; labelled beta because the hardware gate is the owner's.
backend/src/lib/livedepo/streamSocket.ts
shipped
money
A personal-injury provider register
Medical providers, liens and third-party requests are kept as a register per matter, so the closing statement's deductions trace to a row rather than a memory.
backend/src/lib/pi/providerRegister.ts
shipped
add-ins
BRON for Word, on the same server core
The Word add-in runs the same citation gate, Table of Authorities, authority linking and tracked-change redlining as the web editor, against the same server; there is no second gate.
frontend/src/app/word-addin/page.tsx
shippedBRON for Outlook, on the compose surface at ReadItem
The Outlook add-in requests the ReadItem permission and no more; it runs the same outbound checks BRON applies to its own email — citations, unfilled placeholders, FRCP 5.2 identifiers — against the message being composed, and cannot send or read the mailbox.
frontend/public/outlook-addin/manifest.xml
shipped
A mechanism nobody can find is a claim. Every path above is a file in the repository.