Skip to main content

Start with a real workspace: choose a per-seat plan and begin a 7-day trial. View plans

Product updates

New features, improvements and fixes across LawAOS. A dated record of completed work, with the detail behind each change.
A matter record: the product's own page head with the case-file caption, then its case info and key dates.Okafor & Byrne LLP, a fictional firm.
24 entries since 13 Aug 2026
Latest
PlatformComplianceClient portalAIDesign

Reports proven against the live firm; the table standard tightened

A second pass on the issues an adversarial verifier still objected to, each objection answered in its brief.

  • Every figure in Reports is backed by a query proven against the live firm.
  • Compliance cells are one line, with the certificate a click away; services sit on one toolbar and one table.
  • The member profile has tabs and an activity log. Contacts, companies, proposals, the client portal and automations join the table standard with row menus and inline dates.
  • The icon set has no two silhouettes alike; cron routes are idempotent and firm-aware.
  • The People module's AI-workforce roster is retired in favour of Legal Agents.
Change references
b02aa4748dbc884c
AIBillingComplianceTrustPlatform

The last cross-scope requests of the release wave landed together: the agent roster, the retirement of quotes, correct integration marks and a firm-wide accounts export.

  • Legal agents now live on their own surface, with the roster owned by the agents module.
  • Quotes are gone; proposals remain the one pre-engagement document.
  • Every integration in the catalogue carries a correct, licence-safe mark in one tile; connect controls that only showed a toast are disabled with a reason.
  • The whole firm's accounts can be exported.
  • Compliance states use the shared status glyphs; the trust drawdown message was repaired on the live database.
Change references
560e97db8f467752
PlatformDesignTrustCompliance

One table standard across modules

A single wave answered the owner's issue list: trust accounts, services, policies, reports, matter analytics and compliance rows, a universal trash, the notice feed, member profiles, the user menu, icons, the knowledge tree, settings truth, workstream columns and cron integrity.

  • Every module list renders on the same table primitive.
  • A universal trash holds deleted records across modules.
  • Settings report what is actually saved; the notice feed and the member profile were reworked.
  • The repository-root vercel.json was dead configuration; apps/web/vercel.json is the single source.
Change references
fb23a6abb637c3ac
BillingDocketPlatform

The approval fence holds at the database

Billing, docket and calendar writes are checked by the database, not only by the interface, and the settings screens stop promising what they do not save.

  • Invoice approval is enforced at the database; the invoice header names the invoice.
  • Counsel records persist; composite date writes travel together.
  • Every settings control awaits its save, gates match what the server enforces, invoice numbering is real and the timezone is mirrored.
  • My Desk pages are scoped to the firm, widgets read live stores, the focus timer pauses and the week is real.
  • One rich-text editor sits behind every comment box.
Change references
92b28156545326376aa56d8955213b7a
IntakeComplianceBilling

Intake on one row of tabs; the licence register readable below Partner

Intake, compliance and firm accounts each lost a piece of friction.

  • Intake shows one row of tabs everywhere; the pipeline's stage strip became a Stage facet with grouped bands and column counts.
  • The licence register was invisible below Partner. It now has a read permission and shows jurisdiction, standing, certificates on file, each licence's number and its issuing authority.
  • Firm accounts show receipts: a receipt column, in-app preview, a missing-receipt lens with coverage, edit and confirmed delete.
  • The expense register is one click away from finance.
Change references
7fc2a1ab7a8553478f2b171372ababa17019d8e6
Design

Consistent controls and page layouts across LawAOS

A design pass that made the product's controls agree with each other: one radius for floating surfaces, one control height per row, one name per screen.

  • Four corner steps, one panel edge, 13px controls; disabled is a colour, not an opacity.
  • Every floating surface shares the same 6px radius.
  • Page heads and toolbars: one name per screen, one control height per row; first tabs say All; the module is Invoices everywhere.
  • The matter mark is the binder; the record head is caption and pill; the inline picker is the dropdown; real italics in the editor.
Change references
f1dd06da2a4fb074ae871b87fc23ad34f39f9d00
PlatformMattersSecurity

A firm-wide notice board; workstreams show who can see them

