LM-Studio-Matrix mit gemma-4-e4b: zwoelf Laeufe und vier Befunde

Skill 12.0.0 bis 12.2.0 und Adapter 2.0.0 bis 2.2.0.

Werkzeugfreigabe: Die Shell-Rechte des OpenCode-Adapters sind jetzt eine
Denylist wie beim Claude-Adapter statt einer Allowlist. Ausloeser war der
erste Qwen-Lauf, dessen einzige beide Werkzeugaufrufe an einer Pipeline
scheiterten. Kontrolltest belegt beide Richtungen: Get-ChildItem | Format-Table
laeuft durch, rm wird verweigert, die Datei bleibt bestehen.

Lokaler Betrieb: Der Preflight entlaedt alle Modelle vor jedem Lauf und laedt
den Kontext auf das Modellmaximum. Gemessen waren zuvor beide Modelle
gleichzeitig geladen - 168 MiB frei von 16,3 GB. Qwen 27B passt auf dieser
Karte nicht und wurde durch qwen3.5-9b ersetzt, in Q4_K_M wie Gemma.

Messinstrument: analyse-anforderungen.py erkennt Feldnamen in Markdown-
Fettschrift und Modulpraefixe in IDs. Der erste lokale Lauf mit Artefakten
wurde sonst mit null Anforderungen gezaehlt statt mit neun. Regressionsprobe
an vier Claude-Laeufen unveraendert.

