lokale KI-Kommandozentrale · 100 % auf C:\Dizzik

the world of dizzi — Gesamtsystem-Karte

Ein lokales Lebens-Betriebssystem: Dizzi-Core orchestriert acht eigenständige Apps und eine Trading-Bot-Flotte. Alles läuft auf dem Gerät; externe Hilfe wird nur gezielt und nur mit Freigabe (HITL) dazugeholt. EIN Monorepo „dizz-network" (Variante B).

10Dienste (Core+8 Apps+TB)
10/10Health-Watch grün
~2.180Tests (Apps) + 400 TB
50Trading-Bots · 18 Strategien (dry_run · kleiner Teil seit 04.08. eigenes Geld, hinterm Gate)
1Repo · 0 Vendoring

Die Konstellation — der Core und seine Welt

Im Zentrum der Dizzi-Core, drumherum die acht Apps und der Trading-Bot — verbunden über ihre echten Vernetzungen (V2–V19). Fahre über einen Knoten, um seine Datenflüsse zu sehen; klick ihn für die Tiefe (Module, Verkettung, Sorgfaltskern). ○ Health-Watch

Core-Rückgrat · SSO · MCP · Health-Watch Archiv → Memory (V2–V11) Integration · Admin (V5/7/15–19) Geld · Steuer (V14)

Tipp: Klick einen Knoten — er öffnet sein Fenster mit Modulen, Verkettung & Sorgfaltskern · der Trading-Knoten zeigt zusätzlich seine komplette Sub-Architektur (6 Schichten).

01

Was das ist

Eine private, lokale KI-Lebens-Kommandozentrale für einen Solo-Entwickler — ernsthaft, sauber, ggf. verkäuflich. Jede App ist einzeln lauffähig und über drei Verträge nahtlos verbunden. Klick ein Prinzip für die Einordnung + Quellen ↗

Prinzip 1

Lokal zuerst

Daten + KI auf dem Gerät. Cloud nur gezielt, mit Freigabe. Sensible Apps verlassen das Gerät nie.

Prinzip 2

Eine Quelle

appkit + UI-Kit liegen einmal in packages/. Ein Edit wirkt netzweit — kein Vendoring.

Prinzip 3

Ehrlich vor aktiv

Zweifel offen benennen; Außenwirkung & Geld-Aktionen immer mit Mensch-im-Loop (HITL).

Verbindung

3 Verträge

Dizzi-ID (SSO) · App-Vertrag (Andocken) · MCP (Werkzeuge). Health-Watch über alles.

02

Laufzeit-Architektur

Von außen nach innen: dünne Schalen → der orchestrierende Core → die Apps → das geteilte Fundament → die lokale Datenschicht. Statisches Frontend wird von Disk serviert (Änderungen ohne Neustart), Python/Kit erst beim gegateten Neustart. Klick eine Schicht für die technische Tiefe ↗

ZugangTauri-Desktop · Browser-Shell — dünne Hüllen über dem headless Core  ·  Dizzi-ID SSO (Passkeys/WebAuthn, nur localhost, Step-up für Sensibles)
Hub · CoreDizzi-Core :8200 — KI-Orchestrator (lokale Modelle, JSON-Schema) · Panel-Registry (/api/panels) · MCP-Hub (alle App-Gateways an 1 Punkt) · Health-Watch (10 Ziele) · Master von SSO & Memory L1–L4
Apps8 Apps (News · Money · Communication · Creating · Memory · Management · Healthy · Admin) + Trading — je eigener FastAPI-Dienst, eigener Port, eigene Daten. Details unten ↓
DatenC:\Dizzik\dataapps/<id> (je-App-DBs) · db (dizzi+rag.sqlite) · models (Ollama ~12,8 GB) · id (SSO-Key im OS-Keystore) · _backups (täglich, WAL-safe)
03

Die Apps — anklicken für Details

Filtere nach Eigenschaft; klick eine Karte für Sorgfaltskern, Tests, Gotchas und KI-/Extern-Nutzung.

Alle ● nutzt lokale KI ↗ nutzt extern ▲ sensibel (lokal_only) Geld-System

Dizzi-Core

:8200

