# klar. DMS Cockpit — sanitized architecture

Owner-built local software project by Marvin Kamp. This document describes code and design; it contains no private documents, credentials or production addresses.

## Problem

A document archive stores files, but practical work also needs case state, source provenance, review steps and a clear distinction between a prepared import and a confirmed archived document.

## Shape

Browser UI → Python service → local SQLite state

Python service → Paperless-ngx REST boundary

Scan service → source pages → explicit visual review → OCR → verified import → actual archive confirmation

The companion does not directly modify the Paperless database. Runtime data remains separate from the source repository.

## Engineering decisions

- The scanner has a shared exclusive lock; repeated status requests do not start another scan.
- Original pages retain SHA-256 source provenance. Review plans bind to a concrete version.
- A finished OCR operation is a different state from a confirmed Paperless import.
- Duplicate delivery and changed source versions require explicit handling.
- A local Windows deployment and a Linux guest separate device access from containerized archive services.
- Automated tests cover application logic. Simulator tests are not represented as proof of a real scanner operation.

## Skills demonstrated

Python, browser JavaScript, SQLite, REST integration, PowerShell, OCR workflow design, hashing, concurrency control, state modeling, Windows / Hyper-V deployment and testable operational boundaries.

## Publication boundary

Private runtime databases, mail, scans, personal case data, source documents and credentials are excluded. This page is a technical work sample, not a demonstration account or a claim that another installation can be deployed without configuration.
