> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suchi.page/llms.txt
> Use this file to discover all available pages before exploring further.

# suchi

> Document management as one Go binary. SQLite-first, plugin seams, drop-in for existing mobile clients.

**suchi** (Sanskrit *सूची*, "an index, a catalog, a list") is a document
management system: one Go binary, SQLite by default, content-addressed
storage, plugin seams at every layer, wire-compatible with existing
mobile clients so no bespoke app is needed.

<Warning>
  suchi is under active development. **Not for production use yet.** The
  API and schema are still moving. Track releases on
  [GitHub](https://github.com/suchi-dms/suchi/releases) — a `v1.0` tag
  is the stability signal.
</Warning>

## What it is

* **One binary.** No Postgres, no Redis, no Celery, no external
  services for the MVP. Idle RAM budget: \~100 MB.
* **Content-addressed storage.** Dedup for free; rename never touches
  bytes; backups are `blobs/` + a SQLite snapshot. See
  [backup and restore](/backup-restore) for the safe patterns.
* **Plugin at every layer.** Ingest, OCR, storage, search, auth,
  classification, export — every seam is an interface.
* **Lossless bundle import.** `suchi import paperless` brings tags,
  correspondents, custom fields verbatim from a compatible export
  bundle. Existing DMS mobile clients drive suchi's wire surface
  directly.
* **Johnny.Decimal as the default taxonomy.** Ships a starter tree
  on first boot; flat mode is available for migrators.
* **Local-first by default, every egress opt-in.** No telemetry,
  ever. See [privacy](/privacy).

## Where to go next

<CardGroup cols={2}>
  <Card title="Getting started" icon="rocket" href="/getting-started">
    Five-minute quickstart — docker compose or bare binary.
  </Card>

  <Card title="Importing a bundle" icon="file-import" href="/importer">
    `suchi import paperless` — verbatim metadata, dedup, --verify.
  </Card>

  <Card title="Configuration" icon="sliders" href="/config">
    Every env var + purpose. `PUBLIC_URL` is the only required one.
  </Card>

  <Card title="Supported file types" icon="file-lines" href="/formats">
    What ingests, what binary it needs, slim vs full image matrix.
  </Card>

  <Card title="HTTP API" icon="terminal" href="/api">
    Endpoints today + planned mobile-client compat surface.
  </Card>

  <Card title="Architecture" icon="layer-group" href="/architecture">
    Data flow, design principles, SQLite discipline, CAS.
  </Card>

  <Card title="Privacy & encryption" icon="lock" href="/privacy">
    What leaves the box (nothing). The encryption ladder. What
    suchi never logs.
  </Card>

  <Card title="Backup & restore" icon="box-archive" href="/backup-restore">
    What to back up, when it's safe to copy, and how to bring an
    instance back from bytes.
  </Card>

  <Card title="Alternatives" icon="scale-balanced" href="/comparison">
    Honest side-by-side vs Paperless-ngx, Papra, docspell.
  </Card>

  <Card title="Automations" icon="wand-magic-sparkles" href="/automations">
    Trigger→conditions→actions rules on document events.
  </Card>

  <Card title="Approvals" icon="user-check" href="/approvals">
    Human-in-the-loop review chains + timeouts.
  </Card>

  <Card title="Permissions" icon="users" href="/permissions">
    Groups + object ACLs. Household sharing without admin roles.
  </Card>

  <Card title="MCP" icon="plug" href="/mcp">
    Model Context Protocol tools: `search_documents`, `get_document`,
    `list_inbox`, `resolve_approval_task`, `create_share_link`.
  </Card>
</CardGroup>

## Status by phase

| Phase | What lands                                                                                                           | Status                                                  |
| ----- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| 0     | Skeleton, auth chain, durable outbox, /metrics                                                                       | ✅ Shipped                                               |
| 1     | Read-only archive, JD taxonomy, importer, UI                                                                         | ✅ Shipped                                               |
| 2     | Live ingest — fs-watch, upload, email, OCR pipeline                                                                  | ✅ Shipped                                               |
| 3     | Custom fields, LLM classifier, agent surface, setup wizard                                                           | ✅ Shipped                                               |
| 3.5   | Office-doc coverage (anydoc), MIME zip refinement                                                                    | ✅ Shipped                                               |
| 4     | Mobile compat surface: pagination, taxonomy CRUD, search, saved views, share links, OpenAPI, config file loader, MCP | ✅ Shipped (batch 8 repo-flip parked)                    |
| 4.5   | Deploy templates, `suchi demo`, docs (privacy, backup, comparison)                                                   | ✅ Shipped                                               |
| 5     | Automations engine + admin UI; approvals engine rebranded                                                            | ✅ Shipped                                               |
| 6     | Groups + object ACLs + Authorizer interface                                                                          | ✅ Shipped (doc-level enforced; taxonomy tail follow-up) |
| 7     | Custom-field editor + `/api/custom_fields/` CRUD (SPA admin panel pending — see task #140)                           | 🚧 API shipped; SPA screen pending                      |
| 8     | Reference migration (maintainer's own instance)                                                                      | Planned                                                 |
