# klar. DMS Cockpit

Local companion for Paperless-ngx with case workflows, a scan studio and verified archive handoff. A sanitized architecture description explains the design without private documents or access details.

Classification: OWNER_BUILT_PRIVATE

Stack: Python, JavaScript, SQLite, Paperless-ngx REST, OCR, PowerShell, Windows / Hyper-V

## My contribution

Owner-built local companion for Paperless-ngx: Python service, SQLite state, browser interface and verified handoff paths. The published material presents architecture and engineering methods only.

## Problem

An archive stores documents, but the work around it needs additional state: what has been scanned, reviewed, recognized, assigned or actually archived? The cockpit connects those steps without equating OCR output with successful DMS import. Originals and page provenance need to remain traceable.

## Workflow

1. Authorized capture with a shared scanner lock
2. Preserve source pages and provenance
3. Review order and document boundaries
4. Bind OCR output to a concrete version
5. Wait for confirmation from the existing archive

## Engineering

### A companion with a clear boundary

A separate Python process manages cockpit state in SQLite. Paperless is accessed through REST rather than direct database writes. This makes it clear which system owns a state and which step requires confirmation across an external boundary.

### Version, hash and human review

Scan and import paths use source provenance and a concrete review version. Changes to page order or document boundaries are therefore not silent modifications to an allegedly finished document. Partial records and uncertainty remain explicit.

### Separate device access from archive operations

The documented deployment separates Windows device access, local tools and the containerized archive service in a Linux guest. Shared locks protect the scanner from competing jobs. A simulator test is not presented as proof of real paper capture.

## Decisions

- Track preparation, OCR and actual archive confirmation as different states.
- Keep private documents, databases and credentials out of the source repository and public portfolio.
- Handle repeated handoff and changed review versions explicitly to avoid silent duplicate imports.

## Evidence and boundaries

- Sanitized architecture description covering boundaries, state flow and the technologies used.
- Owner-built code and automated checks for cases, locks, provenance and synchronization state.

No real documents, mail, scans, cases or production access form part of this reference. This case study is not a public demo of the private archive.

https://docs.mk1.rocks/en/references/klar-dms-cockpit/

Marvin Kamp · 25.10.2026
