Skip to content

Roadmap

Nabeel Wasif edited this page Sep 29, 2026 · 2 revisions

Roadmap

What is open, and what has landed, drawn from the issues and CONTRIBUTING.md §3. Issue numbers are canonical: if this page and an issue disagree, the issue is right.


Where things stand

Released: v1.10.0 (2026-09-29). Eleven formats; batches, attachment expansion and mailboxes that round-trip as mailboxes; presets; four anonymisation methods with variants, vaults and restore; verified exports with reports; durable processing with an admission queue; chunked encryption and streaming reads; server-side search, RegEx and global rules; the Hush assistant; 25 AI providers including local models; a labelled corpus and a benchmark harness; label-driven releases. Everything shipped is in Release History.

Almost everything open is either depth on something that works or a claim that has not been measured.


Open

Measurement

Issue Why it matters
Run the first model benchmark #153 benchmark help wanted Run Haiku 4.5 and Sonnet 5 on the labelled corpus with pnpm bench:models, commit the results and charts, and write up what it found, including if the deterministic-first claim does not hold. The harness is done and no numbers exist yet.
Corpus and benchmarks (tracking) #144 benchmark testing The umbrella for the corpus (534 of 600 documents, not yet human-reviewed), scoring and model benchmarks.

Formats and fidelity

Issue Why it matters
PDF: preserve the text layer #40 help wanted The most leverage per line of code. A redacted page is rasterised today, which guarantees removal but loses selectable, searchable, accessible text, including everything never redacted. Content-stream surgery would keep it. It is hard across fonts and encodings, and nearly right means leaking, so it must land behind the same verification gate.
PST: Outlook archives #90 formats The form corporate email takes for archival and discovery. The same container→batch shape MBOX proved, behind an opaque binary format with no native Node parser.

Detection quality

Issue Why it matters
Non-English detection #43 help wanted Detectors (DOB, Account, street suffixes, name heuristics) and prompts are English-shaped. On a German, French or Japanese document it finds structured formats and little else, silently. A contribution for one language you speak is welcome on its own.

Testing

Issue Why it matters
Browser end-to-end tests #35 testing pnpm smoke covers the wiring over HTTP but never touches the editor. Wanted: Playwright per format that accepts and rejects on the canvas and in the inspector, draws a region, searches, makes a rule, exports, downloads, and asserts the accepted values are not in the bytes.

Accessibility and input

Issue Why it matters
A real screen-reader pass + contrast #42 accessibility help wanted The mechanical half has landed (labelled, focusable redactions; live regions for review and search; a shortcut sheet; a keyboard-reachable zoom slider). What remains cannot be done by reading code: whether reviewing this way is workable for someone who uses a screen reader daily, and a WCAG contrast audit.
Touch: draw a region with a finger #45 good first issue ux Region drawing uses mouse events. On a tablet the escape hatch for everything detection misses is missing. It needs pointer events and finger-sized handles on both the image and PDF canvases.

Known, not yet filed

  • Small XLSX files are intermittently misread by loadWorkbook (a buffer-pool offset bug), surfaced by the benchmark corpus. See Troubleshooting.
  • The upload panel's size message says "25 MB" while the enforced ceiling is 50 MiB.

Recently landed (since v1.1.0)

Issue Release
Batch download in original format; mailboxes rebuilt; provenance folders; >50-document batches #143 1.10.0
Model benchmarks and charts #59, #55 1.9.2–1.9.3
A labelled synthetic corpus and a scorer #57 1.9.1
Search, RegEx and global rules, Hush, shortcuts, word-level click #142 1.9.0
Sweep robust to concurrent deletes #140 1.8.0
OpenAI-compatible profiles, ChatGPT sign-in, local-model CI #126 1.8.0
Streaming I/O part 2: page-at-a-time model, ranged Office/PDF, streamed downloads #129 1.7.0
Chunked encryption and streaming I/O #102 1.6.0
A fake model provider for orchestration tests #30 1.6.1
OCR tests with a pinned model and geometry assertions #33 1.6.1
UI walkthrough fixes: multi-copy exports, Accept all vs Ignore, undo scope #121 1.5.0
Setup UX for large model catalogs, finishing the install #119 1.4.0
Bring your own AI provider #115 1.3.0
MinIO → RustFS #117 1.3.0
A changelog from fragments; release automation #105, #104 1.1.1–1.2.0
HTML email bodies as markdown #101 1.1.1
MBOX: a mailbox as a batch #88 1.1.0

Earlier work (formats, methods, batches, presets, reports, concurrency, the pre-1.0 hardening pass): Release History.


Deliberately not on the roadmap

Reasons in Contributing §2.

  • Accounts and auth. Fork it; ownership flows through requireDocument.
  • Telemetry that leaves the machine.
  • Vendor lock-in. A Vercel-only code path is a bug.
  • Compliance-named presets. Enforced at import.
  • Subscription sign-in where the vendor's terms forbid it (there is no Claude sign-in).

See also

Clone this wiki locally