KI-Orchestrator, Panel-Registry, MCP-Hub, Health-Watch — der Dirigent.

● lokale KI (Orchestrator)Master appkit/Kit
  • Versteht deine Anweisungen & reicht sie an die richtige App
  • Wacht über die Gesundheit aller Dienste (10/10 grün)
  • Eine Anmeldung (Passkey) für das ganze System
Module & Datenflüsse
Orchestrator · Ollama/JSON-SchemaPanel-Registry · /api/panelsMCP-Hub · alle GatewaysHealth-Watch · 10 ZieleDizzi-ID · SSOMemory · L1–L4QV-Relays · V2–V19
Paket
app.main:app
Tests
164 (appkit separat)
Kern
zieht alle App-Gateways zusammen; schreibt nie eigenmächtig nach außen.
Lokale KI
Ollama-Orchestrator (JSON-Schema-Grammatik), Tool-Routing, Memory L1–L4.
Gotcha
--app-dir beim Start quoten (Leerzeichen).

Dizz News

:8216

Feeds/Volltext/Dedup · Sektor-Akkordeon, Zeitfilter und Watchlist (lebende Themen-Ordner → Memory).

● KI-ClusterMuster-UI
  • Bündelt all deine Nachrichtenquellen an einem Ort
  • Erkennt dieselbe Meldung über Quellen hinweg (kein Doppel)
  • Fasst lokal zusammen — nichts verlässt das Gerät
Module & Datenflüsse
Feeds · RSS/Atom/OPMLextract.py · Volltextcluster.py · DedupKI-Cluster · JSON-SchemaQuell-Gesundheit→ Memory V2
Paket
newsapp.main:app_factory
Tests
173
Kern
extract.py (Volltext) · cluster.py (Dedup), pro-Quelle-Gesundheit.
Lokale KI
Cluster/Zusammenfassung per JSON-Schema (Ollama, fail-safe).
Hinweis
Erste Vanilla-UI-Portierung = netzweites Design-Muster.

Dizz Money

:8210

Finanzmanager (Import, Budgets, EÜR, FX) — jetzt mit Bereich×Modul: Cashflow je Bereich.

Ledger-Sorgfaltskern● KI-Kategorien
  • Importiert Kontoauszüge & sortiert Buchungen automatisch
  • Budgets, Abo-Erkennung und EÜR auf einen Blick
  • Rechnet die Trading-Steuer read-only aus dem Bot
Module & Datenflüsse
Import · CSV/camt.053/MT940ledger.py · Minor-Units, InvarianteKI-KategorienBudgets · EÜR · FXtrading_steuer.py · V14↔ Admin V15/16/17→ Memory V9 (sensibel)
Paket
moneyapp.main:app_factory
Tests
349
Kern
ledger.py: int-Minor-Units, Balance-Invariante pro Währung (Summe=0).
Brücke
trading_steuer.py (read-only TB → Anlage KAP/SO).
Gotcha
venv-pytest.

Dizz Communication

:8218

Dizz Chat: alle Kanäle pro Kontakt in einem Verlauf · E-Mail/Smart-Contacts · Termin-Erkennung.

↗ WhatsApp/IG (Meta)↗ Telegram
  • Eine Inbox für E-Mail, WhatsApp & Telegram — pro Kontakt
  • Antworten gehen nur mit deiner Freigabe raus (HITL)
  • Termine aus Mails wandern in den Kalender
