Matruno

Workspace Setup

Last updated September 21, 2026

Create the first Matruno legal workspace and admin user, then verify workspace-scoped membership, roles, and settings.

Create the First Workspace#

The setup flow is exposed in the frontend at http://localhost:3456/setup and backed by POST /api/v1/auth/workspace/setup. It creates a workspace, an admin user, a workspace membership, and verification instructions.

Before you start, run the local stack from Local Development and confirm the backend is healthy:

bash
curl -fsS http://localhost:5678/health

A workspace is the tenancy boundary for a law firm, in-house legal team, or legal operations group. Matters, participants, documents, workflow definitions, templates, and integration credentials are scoped to that workspace.

What the Repository Implements#

AreaImplemented behavior
Workspace modelworkspaces and workspace_users tables store workspace records and memberships.
RolesWorkspace memberships store role arrays such as workspace_admin, member, and auditor; other workflow surfaces also use process and matter roles.
AuthLogin, refresh, logout, TOTP setup/verification, cookies, and bearer-compatible access tokens are implemented.
SettingsWorkspace settings and member management routes are available under /api/v1/settings and /api/v1/workspace.
BoundariesAuth dependencies activate workspace scope and reject request workspace mismatches for authenticated sessions.

Verify the Workspace#

After setup:

  1. Sign in at http://localhost:3456/login.
  2. Open Settings and confirm the workspace member list is visible to the admin user.
  3. Create or import one legal workflow definition.
  4. Create a test matter and confirm it is scoped to the current workspace.
  5. Review Permissions before adding attorneys, paralegals, or legal-ops users.

No hosted or SSO guarantee

The repo supports workspace setup, session auth, TOTP, roles, and workspace scoping. It does not prove a hosted Matruno service, SSO provider integration, SOC 2, HIPAA, or GDPR compliance.

Was this helpful?