Mike (MikeOSS) is an open-source legal AI platform for document review, drafting, and legal research.
It combines a Next.js frontend, an Express backend, Supabase Auth/Postgres, and Cloudflare R2-compatible object storage.
Website: mikeoss.com
- Chat with legal documents and open matters
- Review documents and apply suggested edits
- Run reusable assistant and tabular-review workflows
- Organize projects, folders, and a document library
- Verify citations and research US case law with CourtListener
- Work from Microsoft Word with the beta task-pane add-in
- Run supported language models locally through Ollama
The included Docker Compose stack runs Mike, Supabase, RustFS object storage, and local email capture without requiring managed infrastructure.
-
Copy the local environment templates:
cp .env.example .env cp backend/.env.example backend/.env
-
In
backend/.env, setDOWNLOAD_SIGNING_SECRETandUSER_API_KEYS_ENCRYPTION_SECRETto separate values generated with:openssl rand -hex 32
-
Add an Anthropic, Gemini, or OpenAI API key to
backend/.env, unless you plan to use Ollama exclusively. -
Start the stack:
docker compose up --build
-
Open http://localhost:3000 and create an account.
The bundled credentials and infrastructure are intended for local development only. See Local development for service endpoints, authentication behavior, Ollama setup, and first-run guidance.
Error reports are sent to the Mike project's own Sentry by default, so the
maintainers can fix failures encountered by forks and self-hosted installs.
Before network transmission, every runtime rebuilds reports from an explicit
allowlist: code locations and line numbers, controlled operation labels,
HTTP method/status and normalized routes, validated correlation IDs, release,
and environment. Client document filenames, document text, raw error and
console messages, request URLs/queries/headers/bodies, user identities, and
breadcrumbs are excluded. Automatic sessions, replay, attachments, traces,
and other non-error payloads are blocked. The same boundary applies to
community and official installations. See the observability guide
for the exact policy, source-map behavior, and limitations.
To opt out, set SENTRY_DISABLED=true
(NEXT_PUBLIC_SENTRY_DISABLED=true / REACT_APP_SENTRY_DISABLED=true for the
browser and add-in builds); to use your own Sentry instead, set the matching
*_SENTRY_DSN.
The built-in DSNs are public submission addresses; stored error reports are accessible to authorized Sentry organization members. The guide documents public-DSN and default-on precedents (Zulip Desktop, Element Web, and GitLab's distinct Service Ping mechanism), and quota protections and remaining limits.
The Sentry data audit records the original privacy findings, their fixes, and the current outbound data inventory. Source-map uploads are separate and send application source code only when operators configure upload credentials.
| Path | Purpose |
|---|---|
frontend/ |
Next.js web application |
backend/ |
Express API, document processing, and database access |
word-addin/ |
Microsoft Word task-pane add-in (beta) |
backend/schema.sql |
Complete schema for fresh databases |
backend/migrations/ |
Dated migrations for existing deployments |
docker-compose.yml |
Local application and infrastructure stack |
docs/ |
Development, deployment, testing, and feature guides |
- Documentation index
- Local development
- Manual and production deployment
- Troubleshooting
- MCP connectors
- CourtListener integration
- Microsoft Word add-in
- Tamper-evident exports
- Safe local testing
- End-to-end testing and CI
- Contributing
- Security policy
Mike's system assistant and tabular-review workflows are maintained in the
Open-Legal-Products/mike-workflows
repository. See Contributing for how they are
packaged and synchronized with this application.
Mike is available under the GNU Affero General Public License v3.0.