Four audit workstreams landed together: the notice board, honest matter dialogs, task time and repeat, profile sync, and merges that wait.

  • Notices: a firm-wide feed with posts, threaded comments, reactions, read receipts, pinning and moderation, on RLS-guarded tables and four permissions.
  • Matter dialogs put the name first, show inline required-field errors, and disable a primary button with a reason instead of removing it.
  • Tasks keep their due time and repeat cadence in the database; pronouns and working hours sync from the profile to the person record.
  • The workstream toolbar carries the matter page's share control: the faces of the people who can see it, and the sharing panel one click in.
Change references
af66fd3d01af832d
MattersDesignBilling

The matter gets its own mark; the record head settles

The legal matter's glyph was drawn, redrawn and settled over a day of owner review, and the record head with it.

  • A top-level matter wears the matter mark on its card and in every trail; nested folders keep the folder.
  • A record head with a subtitle is two rows beside one mark; the reference and status start where the name starts.
  • The workstream topbar resolves the board and its matter; the page's own trail row is gone.
  • My Desk opens pages again, a page's first save waits for its insert, and the properties rail is a segmented strip.
  • The invoice heading is the invoice's name; four half-edited revenue adapters were restored so the build type-checks.
Change references
86034f70576c3d977a42d45c5d2ab94e5591d36b914f6886
MattersDesignIntake

Record cards redrawn; the dashboard's insight cards open their detail

The grid card was rebuilt in the owner's reading order and the dashboard's three insight cards became instruments rather than figures.

  • The record card reads reference, icon and name, department, items, chips, faces; sub-folder tiles and workstream cards draw on the same card.
  • The faces on a matter include everyone it is shared with.
  • Insight cards show ageing, hours per day and due-date columns, each opening a detail drawer; every open task is drawn.
  • Chart tooltips portal out and flip away from the window edge.
  • Intake became a true table module, settings gates were closed and the hand-rolled tables retired.
  • Clicking the folder icon stars the matter; the item count follows the items actually loaded.
Change references
f8a2414bb859ec65db599d9d223813c2c131a0e6cabc61531a16aedc644d4a055c20fa9e35f992dfc42881d7a9123185
Design

Identity: ink replaces indigo, brass becomes the signature

The product's own face: Inter type roles as tokens, the Seal, the matter caption, the ledger strip, domain glyphs and designed zero-states.

  • Inter type roles and motion are tokens; the retired indigo is linted out.
  • The Seal, the matter caption and the ledger strip are shared elements.
  • White-label colour reaches every accent; domain glyphs mark each module; every zero-state is designed.
Change references
ae674de4535c35d496856305cea85642
PlatformSecurityBilling

Every migration replays on an empty database; owner and admin authority repaired

The fresh-apply gate became blocking and the migration ledger was aligned with the canonical replay path, so a new environment can be built from the repository alone.

  • The fresh-apply migration gate blocks the build when a migration cannot replay from scratch.
  • Owner and admin firm authority were repaired.
  • Dashboard metrics are secured and payslips restored; workforce metrics are contained to the firm.
  • Billing and platform remediation consolidated; the trial clock is frozen in tests.
Change references
3e0e3db6bfa358ad7b27c844ad1917ae0ed1c88a319f51041326e7731501ccd6
MattersPlatformAI

Matters route through one service

Every matter write, from the root create to the detail page and the AI's create action, passes through one canonical service tier keyed by firm.

  • Matter creates, detail writes and pickers go through the matter service; the AI creates matters through the same atomic path.
  • The service cache is keyed by firm; a double matter close no longer double-reconciles.
  • A request-boundary data context carries the firm through the service tier.
Change references
a3fed1260061fd62cbd6161df0acb889cd47886afd705fc7f03c31837d4c3567
SecurityPlatformMatters

The Owner role and the Danger Zone

A firm has one Owner above Admin, the only role that can end the firm, and firm deletion runs on a grace period.

  • The Owner role: the firm's creator, above Admin, with sole firm-ending power.
  • An Owner-only Danger Zone tab replaces the old immediate delete in General settings; scheduled deletions execute after the grace period.
  • A manager can delete any matter they can see, not only the ones they own.
