Repository navigation
Releases: mehbul/counsel-workspace
Release list
Counsel workspace 0.2.0
Counsel workspace 0.2.0
The second release of the free, self-hosted legal workspace. 0.2.0 adds opt-in
local OCR for scanned PDFs, a hardened owner-only matter archive restore, and a
production HTTPS deployment guide backed by a strict-TLS deployment verifier.
This remains a functional foundation, not a production-certified or
independently audited product. Please read the limits below before using client
material.
What's new
- Local OCR for scanned PDFs (opt-in). Install Tesseract and Poppler, build
withINSTALL_OCR=1, enable withCOUNSEL_OCR_ENABLED=1. Only pages without
native text are OCRed, processing is bounded, native-text pages keep their
extracted text, and mixed documents keep page order and exact character
offsets. Documents never leave the host. See
docs/OCR.md. - Owner-only matter archive restore
(POST /api/matters/archive/restore). The offline verification pipeline runs
before any write; identifier collisions fail closed with409unless
newIds=1requests a remap of every archived record ID; restored execution
state never resumes (queued jobs restore asfailed, schedules and research
watches restore disabled, non-terminal runs restore ascancelled, audit
rows are never restored); and restores roll back database, audit and
in-memory state together on failure. Owner authorization runs before an
archive upload is buffered. - Production HTTPS deployment guide
(docs/DEPLOYMENT.md):
the end-to-end Caddy recipe, an environment-variable table, an nginx
alternative, a scheduled backup recipe with an integrity check, and an
acceptance checklist.node scripts/verify-deployment.jschecks the real
certificate over strict TLS, the HTTP redirect, readiness, security headers
and anonymous API rejection — and is never bypassed with insecure flags. - The reverse-proxy request-body cap now allows the 256 MiB archive restore
uploads end to end.
Run it
Personal mode requires Node.js 24.15 or newer:
git clone https://github.com/mehbul/counsel-workspace.git
cd counsel-workspace
npm ci
npm run start:personalOpen http://127.0.0.1:3000. For HTTPS deployment on a server, see
docs/DEPLOYMENT.md.
The container image is published at
ghcr.io/mehbul/counsel-workspace:0.2.0.
Verification
- 200 tests pass in GitHub Actions, including real Tesseract/Poppler OCR
checks; 198 pass locally where the engines are not installed. - Build, formatting, dependency audit, Caddyfile validation, Docker build and
the hardened-container smoke test pass in
CI. - The release image was built and published by
run 40663103009. - CodeQL and Gitleaks pass on the public repository.
- The maintainer exercised the HTTPS deployment flow locally against
https://localhostwith the real Caddy binary — strict-TLS verification,
secure cookies, proxy-keyed rate limits and authenticated WebSocket upgrades
— plus a backup-then-restore drill with an isolated restore boot. Public
hostname acceptance by an operator is still pending;product.jsonkeeps
productionDeploymentDrill: falseuntil it is done. - The clause engine numbers are unchanged: 33.98% answerable-only token F1 and
77.05% answerability balanced accuracy on a document-disjoint CUAD validation
split. Regression measurements, not legal-accuracy evidence.
Known limits
- OCR is not preinstalled: scanned PDFs need separately installed local
Tesseract and Poppler tools, explicitly enabled by the operator. - No SSO, SCIM, MFA or enterprise directory integration.
- No iManage or NetDocuments adapter, provider ACL sync or ethical-wall
mapping. - Archives are checksummed but not encrypted, signed or notarized; restore is
owner-only. - No multi-instance or high-availability mode.
- No independent security audit, penetration test or legal review.
- No guarantee of legal accuracy.
- No blinded legal-quality comparison with Legora or any commercial product.
- No live Slack or Teams tenant acceptance.
- Production HTTPS deployment on a public hostname has not been exercised by an
operator yet.
Read the security policy,
threat model,
verification record
and changelog.
Links
- Website: https://mehbul.github.io/counsel-workspace/
- Documentation: https://github.com/mehbul/counsel-workspace#readme
- Issues: https://github.com/mehbul/counsel-workspace/issues
- Security reports: https://github.com/mehbul/counsel-workspace/security/advisories/new
Counsel workspace is independent and not affiliated with, endorsed by or
sponsored by Legora or any commercial legal-AI provider. "Legora" is a trademark
of its respective owner. Nothing here is legal advice.
If this is useful, star the repository so other small practices can find it.
Counsel workspace 0.1.0 - first public preview
Counsel workspace 0.1.0
The first public preview of a free, self-hosted legal workspace: contract
review, legal research, drafting, workflows and client collaboration on your own
computer or server. Apache 2.0, no seat fee, no telemetry and no mandatory model
API.
This is a functional foundation, not a production-certified or independently
audited product. Please read the limits below before using client material.
Highlights
- Personal mode for one trusted computer, with loopback-only access and
synthetic seed data. - Team mode with owner-created accounts, Argon2 password hashing, revocable
sessions, CSRF and origin checks, rate limits, and owner/editor/viewer/guest
roles. - Matters and documents with PDF, DOCX, TXT, Markdown and CSV import,
original-file retention, page and paragraph anchors, and OCR-needed reporting. - Evidence-first review with matter-scoped ranked search, deterministic
clause anchors, exact offsets, conservative abstention, review tables and CSV
export. - Drafting and comparisons with rich text, comments, checkpoints, proposed
edits, highlighted changes and DOCX export. - Approval-gated workflows, durable runs, retries, cancellation and
schedules. - Guest-only client portal with explicit publication and immediate
revocation. - US Federal Register and eCFR research with official-origin pinning and
publication watches. - Signed webhook, Slack and Teams notifications with encrypted secrets,
durable retries and receipts. - Portable matter archives with a manifest, SHA-256 checksums, readable
source text, structured records and an offline verifier. - MCP integration for scoped evidence reading and host-authored drafts,
reviews and tasks. - Optional local Ollama or bring-your-own model generation, disabled by
default.
Run it
Personal mode requires Node.js 24.15 or newer:
git clone https://github.com/mehbul/counsel-workspace.git
cd counsel-workspace
npm ci
npm run start:personalOpen http://127.0.0.1:3000. For Docker deployment, see
docs/OPERATIONS.md.
The container image is published at
ghcr.io/mehbul/counsel-workspace:0.1.0.
Verification
- 188 tests pass locally and in GitHub Actions.
- Build, formatting, dependency audit, Docker build and hardened-container smoke
test pass in CI. - CodeQL and Gitleaks pass on the public repository.
- The clause engine scored 33.98% answerable-only token F1 and 77.05%
answerability balanced accuracy on a document-disjoint CUAD validation split.
The retrieval benchmark is synthetic. These are regression measurements, not
legal-accuracy evidence.
Known limits
- No OCR for scanned PDFs.
- No SSO, SCIM, MFA or enterprise directory integration.
- No iManage or NetDocuments adapter, provider ACL sync or ethical-wall mapping.
- No archive import, restore, encryption, signature or notarization.
- No multi-instance or high-availability mode.
- No independent security audit, penetration test or legal review.
- No guarantee of legal accuracy.
- No blinded legal-quality comparison with Legora or any commercial product.
- No live Slack or Teams tenant acceptance.
Read the security policy,
threat model,
verification record
and changelog.
Links
- Website: https://mehbul.github.io/counsel-workspace/
- Documentation: https://github.com/mehbul/counsel-workspace#readme
- Issues: https://github.com/mehbul/counsel-workspace/issues
- Security reports: https://github.com/mehbul/counsel-workspace/security/advisories/new
Counsel workspace is independent and not affiliated with, endorsed by or
sponsored by Legora or any commercial legal-AI provider. "Legora" is a trademark
of its respective owner. Nothing here is legal advice.
If this is useful, star the repository so other small practices can find it.