Module & Datenflüsse
E-Mail · JMAPUnified-Inbox · Smart-Contactsmeta.py · WhatsApp/IGtelegram.pyHITL-Senden · fail-closed↔ Admin-Kalender V5→ Memory V4
Paket
kommapp.main:app_factory
Tests
277
Kern
Senden = HITL fail-closed (Stufe „verifiziert"). Inbound on-demand.
Extern
Meta-Graph (dormant bis Token) · Telegram Bot-API (Long-Polling).
Gotcha
Empfänger intl. ohne +/0; freier Text nur im 24-h-Fenster.

Dizz Creating

:8214

Bild/Video/Musik-Suite, Job-Queue, LoRA/Kohya-Training.

● lokale Generierung● LoRA-Training
  • Erzeugt Bilder, Videos & Musik lokal auf dem Gerät
  • Trainiert eigene Stile (LoRA) mit Live-Fortschritt
  • Reicht fertige Assets an Social-Media weiter
Module & Datenflüsse
Bild/Video/Musik · GenerierungJob-QueueLoRA · KohyaConcat/TuningDAM · Asset-Verwaltung→ Memory V3
Paket
creatorapp.main:app_factory
Tests
301
Kern
Generierung + LoRA via Kohya (Live-Progress), Concat/Tuning.
Lokale KI
Bild-/Video-/Musik-Modelle lokal; Echtbetrieb-Modelle = Nutzer-Schritt.
Gotcha
venv-pytest.

Dizz Memory

:8212

Wissensspeicher (Vault + FTS5 + RAG) mit Bereichs-Achse, Chat-Popover und Rechtsklick-DzMenu.

● RAG (Ollama bge-m3)Vault
  • Dein durchsuchbares Zweitgehirn (Markdown-Vault)
  • Findet per Bedeutung, nicht nur per Stichwort (RAG)
  • Sammelt automatisch Wissen aus allen anderen Apps
Module & Datenflüsse
vault.py · pfad-sicher, purge_userSQLite/FTS5rag.py · sqlite-vec + bge-m3Wikilinks/GraphVault-ChatArchiv-Regeln · Quelle×Stromzentrales Archiv V2–V11
Paket
archivapp.main:app_factory (id memory)
Tests
198
Kern
rag.py (fail-safe, Dim-Check) + vault.py (pfad-sicher, purge_user).
Lokale KI
Embeddings bge-m3 (1024-dim) via Ollama, swappbar; Wikilinks/Graph/Vault-Chat.
Gotcha
RAG nur mit embed_fn; ui-kit = Allowlist-Route (Rename → Neustart).

Dizz Management

:8213

KI-Agenten-Verwaltung (Heimat der Agenten-Regie, ★ 03.07.) — erste Agenten-Domäne: Social-Media je Bereich (Kanäle/Bots/Posts · Redaktion = Gesamtplan). W2-Regie RG-1…RG-5 ✅ 13.07. (Ereignis-Spine · Regie-Scheduler · Autonomie-Treppe T0–T3 + Not-Aus · Eval-Harness/Eichung · Produktionsleiter-Abo; Live gegatet).

▲ hoch · lokal_onlyHITL veröffentlichen
  • Verwaltet deine KI-Agenten (Zielbild: Mission-Control, Agent-Inbox, Autonomie je Bereich)
  • Erste Domäne: Social-Media-Kanäle, Redaktionskalender, Composer, Auswertung
  • Veröffentlichen nur mit Freigabe — bleibt lokal
Module & Datenflüsse
Kanäle/BotsPosts/ZeitplanRedaktion-Panel · Composer/QueueCreating-EmpfangDzCharts↔ Admin V18→ Memory V8
Paket
managementapp.main:app_factory (id management)
Tests
39 (App-Suite)
Kern
Redaktion-Panel (Kalender/Composer/Queue/Auswertung) + DzCharts.
Sensitiv.
hoch ⇒ Inhalte nicht an Cloud-Modelle; Veröffentlichen = HITL.
Gotcha
venv-pytest + snapshot/eval.

Dizz Healthy

:8217

Gesundheit: Messwerte/Training/Supplements · großes Dashboard · BLE-Wearables (NIE Diagnose).

▲ höchst · lokal_only● KI: NIE Diagnose
  • Messwerte, Trainings & Supplements an einem Ort
  • Lokale KI-Hinweise — ausdrücklich niemals eine Diagnose
  • Höchst sensibel: die Daten verlassen das Gerät nie
Module & Datenflüsse
Messwerte · FHIR-nahTrainings · SupplementsKI-Hinweise · NIE DiagnoseDzCharts · Ringe/GaugeWearable-Slots · dormant→ Memory V10 (sensibel)
Paket
healthapp.main:app_factory (id health)
Tests
161
Kern
DzCharts (Ringe/Gauge/Scatter), Wearable-Slots (dormant), CSP voll-strikt.
Lokale KI
Hinweise rein lokal, ausdrücklich keine Diagnose.
Gotcha
:8217 (Autostart) nicht killen — isoliert auf :8317 verifizieren.

Dizz Admin

:8222

Vereint Plans+Admin+Leading, Bereich-first: der Bereichs-Typ schaltet die Module frei (docs/49).

▲ hochTresor Fernet-at-rest
  • Tresor, Projekte, Geschäft, Studium & Fristen vereint
  • Bereichs-Cockpit: Finanzen + Social + Wissen je Bereich
  • Geheimnisse verschlüsselt, mit Step-up-Schutz
Module & Datenflüsse
Bereich × Modultresor.py · Fernet, Step-upProjekte · RRULE/GanttGeschäft · Studium · FristenBereichs-Cockpit · V17/18/19← Money-EÜR V16↔ Memory V7/V19
Paket
adminapp.main:app_factory
Tests
289
Kern
Entität bereich × Module; tresor.py: Fernet, Key im OS-Keystore, Step-up.
Sensitiv.
verschlüsselt ⇒ nicht FTS-indexiert; Step-up (403) für Zugriff.
Gotcha
:8222 (Autostart) nicht killen → admin-proxy :8422 für Tests.

Dizz Trading

:8137

Krypto-Bot-Flotte (50 Bots · 18 Strategien; Kern dry_run, kleiner Teil seit 04.08.2026 mit eigenem Geld) — eigener Stack, Echtgeld-Gate hochsicher.

Geld-System · read-only↗ Anthropic-Recherche● lokale Lern-Ebenen
  • Eine Flotte von 50 Krypto-Bots über 18 Strategien (jede ≥1; davon 6 neu aus Katalog-Vorlagen anwendbar gemacht) — der Kern im Trockenlauf (dry_run); seit dem 04.08.2026 handelt ein kleiner Teil der Flotte mit eigenem Geld auf eigene Rechnung
  • Lernt selbstständig dazu, kann das Risiko aber nur senken
  • Echtgeld steht hinter demselben hochsicheren Menschen-Gate — kein fremdes Kapital, kein Angebot, keine Aussage über Erträge
  • Klapp auf für die komplette 6-Schichten-Sub-Architektur ↓
Stack
eigener FastAPI + Freqtrade-Engines (kein appkit), eigene venvs.
KI-Ebenen
HMM/Master/Anchored-Walk-Forward/Autopilot + MN-Sockel (CSM/Pairs/StatArb/MM, jetzt als Demo-Paper-Bots anlegbar) — lokal.
Recherche
Katalog: KI-Strategien → freqtrade-Engines (Anthropic + web_search, Token).
Sicherheit
Echtgeld nur hinter dem Menschen-Gate; Bot-CRUD/Restart nur gegated.
Gotcha
Sandbox blockt HTTP-DELETE/„/stop" → autorisierte Live-Calls brauchen Sandbox-Aus.
Sub-Architektur · 6 Schichten → 4 Ketten → 1 Kern-Prinzip Tiefenanalyse 25.06. · R1–R10 · 0 Akut-Bugs
Markt & Regime-Erkennungccxt/Bitget (OHLCV read-only) · tracker.py (Markt-Snapshot, Regime) · hmm.py (Gauss-HMM, kausal · Baum-Welch im Log-Space) · fundamental.py (Event-Risiko, fail-safe, key-frei)
↓ schreibt Bridge data/hmm_regime.json (venv-übergreifend) · regime · Konfidenz · lev_scale · exposure_scale ↓
Ausführung — freqtrade (je Bot ein Prozess)18 Engines (Spot + Futures-Short, lookahead-frei; 6 neu aus Vorlagen 26.06.) · MasterMeta-Bot (regime-schaltend, Hebel) · runner.py (Prozesse, sicherer Kill) · registry.py — 50 Bots (jede Strategie ≥1; Kern dry_run) → tradesv3_*.sqlite (Backend liest read-only, kann nie korrumpieren)
↓ Trades (read-only) ↓
KI-Lernen — das Gehirn (proposal-only, OOS-gegated)stats.py (Lern-DB, Trade-Reads) · meta + mn_learn (anchored Walk-Forward, OOS-Gate, Regressions-Gate) · MN-Sockel (CSM/Pairs/StatArb/MM, Sim) · master.py (Ensemble-Politik, PF-gated)
↓ Evidenz + Politik ↓
Autopilot (alle 6 h, risk-first, exception-isoliert)governor (de-risk ZUERST) · improve (Master-Tuning) · Auto-Upgrade (OOS + TF + opt-in, doppelt gegatet) · cull (Dauer-Verlierer) · Auto-Validate (proposal-only) · ↺ Rückkopplung → Bots ② (MERGE + Neustart) / Bridge
Quer- & Außen-Schichten — greifen über alle Ebenen
Risiko — kann Risiko nur senkenrisk.py (Hard-Limits, kill_switch) · concentration (Klumpen/HHI, read-only) · execution (Slippage-Tracking, M6-Prep)
Außen / Netz / Sicherheitvertrag/appkit (SSO·Vault·CSP·HITL) · mcp_tools (6 read-only Tools) · report (V11 → Memory, HITL) · transfer (Echtgeld-Gate: Auszahlungen bewusst blockiert)
① Regime-KetteMarkt → HMM/Fundamental → Bridge-Datei → MasterMeta liest live den Hebel/das Exposure (kausal, kein Lookahead).
② Lern-LoopTrades (read-only) → meta/mn_learn (anchored-WF, OOS) → master (Politik) → Autopilot → MERGE + Neustart der Bots.
③ Ensemble-Politikmaster.derive_policy verdichtet gerichtet (PF-gated) + MN-Sockel + HMM + Fundamental + Vol-Target → Bridge.
④ Risk-Overridegovernor greift quer bei Breach: alert · de-risk · pause — MasterMeta geschützt, debounced; Echtgeld nur hinterm Gate.
Kern-Prinzip: Jede autonome Aktion ist proposal-only, defensiv (senkt nur Risiko) oder hart OOS-/opt-in-gegatet — nichts erhöht autonom das Risiko, rollt Unvalidiertes aus oder korrumpiert Live-Daten. Einzige strukturelle Grenze = die Datenreife (die Gates warten korrekt auf Evidenz).
04

KI — wo lokal, wo extern

Die wichtigste Linie des Systems: Denken passiert lokal (Ollama). Externe Dienste werden nur gezielt, gegated und nur für nicht-sensible Aufgaben dazugeholt. Klick eine Linie für die technische Tiefe + Quellen ↗

● Lokal — Ollama, auf dem Gerät
🧠

Core-Orchestrator

JSON-Schema-Grammatik, Tool-Routing, Memory L1–L4.

Core :8200
🔎

Memory-RAG

Embeddings bge-m3 (1024-dim), semantische Suche, swappbar.

Memory :8212
🏷️

Per-App-KI

News-Cluster · Money-Kategorien · Health-Hinweise (NIE Diagnose) · Creating-Generierung.

News · Money · Healthy · Creating
📈

TB-Lern-Ebenen

HMM/Regime, Master-Ensemble, Autopilot, Walk-Forward — alles lokal gerechnet.

Trading :8137
höchst/hoch-Apps (Healthy, Management, Admin) ⇒ Inhalte verlassen das Gerät nie.
↗ Extern — nur gezielt, gegated / HITL

Anthropic API

TB-Strategie-Recherche (Katalog) + web_search · Claude Opus/Sonnet (kostet Token).

Trading :8137
✉️

Meta-Graph

WhatsApp/Instagram senden — Token im Tresor, Versand nur per HITL.

Communication :8218
📨

Telegram Bot-API

Long-Polling getUpdates, dormant bis Bot-Token.

Communication :8218
🏦

FRED · Bitget

Makro-Daten (TB-Fundamental) · Krypto-Marktdaten & Paper-Trades.

Trading :8137
Außenwirkung immer per App-HITL · am MCP-Gateway sind Schreib-/Krypto-/höchst-Tools nach außen gesperrt.
05

Ordnerstruktur (nach der Totalanalyse)

Ein Repo, klares Muster: pro App dieselben Ordner; Übergreifendes gebündelt; Erledigtes liegt in _archiv/ (Historie erhalten, aktueller Satz schlank). Klick die ▾-Knoten zum Auf-/Zuklappen.

  • dizz-network/
    • apps/<id>/ — 10× gleich (core·news·money·…·trading)
      • <pkg>app/ · static/ · tests/ Code · Frontend · Tests
      • docs/ · _workfiles/ App-Doku · Arbeits-Doku
      • README.md
    • packages/ appkit · ui-kit (Single-Source)
    • ops/ aktive Skripte + ops/_archiv/
    • _netzwerk/ LOTSE · SYSTEMDATENBLATT · diese Karte
    • tools/ · connectors/ · shell/ · templates/
Pro App identisch

Code · Frontend · Tests · App-Doku (docs/) · Einstieg (README.md). So weiß man sofort: hier App X, dort App Y, da das Übergreifende.

Daten getrennt

Code in dizz-network/, Laufzeit-Daten in C:\Dizzik\data\ — nichts vermischt, nichts in der Cloud.

Sonderfälle

Core: Workfiles an der Wurzel. Trading: eigener Stack in programm/, Wurzel zeigt nur dorthin.

06

Vernetzung & Infrastruktur

Querverbindungen als read-only Core-Relays: Daten bleiben bei der Quelle, best-effort, idempotent, keine Außenwirkung über die Kante. Klick eine Kachel für die technische Tiefe ↗

Cross-App V2–V19

Wissen & Belege

Apps taggen Wissen → Memory · Kalender Comm↔Admin · Money↔Trading-Steuer · Money↔Admin-Belege · Bereichs-Cockpit.

Health-Watch

10/10 grün

Core /api/health prüft alle Apps + Ollama. Live-Status, Soll alle true.

MCP-Gateway

Werkzeuge, eng

Je App /mcp (read-only/Bearer/Hochsicher-Gate); Core zieht alle zusammen. Schreib-Tools extern gesperrt.

Betrieb

Autostart, gegated

Tasks je Dienst (dizz-server.exe detached). Restarts mit Nutzer-Go + Backup-first.

Im Klartext: Jede App behält ihre eigenen Daten. Wer etwas teilt, schickt es über den Core (der mithört & protokolliert) — z. B. Wissen ins Memory, Termine in den Kalender, Steuer-Zahlen von Trading zu Money. Nichts wird dabei nach außen gepostet oder Geld bewegt — das braucht immer deine Freigabe. (Klick die Kachel „Cross-App V2–V19" für die ganze Kanten-Tabelle.)
07

Sicherheit, Datenschutz & Recht — im Detail

Defense-in-Depth, lokal verankert: vier Verteidigungs-Schalen vor jeder App, verschlüsselte Datenhaltung, gegateter KI-Außenkontakt, echte DSGVO-Löschung. Klick eine Kachel für Klartext-Übersicht, Einzelfaktoren (Module, Parameter, Header) und Standard-Konformität & Quellen. Quell-Code: appkit/{guard,headers,csp,defense,vault}.py · adminapp/tresor.py · docs/18/37.

① Verteidigung · Defense-in-Depth

Vier Schalen vor jeder App

Jede App verteidigt sich selbst — erkennt Angriffe und wehrt sie gestuft ab, ohne den lokalen Nutzer je auszusperren.

  • Bösartige Webseiten kommen nicht an die lokalen APIs (Rebinding/CSRF geblockt)
  • Scanner, Brute-Force & Einschleus-Versuche werden erkannt und gestuft gebremst
  • Du selbst (lokal) wirst nie automatisch ausgesperrt
Local-Guard (H1, appkit/guard.py) — Host-Header-Allowlist (127.0.0.1/localhost) + Origin-Prüfung auf schreibenden Methoden ⇒ blockt DNS-Rebinding & Browser-CSRF. Cookies SameSite=Lax + HttpOnly.
Security-Header (H-2, appkit/headers.py) — auf JEDER Antwort: X-Content-Type-Options: nosniff · Referrer-Policy: no-referrer · X-Frame-Options: SAMEORIGIN (Clickjacking); HTML zusätzlich Cache-Control: no-cache. Äußerste Middleware — stempelt auch Abweisungen.
CSP voll-strikt (appkit/csp.py, docs/37) — Per-Request-Nonce (secrets.token_urlsafe(16)), script-src 'self' 'nonce-…' blockt Inline-Skripte UND onclick=-Handler; dazu default-src 'self' · object-src 'none' · base-uri/frame-ancestors/form-action 'self' · keine externen CDNs. style-src behält bewusst 'unsafe-inline' (Style-Attribute sind kein Skript-XSS; Nonce gilt nicht für Attribute). Inline-Handler → DzActions (data-dz-act).
Dizz Defense (appkit/defense.py) — aktives Per-App-Immunsystem, 4 Schichten Sensorik→Detektion→Reaktion→Gedächtnis (DB-persistiert, überlebt Neustart, auditiert). Detektion: Köder-Pfade (RASP — /wp-login.php, /.env, /.git/config) · Injektions-Signaturen (SQLi/Traversal/XSS/Nullbyte) · Fenster-Zähler (Brute ≥6×401/403 · Scan ≥15×404 · Rate ≥240/min) · Last-Basislinie (EWMA, Robust-Z≥8). Lokal-Schonung: Loopback wird nie autonom gesperrt. Verbund-Immunität (F-DEF2): ein Treffer immunisiert alle Apps. KI-Triage (Ollama) erklärt — entscheidet nie.
S0beobachtenJournal
S1drosselnauto · 300 s
S2sperrenauto · 900 s ×4
S3Step-upauto
S4LockdownHITL
S5Not-AusHITL

S1–S3 autonom & reversibel (TTL, exponentiell bei Wiederholungstätern, Deckel 24 h) · S4–S5 nur mit Freigabe (HITL) — außer im „panik"-Modus. Ehrliche Grenze: volumetrische DDoS löst nur ein Edge-Pfad (Cloudflare/CrowdSec upstream) — diese Schicht beherrscht den L7-Anwendungs-Missbrauch.

② Zugang · Identität & Stufen

Eine Anmeldung, gestufte Rechte

Dizzi-ID (Passkey/WebAuthn, nur lokal) als zentrale Identität; sensible Aktionen verlangen eine zweite Bestätigung.

  • Ein Login fürs ganze System — per Passkey, ohne Passwort-Tipperei
  • Sensibles (Geld, Tresor) verlangt einen zusätzlichen Schritt (Step-up)
  • Ohne Anmeldung bleibt geschützt — nichts steht versehentlich offen
Stufenmodell: lokal (Standalone/localhost) < verifiziert (Passwort-scrypt oder Google mit Konto-Pinning) < hochsicher (TOTP-Step-up / WebAuthn). Fail-closed: Stufen-Pflicht-Routen verweigern ohne Login (403) — nichts steht „versehentlich offen".
Token-Sicherheit: Ed25519 (Algorithmus im Verifier gepinnt), PKCE Pflicht, Auth-Codes single-use/60 s, Refresh-Rotation mit Familien-Widerruf bei Reuse, DB-Secrets nur gehasht, alles auditiert.
Passkeys/WebAuthn: nur auf localhost (eine IP ist keine gültige RP-ID — H10); phishing-resistenter Step-up.
Lockout (H4): 5 freie Versuche, dann exponentielles Backoff (30 s ×2 je Fehlversuch, Deckel 1 h); TOTP-Replay gebannt (last_counter).
③ Datenressort · Tresor & Verschlüsselung

Wo & wie die Daten liegen

Geheimnisse verschlüsselt at-rest, Schlüssel ans Windows-Konto gebunden; sensible Apps rechnen rein lokal.

  • Token & Passwörter liegen verschlüsselt — nie im Klartext, nie im Backup lesbar
  • Tresor-Dokumente sind verschlüsselt und tauchen nicht in der Suche auf
  • Gesundheit/Admin verlassen das Gerät nie — keine Cloud-KI
Token-Tresor (appkit/vault.py, K2) — Dienst-Secrets (OAuth/API-Keys) Fernet-verschlüsselt in <data>/apps/<id>/vault.dat; der Schlüssel separat in vault.key, seit H2 DPAPI-gebunden (secrets_os, CurrentUser) ⇒ eine kopierte Datei ist auf fremdem Konto wertlos. API klein (put/get/delete/names) — names() zeigt nur Namen, Werte nur per gezieltem get. Nie in app_settings, nie im Repo.
Admin-Tresor (adminapp/tresor.py, hochsicher, GoBD-bewusst) — Dokument-Dateien im Vault <data>/apps/admin/vault/<user_id>/, die DB hält nur den relativen Pfad. Verschlüsselt-at-rest, Key im OS-Secret-Store (nie DB). Verschlüsselt ⇒ NICHT FTS-indexiert. Lese-Step-up (Dizzi-ID) ⇒ 403 ohne Freigabe. SHA-256-Dedupe, 50 MB-Limit.
Sensitivität-Routing (manifest.sensitivity + K2 ki_routing) — hoch/höchst-Apps (Healthy=höchst · Management/Admin=hoch) ⇒ KI lokal_only, Inhalte nie an Cloud-Modelle. Das MCP-Gateway sperrt Schreib-/Krypto-/höchst-Tools nach außen.
Lokal-first: alle Dienste binden an 127.0.0.1. Kein TLS auf Loopback — per RFC 8252 der akzeptierte Desktop-Weg; der Schutz trägt die OS-Integrität.
④ DSGVO · Datenrechte & Löschung

Auskunft, Export, „weg = weg"

Jede Tabelle folgt den Vertrags-Konventionen — Export & Löschung greifen netzweit ohne Per-App-Code.

  • Du kannst deine Daten exportieren und vollständig löschen lassen
  • Gelöscht heißt gelöscht — auch im Suchindex und im Vektor-Speicher
  • Daten bleiben bei der Quell-App; nichts wird heimlich dupliziert
Vertrags-Konventionen (appkit/db.py) — jede Tabelle mit UUID/user_id/Timestamps/Soft-Delete ⇒ DSGVO-Export, Lösch-Kaskade & Retention greifen ohne Per-App-Code.
on_delete-Hook (H-7, appkit 1.11.0) — Account-Löschung räumt app-eigene Artefakte; Memory hängt RagIndex.remove_user + MarkdownVault.purge_user ein ⇒ Markdown-Vault und RAG-Vektoren weg („weg = weg").
Daten bei der Quelle — die Querverbindungen (V2–V19) sind read-only Lesepfade und duplizieren nichts; sensible Ströme (Money/Health/Trading) reisen mit sensibel=True.
Datenrechte-Endpunkte (appkit-Vertrag, je App) — Export + Löschung, vollständig auditiert.
⑤ Recht · Haftung & Grenzen

Ehrliche Funktions-Grenzen

Tools, die in regulierte Bereiche reichen, sagen klar, was sie sind — und was nicht.

  • Steuer-Funktionen sind Schätzhilfen, keine Steuerberatung
  • Gesundheit gibt Hinweise — niemals eine Diagnose
  • Studium hilft beim Organisieren, ersetzt keine Fachberatung
Disclaimer sichtbar + im Export: Steuer = Schätztool (kein Filing) · Health = keine Diagnose · Studium = keine Beratung.
Export-Härtung csv_safe (appkit/csv_safe.py) — MD-/CSV-Injection-Schutz: führende = + - @ in Exporten werden entschärft.
GoBD-bewusst (Admin-Dokument-Vault) — Soft-Delete + Retention, nachvollziehbare Belegablage.
⑥ Ehrlich · Restrisiken (Gesetz 2)

Was wir nicht verhindern

Nichts beschönigt — diese Grenzen gelten bewusst und sind benannt, nicht versteckt.

Same-User-Malware = Game over — Code im selben Windows-Konto kann Dateien lesen, Tastatur mitschneiden, selbst hochsicher erlangen. DPAPI mildert die Datei-Exfiltration auf fremde Konten, schützt aber nicht vor Code im eigenen Konto. Gilt für jede lokale Desktop-Software.
Kein TLS auf Loopback — per RFC 8252 der akzeptierte Weg; der Schutz hängt an der OS-Integrität, nicht an Transportverschlüsselung.
Single-User-Annahme — Mehrnutzer-Betrieb erfordert den Stufe-3-Ausbau (geplant).
Volumetrische DDoS — stoppt nur ein Edge-Pfad (Cloudflare/CrowdSec upstream); die App-Schicht beherrscht den L7-Missbrauch.
Hub/Core App (normal) sensibel · lokal_only Geld-System geteilt / lokale KI externer Dienst