Change references
0aa5e1b75680c2e9bb433a1546831587
SecurityDocumentsAIPublic site

Row-level deny walls, signing order, immutable executed documents

Firm ABAC deny policies are enforced by the database on every firm-scoped record table, and the signing and document paths lost their soft spots.

  • Firm DENY policies apply at the row on all 34 firm-scoped record tables, on writes as well as reads.
  • A signer cannot sign out of turn; uploaded files carry a tamper-evidence hash at signing; executed document bytes are immutable at the storage layer.
  • The AI never opens a matter silently: explicit confirmation, the missing conflict or AML gate named, and a deterministic idempotency key so a double click cannot duplicate.
  • Unauthenticated auth and signature-token routes are rate limited on a non-spoofable address; the internal-secret compare is constant time; a /api/health readiness surface exists.
  • The recurring client digest carries a one-click List-Unsubscribe header; the Outlook write scope dropped to least privilege.
  • Three advertised interfaces that did not exist were removed from the public site.
Change references
e37f97a482aa261a6f6c24818c4495b09acf73039f3543ce64a1f3de834e132327ad1ccc87bc3b1cf4a85f416e5a7c8cb4ac7df6
BillingPublic site

The trial lifecycle, and the public site rebuilt

Trials start, run and end through one lifecycle, and the public site was rebuilt around audience journeys.

  • A complete trial lifecycle, with refreshed platform branding.
  • The public experience and its audience journeys were rebuilt; trial notes beneath CTAs were removed.
Change references
09a597bcf97c01fffc9a75247ba5203d
DocumentsMattersPlatform

WordCanvas replaces the document editor

The in-app document editor is now LawAOS WordCanvas, with canonical persisted documents, DOCX extraction and the ribbon.

  • WordCanvas replaces the previous editor; documents persist in canonical form.
  • DOCX extraction and ribbon controls restored; the layout engine ships in production.
  • Real dashboard performance analytics.
  • Associates can add nested matter folders; matter workspace workflows hardened; Google sign-in works on custom domains.
Change references
4dccd8d4aeffdc99bb8a5bfe598de6ba867b517c99992f3e40f6363973708cf9
PlatformBillingDocketIntakeCompliance

Saved views on every collection; record peeks; the governed invoice lifecycle

Every register keeps the views its members save, records open in a tenant-safe peek, and invoices move through a governed lifecycle to a vector PDF.

  • Saved views persist across core records and every collection: docket, intake, compliance, billing, calendar, signatures, conflicts, forms, governance, automations, embeds and the revenue catalog.
  • Tenant-safe record peeks and contextual peeks; Ask Hub bulk actions; calendar agenda and payroll bulk actions.
  • The governed invoice lifecycle, with invoices rendered as crisp vector PDFs and the memo and footer preserved.
  • Firm administration and legal agent profiles unified; actionable platform notifications; the command palette shortcut persists; shared keyboard sequences.
  • The LawAOS wordmarks were updated.
Change references
c7710c4644d7e9eca1d6bf45b8e0f5db985c83791d022d4be62d807152f7c40d0122390d7c141f0a6c5ad8dd1690fb009958de25f0183ee0d37834d842427f99e88fea6072d1958b9a4d6b41ad13226f807fc64064e7b661b901621016c87ab4c04e8b4178b7931b
MattersBillingPlatformKnowledge

Smoother workstream boards; the registration journey repaired

Board editing and workspace switching are more reliable, invoice documents paginate cleanly, and public registration completes on the first try.

  • Workstream board controls refined; board editing and workspace switching stabilised.
  • Invoice documents refined and paginated.
  • Public firm registration repaired end to end: incomplete registrations resume, slugs are allocated globally, retries are idempotent, signup invitations must be trusted, and the OAuth firm handoff completes.
  • Knowledge routing and realtime scope finished; document operations pinned to tenant scope; governed proposal and time operations unified.
Change references
b7e5c0ee3da81c240fe85808d41007f4951900db3ada700617b3c7c8cfdaa18843b793ecd12d91dc216d3e4c89f6a6412fef51378ea713fb
AIBillingSecurityPlatform

Ambient AI by module; subscription checkout; custom-domain login