Befunde: Der Standard-Ausgabeblock, mit dem Claude sieben Artefakte erzeugt,
liefert bei gemma-4-e4b null von sechs Laeufen ein Ergebnis - das Modell loest
den Pfad relativ zum Arbeitsverzeichnis auf. Ein Lauf startete alle sieben
vorgesehenen Rollen und lieferte neun formkonforme Anforderungen. Ein anderer
erzeugte sieben richtig benannte Dateien ohne eine einzige formkonforme
Anforderung. Und eine Shell-Umleitung schrieb an der Denylist vorbei in den
eingefrorenen Snapshot - gefunden vom Vorher/Nachher-Vergleich, nicht von der
Regel.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christoph Schwörer
2026-09-01 11:02:04 +02:00
co-authored by Claude Opus 5
parent 654339464e
commit 28e927013b
218 changed files with 20745 additions and 17 deletions
@@ -2,6 +2,8 @@
{
"id": "StRS-001",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Rollenbasierte, feingranulare Zugriffssteuerung",
"typ": "Sicherheit",
"belege": [
@@ -21,6 +23,8 @@
{
"id": "StRS-002",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Einschränkung von Rechten auf organisatorische Zuständigkeit (Filiale/Eigene Datensätze)",
"typ": "Sicherheit",
"belege": [
@@ -39,6 +43,8 @@
{
"id": "StRS-003",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Durchgängiger Verkaufsbelegprozess (Angebot bis Rechnung)",
"typ": "funktional",
"belege": [
@@ -57,6 +63,8 @@
{
"id": "StRS-004",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Anzahlungsrechnungen vor Auftragsabschluss",
"typ": "funktional",
"belege": [
@@ -74,6 +82,8 @@
{
"id": "StRS-005",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Nachvollziehbarer Lebenszyklus jedes Verkaufsbelegs",
"typ": "funktional",
"belege": [
@@ -91,6 +101,8 @@
{
"id": "StRS-006",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Eindeutige, lückenfreie Belegnummerierung je Mandant/Filiale",
"typ": "funktional",
"belege": [
@@ -108,6 +120,8 @@
{
"id": "StRS-007",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Ticket-/Vorgangsverwaltung im Kundenservice (Helpdesk)",
"typ": "funktional",
"belege": [
@@ -126,6 +140,8 @@
{
"id": "StRS-008",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Autorisierungspflicht für Ticketabschluss",
"typ": "Sicherheit",
"belege": [
@@ -143,6 +159,8 @@
{
"id": "StRS-009",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Bestandsführung für Artikel je Lagerort",
"typ": "funktional",
"belege": [
@@ -160,6 +178,8 @@
{
"id": "StRS-010",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Elektronischer Datenaustausch mit Lieferanten (EDI)",
"typ": "Schnittstelle",
"belege": [
@@ -179,6 +199,8 @@
{
"id": "StRS-011",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Web-Portal als Zugang für Kunden und Mitarbeiter (CentronNexus)",
"typ": "funktional",
"belege": [
@@ -197,6 +219,8 @@
{
"id": "StRS-012",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Duale API-Erreichbarkeit (Web Service und Direktverbindung)",
"typ": "Schnittstelle",
"belege": [
@@ -214,6 +238,8 @@
{
"id": "StRS-013",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Deutschsprachige Benutzerführung als Marktanforderung",
"typ": "nicht-funktional",
"belege": [
@@ -232,6 +258,8 @@
{
"id": "StRS-014",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Zeiterfassung als Abrechnungsgrundlage im Kundenservice",
"typ": "funktional",
"belege": [
@@ -250,6 +278,8 @@
{
"id": "SyRS-001",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Serverseitige Rechteprüfung gegen Gruppenmitgliedschaft",
"typ": "Sicherheit",
"belege": [
@@ -267,6 +297,8 @@
{
"id": "SyRS-002",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Sichtbarkeits-Scoping von Datensätzen anhand einschränkender Rechte",
"typ": "Sicherheit",
"belege": [
@@ -284,6 +316,8 @@
{
"id": "SyRS-003",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Bidirektionale Belegverknüpfung (Ursprung/Folge) über Objektreferenzen",
"typ": "funktional",
"belege": [
@@ -301,6 +335,8 @@
{
"id": "SyRS-004",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Unterstützung externer Objektreferenzen in der Belegkette",
"typ": "Schnittstelle",
"belege": [
@@ -318,6 +354,8 @@
{
"id": "SyRS-005",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Eindeutiger, endlicher Belegstatus als Systemzustand",
"typ": "Daten",
"belege": [
@@ -335,6 +373,8 @@
{
"id": "SyRS-006",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Nebenläufigkeitssichere Nummernvergabe",
"typ": "nicht-funktional (Zuverlässigkeit, ISO 25010: Reliability/Fault Tolerance)",
"belege": [
@@ -352,6 +392,8 @@
{
"id": "SyRS-007",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Änderungsprotokollierung an Verkaufsbelegen",
"typ": "Sicherheit (Nachvollziehbarkeit/Audit; ISO 25010: Security/Accountability)",
"belege": [
@@ -370,6 +412,8 @@
{
"id": "SyRS-008",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Statusabhängige Zusatzautorisierung beim Ticketabschluss",
"typ": "Sicherheit",
"belege": [
@@ -387,6 +431,8 @@
{
"id": "SyRS-009",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Atomare Bestandsfortschreibung bei Belegbuchung",
"typ": "Daten",
"belege": [
@@ -404,6 +450,8 @@
{
"id": "SyRS-010",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Partnerspezifische EDI-Importschnittstellen",
"typ": "Schnittstelle",
"belege": [
@@ -421,6 +469,8 @@
{
"id": "SyRS-011",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Getrennte Authentifizierungsdomäne für Web-Accounts",
"typ": "Sicherheit",
"belege": [
@@ -438,6 +488,8 @@
{
"id": "SyRS-012",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Austauschbarkeit der Datenzugriffsart pro Modul (Übertragbarkeit)",
"typ": "nicht-funktional (ISO 25010: Portabilität/Adaptability)",
"belege": [
@@ -455,6 +507,8 @@
{
"id": "SyRS-013",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Deutsch als verbindliche Standardsprache der Benutzeroberfläche",
"typ": "nicht-funktional (ISO 25010: Usability/Kompatibilität mit kultureller Erwartung)",
"belege": [
@@ -472,6 +526,8 @@
{
"id": "SyRS-014",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Passwortspeicherung als Hashwert",
"typ": "Sicherheit",
"belege": [
@@ -490,6 +546,8 @@
{
"id": "SyRS-015",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurierbare Mindestlänge für Passwörter",
"typ": "Sicherheit",
"belege": [
@@ -507,6 +565,8 @@
{
"id": "SwRS-001",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "SQL-Join-Implementierung der Rechteprüfung",
"typ": "Sicherheit",
"belege": [
@@ -525,6 +585,8 @@
{
"id": "SwRS-002",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Fail-Closed-Verhalten bei Rechteprüfungsfehlern",
"typ": "Sicherheit",
"belege": [
@@ -542,6 +604,8 @@
{
"id": "SwRS-003",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Vierwertige Sichtbarkeitsklassifikation im Helpdesk",
"typ": "Daten",
"belege": [
@@ -559,6 +623,8 @@
{
"id": "SwRS-004",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Objektart-Enum als Diskriminator für Belegtypen (CentronObjectKindNumeric)",
"typ": "Daten",
"belege": [
@@ -577,6 +643,8 @@
{
"id": "SwRS-005",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Datenmodell der Anzahlungsrechnung",
"typ": "Daten",
"belege": [
@@ -594,6 +662,8 @@
{
"id": "SwRS-006",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Enum-zu-UI-Text-Zuordnung für Belegstatus",
"typ": "Daten",
"belege": [
@@ -611,6 +681,8 @@
{
"id": "SwRS-007",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Compare-and-Swap-Update für Nummernkreis-Zähler",
"typ": "Daten",
"belege": [
@@ -629,6 +701,8 @@
{
"id": "SwRS-008",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Sperrung der Zeiterfassungsänderung nach Abrechnung [HYPOTHESE]",
"typ": "funktional",
"belege": [
@@ -646,6 +720,8 @@
{
"id": "SwRS-009",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Statusgesteuerte Zeitstempel-Rücksetzung (ClosedAt)",
"typ": "Daten",
"belege": [
@@ -663,6 +739,8 @@
{
"id": "SwRS-010",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Verkettung von Mengen- und Preisfortschreibung bei Wareneingang",
"typ": "Daten",
"belege": [
@@ -680,6 +758,8 @@
{
"id": "SwRS-011",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Namenskonventionsbasierte Auto-Registrierung von Logic-Implementierungen",
"typ": "Schnittstelle",
"belege": [
@@ -697,6 +777,8 @@
{
"id": "SwRS-012",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Separates Rechte-Datenmodell für Web-Accounts",
"typ": "Sicherheit",
"belege": [
@@ -714,6 +796,8 @@
{
"id": "SwRS-013",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "SHA-1-basierte Passwort-Hash-Funktion mit fester Kodierung",
"typ": "Sicherheit",
"belege": [
@@ -2,6 +2,8 @@
{
"id": "StRS-001",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Rollenbasierte Zugriffssteuerung für interne Benutzer",
"typ": "Sicherheit",
"belege": [
@@ -21,6 +23,8 @@
{
"id": "StRS-002",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Eingeschränkter Belegzugriff für Web-Portal-Kunden",
"typ": "Sicherheit",
"belege": [
@@ -39,6 +43,8 @@
{
"id": "StRS-003",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Filialbezogene Zugriffsbeschränkung (\"nur eigene Filiale\")",
"typ": "Sicherheit",
"belege": [
@@ -57,6 +63,8 @@
{
"id": "StRS-004",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Schutz der Administratoren-Rolle vor versehentlicher Änderung",
"typ": "Sicherheit",
"belege": [
@@ -74,6 +82,8 @@
{
"id": "StRS-005",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Nachvollziehbarkeit von Rechte- und Gruppenänderungen",
"typ": "Sicherheit",
"belege": [
@@ -92,6 +102,8 @@
{
"id": "StRS-006",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Durchgängige Belegkette vom Angebot bis zur Rechnung",
"typ": "funktional",
"belege": [
@@ -111,6 +123,8 @@
{
"id": "StRS-007",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Einheitliche Statusführung für alle Belegarten",
"typ": "funktional",
"belege": [
@@ -129,6 +143,8 @@
{
"id": "StRS-008",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Eindeutige, kollisionsfreie Belegnummernvergabe",
"typ": "funktional",
"belege": [
@@ -147,6 +163,8 @@
{
"id": "StRS-009",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Datenintegrität bei gleichzeitiger Bearbeitung von Belegen",
"typ": "Daten",
"belege": [
@@ -165,6 +183,8 @@
{
"id": "StRS-010",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Zahlungsstatus-Verwaltung mit rollenspezifischer Ausnahme",
"typ": "funktional",
"belege": [
@@ -182,6 +202,8 @@
{
"id": "StRS-011",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Elektronische Rechnung nach ZUGFeRD-Standard",
"typ": "Schnittstelle",
"belege": [
@@ -200,6 +222,8 @@
{
"id": "StRS-012",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Digitale Signatur von Dokumenten (C-Sign)",
"typ": "Sicherheit",
"belege": [
@@ -219,6 +243,8 @@
{
"id": "StRS-013",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Kundenseitige Angebotsannahme über Web-Portal ohne Login",
"typ": "funktional",
"belege": [
@@ -237,6 +263,8 @@
{
"id": "StRS-014",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "DSGVO-konforme Datenbereinigung und Löschung personenbezogener Daten",
"typ": "Sicherheit",
"belege": [
@@ -255,6 +283,8 @@
{
"id": "StRS-015",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Ticket-/Helpdesk-Verwaltung mit konfigurierbaren Status",
"typ": "funktional",
"belege": [
@@ -273,6 +303,8 @@
{
"id": "StRS-016",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Zeitbasierte Leistungsabrechnung (Timer-Fakturierung)",
"typ": "funktional",
"belege": [
@@ -291,6 +323,8 @@
{
"id": "StRS-017",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Nachvollziehbare Einkaufspreisführung im Lager",
"typ": "Daten",
"belege": [
@@ -308,6 +342,8 @@
{
"id": "StRS-018",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Modulare, lizenzgesteuerte Funktionsfreischaltung",
"typ": "nicht-funktional",
"belege": [
@@ -326,6 +362,8 @@
{
"id": "StRS-019",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Absicherung von System- und API-Zugängen",
"typ": "Sicherheit",
"belege": [
@@ -343,6 +381,8 @@
{
"id": "StRS-020",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Mandantenspezifisches Branding im Webportal",
"typ": "nicht-funktional",
"belege": [
@@ -360,6 +400,8 @@
{
"id": "SyRS-001",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Gruppenbasiertes Rechtemodell mit zentraler Prüffunktion",
"typ": "Sicherheit",
"belege": [
@@ -377,6 +419,8 @@
{
"id": "SyRS-002",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Deklarative Rechteprüfung auf API-Ebene (Authorization-Filter)",
"typ": "Sicherheit",
"belege": [
@@ -395,6 +439,8 @@
{
"id": "SyRS-003",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Vollständiger Ausschluss von WebAccounts von interner Belegeinsicht",
"typ": "Sicherheit",
"belege": [
@@ -412,6 +458,8 @@
{
"id": "SyRS-004",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zweistufige Rechteprüfung: allgemeines Recht + Filialabgleich",
"typ": "Sicherheit",
"belege": [
@@ -429,6 +477,8 @@
{
"id": "SyRS-005",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Geschützte Administratorengruppe mit eingeschränkter Änderungsmenge",
"typ": "Sicherheit",
"belege": [
@@ -446,6 +496,8 @@
{
"id": "SyRS-006",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Revisionssichere Protokollierung von Rechteänderungen",
"typ": "Sicherheit (Nachvollziehbarkeit, ISO 25010: Sicherheit/Accountability)",
"belege": [
@@ -463,6 +515,8 @@
{
"id": "SyRS-007",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Einheitliches Belegdatenmodell über alle Belegarten",
"typ": "Daten",
"belege": [
@@ -480,6 +534,8 @@
{
"id": "SyRS-008",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Nachverfolgung übernommener Belegpositionen (Forwarding)",
"typ": "Daten",
"belege": [
@@ -497,6 +553,8 @@
{
"id": "SyRS-009",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Statusabhängige Sperre von Zahlungsänderungen",
"typ": "funktional",
"belege": [
@@ -514,6 +572,8 @@
{
"id": "SyRS-010",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Kollisionsgeprüfte, atomare Nummernvergabe je Nummernkreis",
"typ": "Daten (Zuverlässigkeit, ISO 25010: Reliability)",
"belege": [
@@ -531,6 +591,8 @@
{
"id": "SyRS-011",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Mandanten-/filialspezifische Nummernkreis-Trennung",
"typ": "Daten",
"belege": [
@@ -549,6 +611,8 @@
{
"id": "SyRS-012",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Optimistische Sperrung über Concurrency-GUID und Versionsfolge",
"typ": "Daten (Zuverlässigkeit)",
"belege": [
@@ -566,6 +630,8 @@
{
"id": "SyRS-013",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Alternative Berechtigung für Zahlungseingangserfassung",
"typ": "Sicherheit",
"belege": [
@@ -583,6 +649,8 @@
{
"id": "SyRS-014",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Bedingte Erzeugung ZUGFeRD-konformer E-Rechnungen",
"typ": "Schnittstelle",
"belege": [
@@ -600,6 +668,8 @@
{
"id": "SyRS-015",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Verschlüsselte Speicherung von Signatur-Zugangsdaten",
"typ": "Sicherheit",
"belege": [
@@ -617,6 +687,8 @@
{
"id": "SyRS-016",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Tokenbasierter, login-freier Zugriff auf Web-Angebote",
"typ": "Schnittstelle",
"belege": [
@@ -634,6 +706,8 @@
{
"id": "SyRS-017",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Rechte- und lizenzabhängige Freischaltung der DSGVO-Bereinigungsfunktion",
"typ": "Sicherheit",
"belege": [
@@ -651,6 +725,8 @@
{
"id": "SyRS-018",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Unvollständige Implementierung der automatisierten DSGVO-Datenbereinigung",
"typ": "funktional",
"belege": [
@@ -668,6 +744,8 @@
{
"id": "SyRS-019",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurierbares, stammdatenbasiertes Ticket-Statusmodell",
"typ": "Daten",
"belege": [
@@ -685,6 +763,8 @@
{
"id": "SyRS-020",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Pessimistische Bearbeitungssperre und Sichtbarkeitssteuerung bei Tickets",
"typ": "funktional",
"belege": [
@@ -702,6 +782,8 @@
{
"id": "SyRS-021",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurationsgesteuerte Änderbarkeit des Fakturierungsdatums",
"typ": "funktional",
"belege": [
@@ -719,6 +801,8 @@
{
"id": "SyRS-022",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Historisierung des Artikeleinkaufspreises bei Lagerbuchung",
"typ": "Daten",
"belege": [
@@ -736,6 +820,8 @@
{
"id": "SyRS-023",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Lizenzbasierte Policy-Autorisierung auf API-Ebene",
"typ": "Sicherheit",
"belege": [
@@ -754,6 +840,8 @@
{
"id": "SyRS-024",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Strikte JWT-Bearer-Validierung für moderne API-Clients",
"typ": "Sicherheit",
"belege": [
@@ -771,6 +859,8 @@
{
"id": "SyRS-025",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Getrennte Authentifizierungskanäle für Desktop-Client und CentronNexus",
"typ": "Schnittstelle",
"belege": [
@@ -788,6 +878,8 @@
{
"id": "SyRS-026",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Kombinierbare, kumulative Rechteanforderungen auf Controller- und Action-Ebene",
"typ": "Sicherheit",
"belege": [
@@ -805,6 +897,8 @@
{
"id": "SyRS-027",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurierbares Mandanten-Branding im Webportal (BrandingConfig)",
"typ": "Portabilität (ISO 25010: Anpassbarkeit)",
"belege": [
@@ -822,6 +916,8 @@
{
"id": "SyRS-028",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Feste Serverzeitzone Europe/Berlin (Portabilität/Internationalisierung)",
"typ": "Portabilität (ISO 25010: Anpassbarkeit)",
"belege": [
@@ -839,6 +935,8 @@
{
"id": "SyRS-029",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Caching der Benutzerrechte zur Performance-Optimierung",
"typ": "Performance-Effizienz (ISO 25010)",
"belege": [
@@ -856,6 +954,8 @@
{
"id": "SyRS-030",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Containerisierte, selbstständige Server-Bereitstellung (Portabilität)",
"typ": "Portabilität (ISO 25010)",
"belege": [
@@ -873,6 +973,8 @@
{
"id": "SyRS-031",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Kommerzielle Abhängigkeit von DevExpress-Komponenten (Wartbarkeit)",
"typ": "Wartbarkeit (ISO 25010)",
"belege": [
@@ -891,6 +993,8 @@
{
"id": "SyRS-032",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Microsoft-SQL-Server als alleinige Datenhaltung mit gemischtem ORM-/Raw-SQL-Zugriff",
"typ": "Kompatibilität (ISO 25010)",
"belege": [
@@ -910,6 +1014,8 @@
{
"id": "SyRS-033",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Standardisierte Fehlerrückgabe über Result/Result\\<T\\> statt Exceptions",
"typ": "Wartbarkeit (ISO 25010)",
"belege": [
@@ -928,6 +1034,8 @@
{
"id": "SyRS-034",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Legacy-Datenbankschema mit historisch deutschen Tabellen-/Feldnamen",
"typ": "Wartbarkeit (ISO 25010)",
"belege": [
@@ -946,6 +1054,8 @@
{
"id": "SwRS-001",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Klasse AppRightsBL als zentrale Rechte-Fassade mit Session-Cache",
"typ": "Sicherheit",
"belege": [
@@ -963,6 +1073,8 @@
{
"id": "SwRS-002",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "SQL-Abfrage GetAllAppRightsFromUser (Sichtrus/Sichmemb-JOIN)",
"typ": "Daten",
"belege": [
@@ -980,6 +1092,8 @@
{
"id": "SwRS-003",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Klasse UserRightAuthorizationFilter (IAuthorizationFilter)",
"typ": "Sicherheit",
"belege": [
@@ -997,6 +1111,8 @@
{
"id": "SwRS-004",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode CanUserViewReceipt mit Fail-Fast für WebAccounts",
"typ": "Sicherheit",
"belege": [
@@ -1014,6 +1130,8 @@
{
"id": "SwRS-005",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode CanUserEditReceipt mit zweistufiger Prüfsequenz",
"typ": "Sicherheit",
"belege": [
@@ -1031,6 +1149,8 @@
{
"id": "SwRS-006",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Konstante Whitelist GetAssignableAdminRightI3Ds (38 Recht-IDs)",
"typ": "Sicherheit",
"belege": [
@@ -1048,6 +1168,8 @@
{
"id": "SwRS-007",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Protokollklasse AppRightLog mit Kind-Enum AppRightLogKind",
"typ": "Daten",
"belege": [
@@ -1065,6 +1187,8 @@
{
"id": "SwRS-008",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Abstrakte Klasse ReceiptBase mit Positions-Vertrag",
"typ": "Daten",
"belege": [
@@ -1082,6 +1206,8 @@
{
"id": "SwRS-009",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode GetReceiptForwardedInto mit Statusfilter",
"typ": "Daten",
"belege": [
@@ -1099,6 +1225,8 @@
{
"id": "SwRS-010",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode UpdateReceiptIsPaid mit Status- und Alternativrechtsprüfung",
"typ": "funktional",
"belege": [
@@ -1116,6 +1244,8 @@
{
"id": "SwRS-011",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode FindNextNumber mit iterativer Kollisionsprüfung",
"typ": "Daten",
"belege": [
@@ -1133,6 +1263,8 @@
{
"id": "SwRS-012",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode GetNextNumber mit bedingtem Update und Retry-Schleife",
"typ": "Daten (Zuverlässigkeit)",
"belege": [
@@ -1150,6 +1282,8 @@
{
"id": "SwRS-013",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methoden CreateNumberGroups und UpdateReceiptNumber (Mandant/Filiale/Vorlage)",
"typ": "Daten",
"belege": [
@@ -1168,6 +1302,8 @@
{
"id": "SwRS-014",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Versionsvalidierung in SaveReceipt (isFirstVersion/isCurrentVersion/isNextVersion)",
"typ": "Daten",
"belege": [
@@ -1185,6 +1321,8 @@
{
"id": "SwRS-015",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Bedingungsblock zur ZUGFeRD-PDF-Erzeugung im Report-Rendering",
"typ": "Schnittstelle",
"belege": [
@@ -1202,6 +1340,8 @@
{
"id": "SwRS-016",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Verschlüsselung von Zertifikat und Passwörtern in PdfSigningBL",
"typ": "Sicherheit",
"belege": [
@@ -1219,6 +1359,8 @@
{
"id": "SwRS-017",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Blazor-Komponente WebReceiptOverview mit Token-Routing und Branding-Injection",
"typ": "Schnittstelle",
"belege": [
@@ -1236,6 +1378,8 @@
{
"id": "SwRS-018",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Klasse DataSecurityBL: Statistikmethoden vollständig, Ausführungsmethode Stub",
"typ": "funktional",
"belege": [
@@ -1253,6 +1397,8 @@
{
"id": "SwRS-019",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Entität HelpdeskStateBase als Stammdaten-Tabelle",
"typ": "Daten",
"belege": [
@@ -1270,6 +1416,8 @@
{
"id": "SwRS-020",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Entität Helpdesk: Sperr-, Sichtbarkeits- und Hierarchiefelder",
"typ": "Daten",
"belege": [
@@ -1287,6 +1435,8 @@
{
"id": "SwRS-021",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode UpdateBillingDateIsEnabled im TimerBillingSettingsPageViewModel",
"typ": "funktional",
"belege": [
@@ -1304,6 +1454,8 @@
{
"id": "SwRS-022",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Methode UpdateArticlePurchasePriceThroughStockBooking (Haupt-/Nebenlager-Verzweigung)",
"typ": "Daten",
"belege": [
@@ -1321,6 +1473,8 @@
{
"id": "SwRS-023",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Klasse CentronHostedHandler (AuthorizationHandler<CentronHostedRequirement>)",
"typ": "Sicherheit",
"belege": [
@@ -1338,6 +1492,8 @@
{
"id": "SwRS-024",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "JWT-Bearer-Konfiguration mit vollständigen TokenValidationParameters",
"typ": "Sicherheit",
"belege": [
@@ -1355,6 +1511,8 @@
{
"id": "SwRS-025",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Registrierung AddCentronTicket() und Policy \"SecretKey\" mit SecretKeyRequirement",
"typ": "Sicherheit",
"belege": [
@@ -1373,6 +1531,8 @@
{
"id": "SwRS-026",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Architekturmuster BaseBL/DAOSession als Basis aller Fachlogikklassen",
"typ": "Wartbarkeit",
"belege": [
@@ -1390,6 +1550,8 @@
{
"id": "SwRS-027",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Rückgabetyp Result/Result\\<T\\> mit MessageCode-Enum",
"typ": "Wartbarkeit",
"belege": [
@@ -1408,6 +1570,8 @@
{
"id": "SwRS-028",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Enum CentronObjectKindNumeric mit Erweiterungsregel \"nur anhängen\"",
"typ": "Daten",
"belege": [
@@ -2,6 +2,8 @@
{
"id": "StRS-001",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Feingranulare, gruppenbasierte Rechtevergabe",
"typ": "funktional",
"belege": [
@@ -21,6 +23,8 @@
{
"id": "StRS-002",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Einschränkende Rechte zur Datensichtbarkeit (Eigene Daten / Eigene Filiale)",
"typ": "funktional",
"belege": [
@@ -39,6 +43,8 @@
{
"id": "StRS-003",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Einheitlicher Lebenszyklus für alle Belegarten",
"typ": "funktional",
"belege": [
@@ -57,6 +63,8 @@
{
"id": "StRS-004",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Nachvollziehbare Änderungshistorie je Beleg (Audit-Trail)",
"typ": "nicht-funktional",
"belege": [
@@ -75,6 +83,8 @@
{
"id": "StRS-005",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Online-Einsicht und -Annahme von Angeboten durch den Kunden",
"typ": "funktional",
"belege": [
@@ -93,6 +103,8 @@
{
"id": "StRS-006",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Rechtsverbindliche digitale Signatur bei Auftragserteilung",
"typ": "Sicherheit",
"belege": [
@@ -111,6 +123,8 @@
{
"id": "StRS-007",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Konfigurierbarer Verzicht auf Signaturpflicht",
"typ": "funktional",
"belege": [
@@ -130,6 +144,8 @@
{
"id": "StRS-008",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Abbildung wiederkehrender Serviceverträge mit automatischer Abrechnung",
"typ": "funktional",
"belege": [
@@ -149,6 +165,8 @@
{
"id": "StRS-009",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Kontingentverwaltung und -überwachung in Verträgen",
"typ": "funktional",
"belege": [
@@ -166,6 +184,8 @@
{
"id": "StRS-010",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Rechtegesteuerte Änderbarkeit des Belegdatums bei automatisierter Zeitabrechnung",
"typ": "funktional",
"belege": [
@@ -184,6 +204,8 @@
{
"id": "StRS-011",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Konfigurierbare Ticket-Status statt starrem Workflow",
"typ": "funktional",
"belege": [
@@ -201,6 +223,8 @@
{
"id": "StRS-012",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Schutz vor Löschung referenzierter Ticket-Status",
"typ": "funktional",
"belege": [
@@ -218,6 +242,8 @@
{
"id": "StRS-013",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Automatisierte Verarbeitung strukturierter Lieferantendokumente",
"typ": "funktional",
"belege": [
@@ -236,6 +262,8 @@
{
"id": "StRS-014",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Nicht jeder Lieferant unterstützt jeden Dokumenttyp",
"typ": "funktional",
"belege": [
@@ -253,6 +281,8 @@
{
"id": "StRS-015",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Alternative Anmeldung über unternehmensweite Microsoft-Identität (SSO)",
"typ": "Sicherheit",
"belege": [
@@ -271,6 +301,8 @@
{
"id": "StRS-016",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Feature- und mengenbasierte Lizenzierung einzelner Funktionen",
"typ": "funktional",
"belege": [
@@ -289,6 +321,8 @@
{
"id": "StRS-017",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Erkennbarkeit des aktiven Moduls auch bei minimiertem Ribbon",
"typ": "nicht-funktional",
"belege": [
@@ -307,6 +341,8 @@
{
"id": "SyRS-001",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zentrale Rechteprüfung vor jeder geschützten Operation",
"typ": "Sicherheit",
"belege": [
@@ -325,6 +361,8 @@
{
"id": "SyRS-002",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Datenfilterung nach Filial-/Eigentümerkontext bei einschränkenden Rechten",
"typ": "funktional",
"belege": [
@@ -343,6 +381,8 @@
{
"id": "SyRS-003",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Einheitliche Persistenzstruktur Kopf/Position je Belegart",
"typ": "Daten",
"belege": [
@@ -360,6 +400,8 @@
{
"id": "SyRS-004",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zweistufiger Speicherpfad über Legacy-Repositories",
"typ": "funktional",
"belege": [
@@ -377,6 +419,8 @@
{
"id": "SyRS-005",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Vollständige 1:1-Versionierung bei jeder Belegänderung",
"typ": "Daten",
"belege": [
@@ -394,6 +438,8 @@
{
"id": "SyRS-006",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Token-basierter, anonymer Web-Zugriff auf Belege",
"typ": "Sicherheit",
"belege": [
@@ -411,6 +457,8 @@
{
"id": "SyRS-007",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zustandsmaschine für den Web-Angebots-Lebenszyklus",
"typ": "funktional",
"belege": [
@@ -429,6 +477,8 @@
{
"id": "SyRS-008",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Signaturerzwingung als serverseitige Vorbedingung für Auftragsanlage",
"typ": "Sicherheit",
"belege": [
@@ -446,6 +496,8 @@
{
"id": "SyRS-009",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zeitgesteuerte automatische Fakturierung fälliger Verträge",
"typ": "funktional",
"belege": [
@@ -463,6 +515,8 @@
{
"id": "SyRS-010",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Vertragskontingent als abrechnungsrelevanter Zustand",
"typ": "Daten",
"belege": [
@@ -480,6 +534,8 @@
{
"id": "SyRS-011",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zentrale, nicht modul-lokale Rechtsquelle für Belegdatum-Änderbarkeit",
"typ": "Sicherheit",
"belege": [
@@ -497,6 +553,8 @@
{
"id": "SyRS-012",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Anwendungsweite Konfiguration statt Code-Konstanten für Sonderstatus",
"typ": "Daten",
"belege": [
@@ -514,6 +572,8 @@
{
"id": "SyRS-013",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Formatunabhängiger Dispatch über einheitliche Schnittstelle",
"typ": "Schnittstelle",
"belege": [
@@ -532,6 +592,8 @@
{
"id": "SyRS-014",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Fehlertolerante Teilverarbeitung von EDI-Dokumenten",
"typ": "Zuverlässigkeit",
"belege": [
@@ -549,6 +611,8 @@
{
"id": "SyRS-015",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Lizenzpflicht als Vorbedingung für alternative Authentifizierung",
"typ": "Sicherheit",
"belege": [
@@ -566,6 +630,8 @@
{
"id": "SyRS-016",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Eindeutige Benutzerzuordnung über unveränderlichen externen Identifier",
"typ": "Sicherheit",
"belege": [
@@ -583,6 +649,8 @@
{
"id": "SyRS-017",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Zeitlich befristete, aktivitätsabhängig verlängerte Sitzungen",
"typ": "Sicherheit",
"belege": [
@@ -600,6 +668,8 @@
{
"id": "SyRS-018",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Sichtbarkeit des aktiven UI-Kontexts unabhängig vom Ribbon-Zustand",
"typ": "nicht-funktional (ISO/IEC 25010: Benutzbarkeit – Erkennbarkeit der Bedienung)",
"belege": [
@@ -617,6 +687,8 @@
{
"id": "SyRS-019",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Schutz vor unbeabsichtigtem E-Mail-Versand an reale Kunden in Testumgebungen",
"typ": "nicht-funktional (ISO/IEC 25010: Sicherheit – Vertraulichkeit/Schutz vor Fehlbedienung)",
"belege": [
@@ -634,6 +706,8 @@
{
"id": "SwRS-001",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Rechtekonstanten als hierarchisch verschachtelte, versionsstabile Ganzzahlen",
"typ": "Daten",
"belege": [
@@ -651,6 +725,8 @@
{
"id": "SwRS-002",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Veraltete Rechte bleiben aus Kompatibilitätsgründen erhalten",
"typ": "Daten",
"belege": [
@@ -668,6 +744,8 @@
{
"id": "SwRS-003",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Redundante Rechteprüfung auf UI- und BL-Ebene",
"typ": "funktional",
"belege": [
@@ -685,6 +763,8 @@
{
"id": "SwRS-004",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "ReceiptBase als abstrakte Basisklasse mit Template-Kennzeichnung über Vorzeichen",
"typ": "Daten",
"belege": [
@@ -702,6 +782,8 @@
{
"id": "SwRS-005",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Belegstatus als geschlossenes Drei-Werte-Enum",
"typ": "Daten",
"belege": [
@@ -719,6 +801,8 @@
{
"id": "SwRS-006",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "WebReceiptState als erweitertes Zustandsmodell für den Web-Kanal",
"typ": "Daten",
"belege": [
@@ -736,6 +820,8 @@
{
"id": "SwRS-007",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Change-Request-Persistenz statt sofortiger Belegänderung",
"typ": "funktional",
"belege": [
@@ -754,6 +840,8 @@
{
"id": "SwRS-008",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Rechtekombination steuert erlaubte Änderungsarten je Beleg (AllowChangeQuantity, AllowChangeReceiptItemArticlePositionKind)",
"typ": "funktional",
"belege": [
@@ -771,6 +859,8 @@
{
"id": "SwRS-009",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Fehlschlag bei fehlenden Change-Requests trotz erfolgter Annahme",
"typ": "funktional",
"belege": [
@@ -788,6 +878,8 @@
{
"id": "SwRS-010",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Signaturpfad erzeugt zwei getrennte Benachrichtigungsmails (Kunde/Mitarbeiter)",
"typ": "funktional",
"belege": [
@@ -805,6 +897,8 @@
{
"id": "SwRS-011",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Zeitlich befristeter Signatur-Token mit konfigurierbarer Gültigkeitsdauer",
"typ": "Sicherheit",
"belege": [
@@ -822,6 +916,8 @@
{
"id": "SwRS-012",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Drei gleichwertige Erfassungsarten für die digitale Signatur",
"typ": "funktional",
"belege": [
@@ -839,6 +935,8 @@
{
"id": "SwRS-013",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "ReceiptContract erweitert ReceiptBase um vertragsspezifische Felder",
"typ": "Daten",
"belege": [
@@ -857,6 +955,8 @@
{
"id": "SwRS-014",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "SEPA-Mandatsreferenz als optionales Vertragsfeld",
"typ": "Daten",
"belege": [
@@ -874,6 +974,8 @@
{
"id": "SwRS-015",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "BillingDateIsEnabled als abgeleiteter, nicht persistierter UI-Zustand",
"typ": "funktional",
"belege": [
@@ -891,6 +993,8 @@
{
"id": "SwRS-016",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "UseBillingDate als übergeordnete Vorbedingung für BillingDateIsEnabled",
"typ": "funktional",
"belege": [
@@ -908,6 +1012,8 @@
{
"id": "SwRS-017",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Automatische Skalierung und Formatkonvertierung von Status-Icons",
"typ": "funktional",
"belege": [
@@ -925,6 +1031,8 @@
{
"id": "SwRS-018",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Referenzzählung über zwei unabhängige Entitäten vor Statuslöschung",
"typ": "funktional",
"belege": [
@@ -942,6 +1050,8 @@
{
"id": "SwRS-019",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Partial-Class-Organisation je Lieferantenformat",
"typ": "funktional",
"belege": [
@@ -959,6 +1069,8 @@
{
"id": "SwRS-020",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "OpenIdConnectAuthObject kapselt Claim-Zugriff typsicher",
"typ": "Sicherheit",
"belege": [
@@ -976,6 +1088,8 @@
{
"id": "SwRS-021",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Lizenzprüfung, Authentifizierungsstatus und Claim-Vorhandensein als geordnete Kette abweisender Vorbedingungen",
"typ": "Sicherheit",
"belege": [
@@ -993,6 +1107,8 @@
{
"id": "SwRS-022",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Ticket-Ablaufdatum-Aktualisierung mit Schreibreduktion (5-Minuten-Schwelle)",
"typ": "Performance-Effizienz",
"belege": [
@@ -1010,6 +1126,8 @@
{
"id": "SwRS-023",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Unterschiedliche Standard-Sitzungsdauer je Applikationstyp",
"typ": "Sicherheit",
"belege": [
@@ -1027,6 +1145,8 @@
{
"id": "SwRS-024",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Manuelles Nachzeichnen des Aktiv-Indikators als DevExpress-Workaround",
"typ": "nicht-funktional (ISO/IEC 25010: Benutzbarkeit)",
"belege": [
@@ -2,6 +2,8 @@
{
"id": "StRS-01",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Versionierte Kundenbelege statt Überschreiben",
"typ": "funktional",
"belege": [
@@ -21,6 +23,8 @@
{
"id": "StRS-02",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Stornierte Rechnungen bleiben als Beleg erhalten",
"typ": "funktional",
"belege": [
@@ -39,6 +43,8 @@
{
"id": "StRS-03",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Automatisierte Sammelfakturierung offener Lieferscheine/Aufträge",
"typ": "funktional",
"belege": [
@@ -57,6 +63,8 @@
{
"id": "StRS-04",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Vertragsbasierte wiederkehrende Abrechnung",
"typ": "funktional",
"belege": [
@@ -75,6 +83,8 @@
{
"id": "StRS-05",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Zeiterfassungsbasierte Abrechnung (TimerBilling)",
"typ": "funktional",
"belege": [
@@ -93,6 +103,8 @@
{
"id": "StRS-06",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Gruppenbasiertes Berechtigungsmodell (interne Benutzer)",
"typ": "Sicherheit",
"belege": [
@@ -111,6 +123,8 @@
{
"id": "StRS-07",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Administratorgruppe mit implizitem Vollzugriff",
"typ": "Sicherheit",
"belege": [
@@ -130,6 +144,8 @@
{
"id": "StRS-08",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Getrenntes Rechtemodell für Kundenportal-Zugänge",
"typ": "Sicherheit",
"belege": [
@@ -148,6 +164,8 @@
{
"id": "StRS-09",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Datenisolation im Kundenportal auf eigene Belege",
"typ": "Sicherheit",
"belege": [
@@ -166,6 +184,8 @@
{
"id": "StRS-10",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Zwei-Faktor-Authentifizierung für sensible Vorgänge",
"typ": "Sicherheit",
"belege": [
@@ -184,6 +204,8 @@
{
"id": "StRS-11",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Digitale PDF-Signatur von Dokumenten inkl. Zeitstempeldienst",
"typ": "funktional",
"belege": [
@@ -202,6 +224,8 @@
{
"id": "StRS-12",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Konfigurierbare Ticket-/Vorgangsstatus als Stammdaten",
"typ": "funktional",
"belege": [
@@ -219,6 +243,8 @@
{
"id": "StRS-13",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Sichtbarkeitsscoping von Tickets nach Zuständigkeit",
"typ": "Sicherheit",
"belege": [
@@ -236,6 +262,8 @@
{
"id": "StRS-14",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Artikel-Bestandsführung: Seriennummer vs. Menge",
"typ": "funktional",
"belege": [
@@ -253,6 +281,8 @@
{
"id": "StRS-15",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Automatische Übernahme kundenindividueller Finanzkonditionen",
"typ": "funktional",
"belege": [
@@ -270,6 +300,8 @@
{
"id": "StRS-16",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Automatisches Mahndatum für offene Rechnungen",
"typ": "funktional",
"belege": [
@@ -287,6 +319,8 @@
{
"id": "StRS-17",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Rollenbasierter Zugriffsschutz für Web-API-Endpunkte",
"typ": "Sicherheit",
"belege": [
@@ -305,6 +339,8 @@
{
"id": "StRS-18",
"ebene": "StRS",
"datei_ebene": "StRS",
"fremdabgelegt": false,
"titel": "Verschlüsselte Speicherung sensibler Zugangsdaten",
"typ": "Sicherheit",
"belege": [
@@ -322,6 +358,8 @@
{
"id": "SyRS-01",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Versionsverwaltung für Kundenbelege",
"typ": "funktional",
"belege": [
@@ -339,6 +377,8 @@
{
"id": "SyRS-02",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Historisierung der Barcode-Positionszuordnung bei Versionswechsel",
"typ": "Daten",
"belege": [
@@ -356,6 +396,8 @@
{
"id": "SyRS-03",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Storno-Prozess erzeugt neue Version mit Status „abgebrochen“",
"typ": "funktional",
"belege": [
@@ -373,6 +415,8 @@
{
"id": "SyRS-04",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Einheitlicher Belegstatus-Wertebereich für Kundenbelege",
"typ": "Daten",
"belege": [
@@ -390,6 +434,8 @@
{
"id": "SyRS-05",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Batch-Ermittlung abrechnungsfähiger Belege je Kunde/Stichtag",
"typ": "funktional",
"belege": [
@@ -407,6 +453,8 @@
{
"id": "SyRS-06",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Turnusberechnung für Vertragsabrechnung",
"typ": "funktional",
"belege": [
@@ -424,6 +472,8 @@
{
"id": "SyRS-07",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Auswahl des Zielbelegtyps für verdichtete Zeiterfassungen",
"typ": "funktional",
"belege": [
@@ -441,6 +491,8 @@
{
"id": "SyRS-08",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurierbare Änderbarkeit des Abrechnungsdatums bei TimerBilling",
"typ": "nicht-funktional (Sicherheit/Konfigurierbarkeit)",
"belege": [
@@ -459,6 +511,8 @@
{
"id": "SyRS-09",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Rechteprüfung über Gruppenzugehörigkeit mit Session-Cache",
"typ": "Sicherheit",
"belege": [
@@ -476,6 +530,8 @@
{
"id": "SyRS-10",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Aggregation der Rechte eines Benutzers aus allen zugeordneten Gruppen",
"typ": "funktional",
"belege": [
@@ -493,6 +549,8 @@
{
"id": "SyRS-11",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Administratorgruppe umgeht Einzelrechtprüfungen in bestimmten Modulen",
"typ": "Sicherheit",
"belege": [
@@ -511,6 +569,8 @@
{
"id": "SyRS-12",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Separates Rechtemodell für Web-Accounts",
"typ": "Sicherheit",
"belege": [
@@ -528,6 +588,8 @@
{
"id": "SyRS-13",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Serverseitige Filterung von Belegabfragen nach WebAccount-Kunde",
"typ": "Sicherheit",
"belege": [
@@ -546,6 +608,8 @@
{
"id": "SyRS-14",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "TOTP-Schlüsselverwaltung und serverseitige PIN-Validierung",
"typ": "Sicherheit",
"belege": [
@@ -563,6 +627,8 @@
{
"id": "SyRS-15",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Konfigurierbare PDF-Signatureinstellungen",
"typ": "funktional",
"belege": [
@@ -580,6 +646,8 @@
{
"id": "SyRS-16",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Änderung der Signatureinstellungen nur mit Administrationsrecht",
"typ": "Sicherheit",
"belege": [
@@ -597,6 +665,8 @@
{
"id": "SyRS-17",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "AES-Verschlüsselung von TSA-Zugangsdaten und Zertifikatspasswort",
"typ": "Sicherheit",
"belege": [
@@ -614,6 +684,8 @@
{
"id": "SyRS-18",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Ticket-/Vorgangsstatus als editierbare Stammdatentabelle",
"typ": "Daten",
"belege": [
@@ -631,6 +703,8 @@
{
"id": "SyRS-19",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Fünfstufiges Sichtbarkeits-Scoping für Tickets",
"typ": "Sicherheit",
"belege": [
@@ -648,6 +722,8 @@
{
"id": "SyRS-20",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Bestandsermittlung abhängig vom Artikel-Flag „BarcodeScanen“",
"typ": "Daten",
"belege": [
@@ -665,6 +741,8 @@
{
"id": "SyRS-21",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Übernahme kundenindividueller Finanzkonditionen bei Belegneuanlage",
"typ": "funktional",
"belege": [
@@ -682,6 +760,8 @@
{
"id": "SyRS-22",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Automatische Erinnerungsdatum-Berechnung für Rechnungen",
"typ": "funktional",
"belege": [
@@ -699,6 +779,8 @@
{
"id": "SyRS-23",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Attributbasierte Autorisierung von Web-API-Endpunkten mit 401/403-Semantik",
"typ": "Sicherheit",
"belege": [
@@ -716,6 +798,8 @@
{
"id": "SyRS-24",
"ebene": "SyRS",
"datei_ebene": "SyRS",
"fremdabgelegt": false,
"titel": "Unterstützung von Einzel-, ODER- und UND-Rechteprüfung auf API-Ebene",
"typ": "Sicherheit",
"belege": [
@@ -733,6 +817,8 @@
{
"id": "SwRS-01",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "AssetBL.CreateNewVersion inkrementiert Versionsfelder",
"typ": "funktional",
"belege": [
@@ -750,6 +836,8 @@
{
"id": "SwRS-02",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "AssetBase führt gemeinsame Versions- und Statusfelder",
"typ": "Daten",
"belege": [
@@ -767,6 +855,8 @@
{
"id": "SwRS-03",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Barcode-Historieneintrag übernimmt Versionsnummer der Belegposition",
"typ": "Daten",
"belege": [
@@ -784,6 +874,8 @@
{
"id": "SwRS-04",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "InvoiceBL.CancelInvoice implementiert Storno als Versionierung + Status 3",
"typ": "funktional",
"belege": [
@@ -801,6 +893,8 @@
{
"id": "SwRS-05",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "StateToStringConverter bildet State 1/2/3 auf Klartext ab",
"typ": "funktional",
"belege": [
@@ -818,6 +912,8 @@
{
"id": "SwRS-06",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "AutomaticFacturaBL Suchmethoden für abrechnungsfähige Belege",
"typ": "funktional",
"belege": [
@@ -835,6 +931,8 @@
{
"id": "SwRS-07",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "ContractBL.BillingIntervalKinds steuert Intervallberechnung",
"typ": "funktional",
"belege": [
@@ -852,6 +950,8 @@
{
"id": "SwRS-08",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "NamedQuery-Verknüpfung Vertragslaufzeit zu Rechnungs-/Gutschriftposition",
"typ": "Daten",
"belege": [
@@ -869,6 +969,8 @@
{
"id": "SwRS-09",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "TimerBillingSettingsPageViewModel.ReceiptKind löst Neuberechnung aus",
"typ": "funktional",
"belege": [
@@ -886,6 +988,8 @@
{
"id": "SwRS-10",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "UpdateBillingDateIsEnabled liest ReceiptSettings-Konfigurationsschalter",
"typ": "nicht-funktional (Sicherheit/Konfigurierbarkeit)",
"belege": [
@@ -903,6 +1007,8 @@
{
"id": "SwRS-11",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "AppRightsBL.HasUserRight nutzt Session-Cache",
"typ": "nicht-funktional (Performanz-Effizienz)",
"belege": [
@@ -920,6 +1026,8 @@
{
"id": "SwRS-12",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "GetAllAppRightsFromUser: Raw-SQL gegen Sichtrus/Sichmemb",
"typ": "Daten",
"belege": [
@@ -937,6 +1045,8 @@
{
"id": "SwRS-13",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "GetRightsFromCurrentUser aggregiert und dedupliziert Gruppenrechte",
"typ": "funktional",
"belege": [
@@ -954,6 +1064,8 @@
{
"id": "SwRS-14",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "CentronChecklistWebserviceBL: IsAdmin()-Bypass konkreter Endpunkte",
"typ": "Sicherheit",
"belege": [
@@ -971,6 +1083,8 @@
{
"id": "SwRS-15",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "UserRightsExt.IsAdmin prüft Gruppennamen statt Gruppen-ID",
"typ": "Sicherheit",
"belege": [
@@ -989,6 +1103,8 @@
{
"id": "SwRS-16",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "CheckWebRightsFromUser: SQL gegen WebAccountsRights",
"typ": "Daten",
"belege": [
@@ -1006,6 +1122,8 @@
{
"id": "SwRS-17",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "UserRightsExt.HasWebRight Extension-Methoden",
"typ": "funktional",
"belege": [
@@ -1023,6 +1141,8 @@
{
"id": "SwRS-18",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "InvoiceBL.GetInvoiceByFilter blockt fremde Kunden-I3D für WebAccounts",
"typ": "Sicherheit",
"belege": [
@@ -1040,6 +1160,8 @@
{
"id": "SwRS-19",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "Musterhafte IsWebAccountLogin-Prüfung in weiteren Beleg-BL-Klassen",
"typ": "Sicherheit",
"belege": [
@@ -1057,6 +1179,8 @@
{
"id": "SwRS-20",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "TwoFactorAuthenticationBL.ValidateAuthenticationPin nutzt GoogleAuthenticator",
"typ": "Sicherheit",
"belege": [
@@ -1074,6 +1198,8 @@
{
"id": "SwRS-21",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "NamedQueryEnums.PasswordManager für 2FA-Schlüsselverwaltung",
"typ": "Daten",
"belege": [
@@ -1091,6 +1217,8 @@
{
"id": "SwRS-22",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "PdfSigningSettings-DTO und GetPdfSigningSettings",
"typ": "Daten",
"belege": [
@@ -1108,6 +1236,8 @@
{
"id": "SwRS-23",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "SavePdfSigningSettings prüft Recht Administration.SETTINGS",
"typ": "Sicherheit",
"belege": [
@@ -1125,6 +1255,8 @@
{
"id": "SwRS-24",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "PdfSigningBL verschlüsselt Zertifikat, Zertifikatspasswort und TSA-Passwort",
"typ": "Sicherheit",
"belege": [
@@ -1142,6 +1274,8 @@
{
"id": "SwRS-25",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "HelpdeskState/HelpdeskStateBase Feldstruktur",
"typ": "Daten",
"belege": [
@@ -1159,6 +1293,8 @@
{
"id": "SwRS-26",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "ShowHelpdeskRight-Enum-Definition",
"typ": "Sicherheit",
"belege": [
@@ -1176,6 +1312,8 @@
{
"id": "SwRS-27",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "ArticleBL SQL-Fallunterscheidung BarcodeScanen",
"typ": "Daten",
"belege": [
@@ -1193,6 +1331,8 @@
{
"id": "SwRS-28",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "CustomerAssetBL.GetNewAsset übernimmt CustomerFinanceInfo",
"typ": "funktional",
"belege": [
@@ -1210,6 +1350,8 @@
{
"id": "SwRS-29",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "InvoiceBL.SetReminderDate berechnet ReminderDate ohne Persistierung",
"typ": "funktional",
"belege": [
@@ -1227,6 +1369,8 @@
{
"id": "SwRS-30",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "UserRightAuthorizationFilter: 401/403-Unterscheidung",
"typ": "Sicherheit",
"belege": [
@@ -1244,6 +1388,8 @@
{
"id": "SwRS-31",
"ebene": "SwRS",
"datei_ebene": "SwRS",
"fremdabgelegt": false,
"titel": "AnyUserRightAuthorizationFilter/AllUserRightsAuthorizationFilter: Fail-Closed bei leerer Liste",
"typ": "Sicherheit",
"belege": [