{
    "erstellt_am": "2026-04-25T19:15:50+02:00",
    "sektionen": {
        "prozesse": {
            "label": "Prozesse",
            "count": 10,
            "url": "\/planung\/atlas\/prozesse\/",
            "icon": "P"
        },
        "schritte": {
            "label": "Prozessschritte",
            "count": 100,
            "url": "\/planung\/atlas\/schritte\/",
            "icon": "S"
        },
        "datenbank": {
            "label": "DB-Tabellen",
            "count": 46,
            "url": "\/planung\/atlas\/datenbank\/",
            "icon": "D"
        },
        "felder": {
            "label": "DB-Felder",
            "count": 357,
            "url": "\/planung\/atlas\/datenbank\/",
            "icon": "F"
        },
        "code_dateien": {
            "label": "Code-Dateien",
            "count": 13,
            "url": "\/planung\/atlas\/code\/",
            "icon": "C"
        },
        "code_klassen": {
            "label": "Klassen",
            "count": 9,
            "url": "\/planung\/atlas\/code\/",
            "icon": "K"
        },
        "code_funktionen": {
            "label": "Funktionen",
            "count": 14,
            "url": "\/planung\/atlas\/code\/",
            "icon": "f"
        },
        "uis": {
            "label": "UI-Routen",
            "count": 5,
            "url": "\/planung\/atlas\/uis\/",
            "icon": "U"
        },
        "security": {
            "label": "Security-Massnahmen",
            "count": 21,
            "url": "\/planung\/atlas\/security\/",
            "icon": "!"
        },
        "protokoll": {
            "label": "Protokoll-Regeln",
            "count": 17,
            "url": "\/planung\/atlas\/protokoll\/",
            "icon": "L"
        },
        "bedingungen": {
            "label": "Bedingungen",
            "count": 217,
            "url": "\/planung\/atlas\/bedingungen\/",
            "icon": "B"
        },
        "persistenz": {
            "label": "Persistenz-Specs",
            "count": 50,
            "url": "\/planung\/atlas\/persistenz\/",
            "icon": "P"
        },
        "gates": {
            "label": "Quality-Gates",
            "count": 500,
            "url": "\/planung\/atlas\/gates\/",
            "icon": "Q"
        },
        "zustaende": {
            "label": "Entity-Zustaende",
            "count": 6,
            "url": "\/planung\/atlas\/zustaende\/",
            "icon": "Z"
        },
        "fehlerkatalog": {
            "label": "Fehlerkatalog",
            "count": 30,
            "url": "\/planung\/atlas\/fehler\/",
            "icon": "X"
        },
        "nfr": {
            "label": "NFRs ISO 25010",
            "count": 15,
            "url": "\/planung\/nfr\/",
            "icon": "N"
        },
        "risiko": {
            "label": "Risiken ISO 31000",
            "count": 13,
            "url": "\/planung\/risiko\/",
            "icon": "R"
        },
        "dsgvo": {
            "label": "DSGVO-Merkmale",
            "count": 20,
            "url": "\/planung\/dsgvo\/",
            "icon": "§"
        },
        "audit": {
            "label": "Audit-Regeln",
            "count": 20,
            "url": "\/planung\/audit\/",
            "icon": "A"
        },
        "architektur": {
            "label": "Architektur",
            "count": 57,
            "url": "\/planung\/architektur\/",
            "icon": "M"
        },
        "glossar": {
            "label": "Glossar",
            "count": 33,
            "url": "\/planung\/glossar\/",
            "icon": "G"
        },
        "tests": {
            "label": "Testfaelle",
            "count": 15,
            "url": "\/planung\/tests\/",
            "icon": "T"
        },
        "normreport": {
            "label": "Normreport",
            "count": 31,
            "url": "\/planung\/atlas\/normreport\/",
            "icon": "%"
        }
    },
    "counts": {
        "prozesse": 10,
        "schritte": 100,
        "tabellen": 46,
        "felder": 357,
        "dateien": 13,
        "klassen": 9,
        "funktionen": 14,
        "uis": 5,
        "security": 21,
        "protokoll": 17,
        "bedingungen": 217,
        "persistenz": 50,
        "gates": 500,
        "zustaende": 6,
        "uebergaenge": 6,
        "mappings": 17,
        "fehlerkatalog": 30,
        "nfr": 15,
        "risiko": 13,
        "stakeholder": 13,
        "glossar": 33,
        "audit": 20,
        "dsgvo": 20,
        "architektur": 57,
        "usecases": 10,
        "akzeptanz": 14,
        "payload": 12,
        "tests": 15,
        "rollen": 9,
        "raci": 132,
        "kontrollfluss": 15,
        "laeufe": 5,
        "fluss_kanten": 6,
        "normreport": 31
    },
    "prozesse": [
        {
            "id": 31,
            "slug": "b2b_angebot",
            "name": "B2B-Angebot",
            "beschreibung": "Quelle: User-Definition 2026-04-24. Atomare Schritte, RACI pro Schritt, XOR-Gates vor jedem Follow-up.",
            "schritte": 18,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 36,
            "persistenz_count": 8,
            "gates_count": 90,
            "vollstaendigkeit": 50
        },
        {
            "id": 32,
            "slug": "b2b_abo_start",
            "name": "B2B-Abo-Start",
            "beschreibung": "Startet nach Annahme eines Angebots. Voraussetzung: Profil existiert.",
            "schritte": 5,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 12,
            "persistenz_count": 3,
            "gates_count": 25,
            "vollstaendigkeit": 50
        },
        {
            "id": 33,
            "slug": "monatsabo_zyklus",
            "name": "Monatsabo-Zahlungszyklus",
            "beschreibung": "Lauft monatlich pro aktivem Abonnement-Management.",
            "schritte": 7,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 16,
            "persistenz_count": 3,
            "gates_count": 35,
            "vollstaendigkeit": 50
        },
        {
            "id": 34,
            "slug": "mahnwesen",
            "name": "Mahnwesen",
            "beschreibung": "Drei Stufen nach DIN-Praxis: 1. freundliche Erinnerung, 2. Mahnung, 3. Inkasso-Vorstufe.",
            "schritte": 12,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 25,
            "persistenz_count": 6,
            "gates_count": 60,
            "vollstaendigkeit": 50
        },
        {
            "id": 35,
            "slug": "ebook_einmalkauf",
            "name": "Ebook-Einmalkauf",
            "beschreibung": "Voraussetzung: Produkt.abrechnungsmodell = einmalkauf.",
            "schritte": 11,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 22,
            "persistenz_count": 6,
            "gates_count": 55,
            "vollstaendigkeit": 50
        },
        {
            "id": 36,
            "slug": "kurs_durchfuehrung_planung",
            "name": "Kurs-Durchführung planen",
            "beschreibung": "Nach Abschluss dieses Prozesses koennen Teilnehmer gebucht werden.",
            "schritte": 8,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 16,
            "persistenz_count": 5,
            "gates_count": 40,
            "vollstaendigkeit": 50
        },
        {
            "id": 37,
            "slug": "modul_abschluss",
            "name": "Modul-Abschluss bestaetigen",
            "beschreibung": "Pflicht: bestaetigt_durch (Dozent) wenn abgeschlossen=true.",
            "schritte": 6,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 13,
            "persistenz_count": 3,
            "gates_count": 30,
            "vollstaendigkeit": 50
        },
        {
            "id": 38,
            "slug": "zertifikat_ausstellung",
            "name": "Zertifikats-Ausstellung",
            "beschreibung": "Pflicht: Bezug zu bezahlter Buchung.",
            "schritte": 8,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 17,
            "persistenz_count": 4,
            "gates_count": 40,
            "vollstaendigkeit": 50
        },
        {
            "id": 39,
            "slug": "dozenten_honorar",
            "name": "Dozenten-Honorar abrechnen",
            "beschreibung": "Zwingend: gutschrift_nr und leistungszeitraum gefuellt, paypal_transaction_id nach Auszahlung.",
            "schritte": 12,
            "ui_count": 0,
            "security_count": 0,
            "protokoll_count": 0,
            "bedingungen_count": 24,
            "persistenz_count": 7,
            "gates_count": 60,
            "vollstaendigkeit": 50
        },
        {
            "id": 40,
            "slug": "magic_code_login",
            "name": "Magic-Code Login",
            "beschreibung": "Code-Lebensdauer gepflegt im Magic-Code-Datensatz (gültig_bis). Login-Handler ruft session_regenerate_id bei erfolgreicher Authentifizierung.",
            "schritte": 13,
            "ui_count": 5,
            "security_count": 21,
            "protokoll_count": 17,
            "bedingungen_count": 36,
            "persistenz_count": 5,
            "gates_count": 65,
            "vollstaendigkeit": 100
        }
    ],
    "gaps": {
        "prozesse_unvollstaendig": [
            {
                "slug": "b2b_angebot",
                "name": "B2B-Angebot",
                "sektion": "ui"
            },
            {
                "slug": "b2b_angebot",
                "name": "B2B-Angebot",
                "sektion": "security"
            },
            {
                "slug": "b2b_angebot",
                "name": "B2B-Angebot",
                "sektion": "protokoll"
            },
            {
                "slug": "b2b_abo_start",
                "name": "B2B-Abo-Start",
                "sektion": "ui"
            },
            {
                "slug": "b2b_abo_start",
                "name": "B2B-Abo-Start",
                "sektion": "security"
            },
            {
                "slug": "b2b_abo_start",
                "name": "B2B-Abo-Start",
                "sektion": "protokoll"
            },
            {
                "slug": "monatsabo_zyklus",
                "name": "Monatsabo-Zahlungszyklus",
                "sektion": "ui"
            },
            {
                "slug": "monatsabo_zyklus",
                "name": "Monatsabo-Zahlungszyklus",
                "sektion": "security"
            },
            {
                "slug": "monatsabo_zyklus",
                "name": "Monatsabo-Zahlungszyklus",
                "sektion": "protokoll"
            },
            {
                "slug": "mahnwesen",
                "name": "Mahnwesen",
                "sektion": "ui"
            },
            {
                "slug": "mahnwesen",
                "name": "Mahnwesen",
                "sektion": "security"
            },
            {
                "slug": "mahnwesen",
                "name": "Mahnwesen",
                "sektion": "protokoll"
            },
            {
                "slug": "ebook_einmalkauf",
                "name": "Ebook-Einmalkauf",
                "sektion": "ui"
            },
            {
                "slug": "ebook_einmalkauf",
                "name": "Ebook-Einmalkauf",
                "sektion": "security"
            },
            {
                "slug": "ebook_einmalkauf",
                "name": "Ebook-Einmalkauf",
                "sektion": "protokoll"
            },
            {
                "slug": "kurs_durchfuehrung_planung",
                "name": "Kurs-Durchführung planen",
                "sektion": "ui"
            },
            {
                "slug": "kurs_durchfuehrung_planung",
                "name": "Kurs-Durchführung planen",
                "sektion": "security"
            },
            {
                "slug": "kurs_durchfuehrung_planung",
                "name": "Kurs-Durchführung planen",
                "sektion": "protokoll"
            },
            {
                "slug": "modul_abschluss",
                "name": "Modul-Abschluss bestaetigen",
                "sektion": "ui"
            },
            {
                "slug": "modul_abschluss",
                "name": "Modul-Abschluss bestaetigen",
                "sektion": "security"
            },
            {
                "slug": "modul_abschluss",
                "name": "Modul-Abschluss bestaetigen",
                "sektion": "protokoll"
            },
            {
                "slug": "zertifikat_ausstellung",
                "name": "Zertifikats-Ausstellung",
                "sektion": "ui"
            },
            {
                "slug": "zertifikat_ausstellung",
                "name": "Zertifikats-Ausstellung",
                "sektion": "security"
            },
            {
                "slug": "zertifikat_ausstellung",
                "name": "Zertifikats-Ausstellung",
                "sektion": "protokoll"
            },
            {
                "slug": "dozenten_honorar",
                "name": "Dozenten-Honorar abrechnen",
                "sektion": "ui"
            },
            {
                "slug": "dozenten_honorar",
                "name": "Dozenten-Honorar abrechnen",
                "sektion": "security"
            },
            {
                "slug": "dozenten_honorar",
                "name": "Dozenten-Honorar abrechnen",
                "sektion": "protokoll"
            }
        ],
        "tabellen_ohne_mutation": [
            {
                "name": "planung_akzeptanzkriterium",
                "kategorie": "meta",
                "zeilen_count": 14
            },
            {
                "name": "planung_architektur",
                "kategorie": "meta",
                "zeilen_count": 57
            },
            {
                "name": "planung_audit_regel",
                "kategorie": "meta",
                "zeilen_count": 20
            },
            {
                "name": "planung_bereich",
                "kategorie": "meta",
                "zeilen_count": 22
            },
            {
                "name": "planung_datei",
                "kategorie": "meta",
                "zeilen_count": 13
            },
            {
                "name": "planung_db_feld",
                "kategorie": "meta",
                "zeilen_count": 3
            },
            {
                "name": "planung_db_tabelle",
                "kategorie": "meta",
                "zeilen_count": 46
            },
            {
                "name": "planung_dsgvo_merkmal",
                "kategorie": "meta",
                "zeilen_count": 20
            },
            {
                "name": "planung_email_validierung",
                "kategorie": "meta",
                "zeilen_count": 10
            },
            {
                "name": "planung_entitaet_schritt_map",
                "kategorie": "meta",
                "zeilen_count": 17
            },
            {
                "name": "planung_entitaet_zustand",
                "kategorie": "meta",
                "zeilen_count": 6
            },
            {
                "name": "planung_fehlerkatalog",
                "kategorie": "meta",
                "zeilen_count": 30
            },
            {
                "name": "planung_funktion",
                "kategorie": "meta",
                "zeilen_count": 14
            },
            {
                "name": "planung_glossar",
                "kategorie": "meta",
                "zeilen_count": 33
            },
            {
                "name": "planung_klasse",
                "kategorie": "meta",
                "zeilen_count": 9
            },
            {
                "name": "planung_nfr",
                "kategorie": "meta",
                "zeilen_count": 15
            },
            {
                "name": "planung_normreport",
                "kategorie": "meta",
                "zeilen_count": 29
            },
            {
                "name": "planung_payload_schema",
                "kategorie": "meta",
                "zeilen_count": 12
            },
            {
                "name": "planung_prozess",
                "kategorie": "meta",
                "zeilen_count": 10
            },
            {
                "name": "planung_prozess_input",
                "kategorie": "meta",
                "zeilen_count": 3
            },
            {
                "name": "planung_prozess_kontrolle",
                "kategorie": "meta",
                "zeilen_count": 15
            },
            {
                "name": "planung_prozess_output",
                "kategorie": "meta",
                "zeilen_count": 52
            },
            {
                "name": "planung_prozess_rolle",
                "kategorie": "meta",
                "zeilen_count": 132
            },
            {
                "name": "planung_prozessschritt",
                "kategorie": "meta",
                "zeilen_count": 100
            },
            {
                "name": "planung_qualitaetsgate",
                "kategorie": "meta",
                "zeilen_count": 65
            },
            {
                "name": "planung_risiko",
                "kategorie": "meta",
                "zeilen_count": 13
            },
            {
                "name": "planung_rolle",
                "kategorie": "meta",
                "zeilen_count": 9
            },
            {
                "name": "planung_schritt_bedingung",
                "kategorie": "meta",
                "zeilen_count": 36
            },
            {
                "name": "planung_schritt_code",
                "kategorie": "meta",
                "zeilen_count": 19
            },
            {
                "name": "planung_schritt_crm",
                "kategorie": "meta",
                "zeilen_count": 1
            },
            {
                "name": "planung_schritt_dedup",
                "kategorie": "meta",
                "zeilen_count": 2
            },
            {
                "name": "planung_schritt_feld",
                "kategorie": "meta",
                "zeilen_count": 4
            },
            {
                "name": "planung_schritt_gate_aktion",
                "kategorie": "meta",
                "zeilen_count": 6
            },
            {
                "name": "planung_schritt_persistenz",
                "kategorie": "meta",
                "zeilen_count": 5
            },
            {
                "name": "planung_schritt_protokoll",
                "kategorie": "meta",
                "zeilen_count": 17
            },
            {
                "name": "planung_schritt_security",
                "kategorie": "meta",
                "zeilen_count": 21
            },
            {
                "name": "planung_schritt_ui",
                "kategorie": "meta",
                "zeilen_count": 5
            },
            {
                "name": "planung_stakeholder",
                "kategorie": "meta",
                "zeilen_count": 13
            },
            {
                "name": "planung_testfall",
                "kategorie": "meta",
                "zeilen_count": 15
            },
            {
                "name": "planung_usecase",
                "kategorie": "meta",
                "zeilen_count": 10
            },
            {
                "name": "planung_usecase_prozess",
                "kategorie": "meta",
                "zeilen_count": 10
            },
            {
                "name": "planung_zustand_uebergang",
                "kategorie": "meta",
                "zeilen_count": 6
            }
        ],
        "klassen_ohne_mapping": []
    }
}