The AI launcher knows which module it is in, checkout is wired to subscriptions, and members sign in on the firm's own domain with the firm's branding.

  • Ambient AI is contextualised by module, isolated across modules and authenticated across tenant domains; every legal agent operation is governed.
  • Subscription checkout setup completed.
  • Custom-domain login carries the firm's branding and the member's identity.
  • Overlay and mobile navigation accessibility unified.
Change references
744759611ad57c1e6e75e5b31a1f0d2bb1222285ca7b9e9b03ebe0b4f5e2dd28
AIPlatformSecurityKnowledgeIntake

The platform was renamed LawAOS with domain routing to match, and AI chat gained Legal Agents that know the firm's operations and act within its permissions.

  • The platform, its wordmarks and firm email links moved to LawAOS and its canonical domains.
  • Legal Agents: context-aware, with firm operations exposed to AI chat behind secured operation contracts and crash-safe creates.
  • Jurisdiction-neutral matter intake; CLE rules persisted; knowledge collaboration.
  • Tenant credential encryption keys separated; tenant resolution requires a verified custom domain; provider grants isolated by firm.
Change references
728a23717d244f63f9d1e20d9fa7976ad24bdd152da457f3286460f50f38c6e622768dc72171481aa6a6556eddf4f1192f7c112cee90cadea5d40d0c
Public site

The public site on one system, with real product shots and audited claims

Six phases rebuilt the marketing site: one token source, one set of primitives, product shots rendered from the real dashboard components, an honest header and footer, every page on the system, a comparison system and a claims audit.

  • Product shots are the real dashboard components inside browser chrome, not screenshots or mock-ups.
  • 154 audited public claims corrected; the /compare pages state only what each product does.
  • A left-aligned header with mega menus, an honest footer, the chrome and motion wave, and mobile that truly collapses.
Change references
385efb68ae6a57436608017dea39b18b4bdf83f188f75460a74c5d9220eb6f636faa0965b7a12468
KnowledgeComplianceSecurity

Knowledge Base and CLE

A real knowledge module: a page tree with the firm's own editor, a publish lifecycle with versions, knowledge bases created from a website link, and CLE courses with completions and certificates.

  • Knowledge Base: tree, store, editor blocks, an article surface with read and edit, publish lifecycle and versions; registered as a first-class module.
  • A knowledge base can be created from a website link, behind an SSRF guard.
  • CLE: completion RPCs and role defaults, then courses, learner, certificate and compliance surfaces.
  • Direct RPC revoked on 30 internal SECURITY DEFINER helper predicates.
Change references
6167932bb17ffec0f5fb52ff92d6cb0b37d476a41495079eac8baef9523171dd
DocumentsComplianceMattersBillingSecurity

A paginated document editor, governed policies, matter and workstream templates

Documents got a native paginated editor with signing and collaboration; the firm got governed policies and reusable templates; onboarding and seat billing became transactional.

  • A paginated document editor with native editing and signing, anchored comments, resilient uploads and page setup that survives reflow.
  • Governed firm policies with legal localisation, a policy library with a grid view, and policy editing restored for admins and creators.
  • Reusable matter and workstream templates.
  • Onboarding and seat billing are transactional; governed file storage scales records; firm context is isolated by auth session.
Change references
d9921ec42d845b581bb208a0a298adc1c347437396dba9cd1d5661b49cc0492b5c36d6e08af775dacfce749eae402545b1131b66
BillingPlatformAIPublic site

Production billing and administration; demo data removed

Billing and platform administration were built for production, and every fabricated record was taken out of the product.

  • Production billing and platform administration; settings revamped and hardened; admin directories use consistent layouts and controls.
  • Production demo data removed; fabricated AI workspace work records removed; AI workflows are server-confirmed and race-safe.
  • Notification and platform email governance unified; complimentary firm access and tenant email controls; secure provider controls.
  • Public pricing and launch claims unified; the marketing trial aligned to seven days.
Change references
d4d8bb1a226e6ca20efce54ca1d0da009830ef7ef1835ed514809c62a47fb1f605c99ff18c31674153a44e0d8dfbcb9a

Entries start on 13 Aug 2026. Earlier work, back to the first commit in April 2026, is in the repository history.