feat: Betriebsrats-Compliance — BAG-Ingestion Script + BV-Template
1. BAG-Urteile Ingestion Script (21 kuratierte Urteile zu §87 BetrVG) - Microsoft 365, SAP ERP, E-Mail, Standardsoftware, Video, SaaS/Cloud - 14 erfolgreich ingestiert (4.726 Chunks in bp_compliance_datenschutz) 2. Betriebsvereinbarung Template (6. Document Template) - SQL-Migration mit 13 Sektionen (A-M), ~30 Placeholders - Conditional Blocks fuer KI-Systeme, Video, HR - Python-Generator mit automatischer TOM-Befuellung Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
284
control-pipeline/scripts/ingest_bag_urteile.py
Normal file
284
control-pipeline/scripts/ingest_bag_urteile.py
Normal file
@@ -0,0 +1,284 @@
|
||||
"""Ingest BAG (Bundesarbeitsgericht) court decisions into RAG.
|
||||
|
||||
Downloads PDFs from bundesarbeitsgericht.de and uploads them to the
|
||||
bp_compliance_datenschutz Qdrant collection via the RAG-Service API.
|
||||
|
||||
These decisions are curated for IT/KI-Mitbestimmung relevance (§87 BetrVG).
|
||||
|
||||
Usage:
|
||||
python scripts/ingest_bag_urteile.py [--rag-url https://macmini:8097] [--dry-run]
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
|
||||
import httpx
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Curated BAG decisions for IT/AI works council co-determination
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
BAG_DECISIONS = [
|
||||
# --- M365 / Copilot / Standardsoftware ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-20-21/",
|
||||
"case_number": "1 ABR 20/21",
|
||||
"date": "2022-03-08",
|
||||
"subject": "Microsoft Office 365 — Mitbestimmung",
|
||||
"keywords": ["Microsoft 365", "Standardsoftware", "Ueberwachung", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abn-36-18/",
|
||||
"case_number": "1 ABN 36/18",
|
||||
"date": "2018-10-23",
|
||||
"subject": "Excel / Standardsoftware — keine Geringfuegigkeitsschwelle",
|
||||
"keywords": ["Excel", "Standardsoftware", "Geringfuegigkeit", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-45-11/",
|
||||
"case_number": "1 ABR 45/11",
|
||||
"date": "2012-09-25",
|
||||
"subject": "SAP ERP im Personalwesen",
|
||||
"keywords": ["SAP", "ERP", "Personalwesen", "Verhaltenskontrolle", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-31-19/",
|
||||
"case_number": "1 ABR 31/19",
|
||||
"date": "2021-01-27",
|
||||
"subject": "E-Mail-Kommunikationssoftware — Mitbestimmung",
|
||||
"keywords": ["E-Mail", "Kommunikation", "Software", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-13-17/",
|
||||
"case_number": "1 ABR 13/17",
|
||||
"date": "2019-07-09",
|
||||
"subject": "IT-System fuer Mitarbeiterbefragung",
|
||||
"keywords": ["Mitarbeiterbefragung", "Feedback", "technische Einrichtung", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-16-23/",
|
||||
"case_number": "1 ABR 16/23",
|
||||
"date": "2024-07-16",
|
||||
"subject": "Headset-System — Geraetenutzungsdaten",
|
||||
"keywords": ["Headset", "Geraetenutzung", "Ueberwachung", "§87 BetrVG"],
|
||||
},
|
||||
# --- Ueberwachung, Social, Drittplattformen ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-7-15/",
|
||||
"case_number": "1 ABR 7/15",
|
||||
"date": "2016-12-13",
|
||||
"subject": "Facebook-Seite — indirekte Leistungsueberwachung",
|
||||
"keywords": ["Facebook", "Social Media", "Besucherbeitraege", "Ueberwachung", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-43-12/",
|
||||
"case_number": "1 ABR 43/12",
|
||||
"date": "2013-12-10",
|
||||
"subject": "Google Maps — indirekte Ueberwachung / Definition Ueberwachung",
|
||||
"keywords": ["Google Maps", "Routenplaner", "indirekte Ueberwachung", "Definition", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-68-13/",
|
||||
"case_number": "1 ABR 68/13",
|
||||
"date": "2015-07-21",
|
||||
"subject": "Ueberwachung durch technische Einrichtung eines Dritten (SaaS/Cloud)",
|
||||
"keywords": ["Drittsystem", "SaaS", "Cloud", "Ueberwachung", "§87 BetrVG"],
|
||||
},
|
||||
# --- Video, Belastung, Leistungskennzahlen ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-78-11/",
|
||||
"case_number": "1 ABR 78/11",
|
||||
"date": "2012-12-11",
|
||||
"subject": "Videoueberwachung — Grundsatzentscheidung",
|
||||
"keywords": ["Videoueberwachung", "Kamera", "Arbeitsplatz", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-46-15/",
|
||||
"case_number": "1 ABR 46/15",
|
||||
"date": "2017-04-25",
|
||||
"subject": "Belastungsstatistik — dauerhafte Kennzahlenueberwachung",
|
||||
"keywords": ["Belastungsstatistik", "Kennzahlen", "Analytics", "Persoenlichkeitsrecht", "§87 BetrVG"],
|
||||
},
|
||||
# --- Negative / abgrenzende Faelle ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-32-16/",
|
||||
"case_number": "1 ABR 32/16",
|
||||
"date": "2017-12-19",
|
||||
"subject": "Anti-Terror-Listen — keine Mitbestimmung",
|
||||
"keywords": ["Anti-Terror", "Sanktionsliste", "keine Mitbestimmung", "Abgrenzung", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-22-21/",
|
||||
"case_number": "1 ABR 22/21",
|
||||
"date": "2022-09-13",
|
||||
"subject": "Elektronische Arbeitszeiterfassung — Initiativrecht",
|
||||
"keywords": ["Arbeitszeiterfassung", "Initiativrecht", "digitale Systeme", "§87 BetrVG"],
|
||||
},
|
||||
# --- Historische Grundsatzentscheidungen ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-43-81/",
|
||||
"case_number": "1 ABR 43/81",
|
||||
"date": "1983-12-06",
|
||||
"subject": "Grundsatz technische Ueberwachung — Eignung genuegt",
|
||||
"keywords": ["Grundsatz", "Eignung", "technische Einrichtung", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-23-82/",
|
||||
"case_number": "1 ABR 23/82",
|
||||
"date": "1984-09-14",
|
||||
"subject": "Erste Grundlinie IT-Systeme",
|
||||
"keywords": ["IT-System", "Grundlinie", "technische Einrichtung", "§87 BetrVG"],
|
||||
},
|
||||
# --- E-Mail / Internet ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-46-10/",
|
||||
"case_number": "1 ABR 46/10",
|
||||
"date": "2012-02-07",
|
||||
"subject": "Internet- und E-Mail-Nutzung — Kommunikationsdaten",
|
||||
"keywords": ["Internet", "E-Mail", "Kommunikationsdaten", "Auswertung", "§87 BetrVG"],
|
||||
},
|
||||
# --- HR / Bewertungssysteme ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-40-07/",
|
||||
"case_number": "1 ABR 40/07",
|
||||
"date": "2008-07-22",
|
||||
"subject": "Beurteilungssysteme — §94/§95 BetrVG",
|
||||
"keywords": ["Beurteilung", "Bewertungssystem", "HR", "§94 BetrVG", "§95 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-16-07/",
|
||||
"case_number": "1 ABR 16/07",
|
||||
"date": "2008-03-18",
|
||||
"subject": "Personalfrageboegen — Bewertung",
|
||||
"keywords": ["Personalfragebogen", "Bewertung", "HR-Tools", "§94 BetrVG"],
|
||||
},
|
||||
# --- Video / physische Ueberwachung ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-21-03/",
|
||||
"case_number": "1 ABR 21/03",
|
||||
"date": "2004-06-29",
|
||||
"subject": "Videoueberwachung Arbeitsplatz",
|
||||
"keywords": ["Video", "Kamera", "Arbeitsplatz", "Ueberwachung", "§87 BetrVG"],
|
||||
},
|
||||
# --- Zustaendigkeit ---
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-2-05/",
|
||||
"case_number": "1 ABR 2/05",
|
||||
"date": "2006-05-03",
|
||||
"subject": "Zustaendigkeit Betriebsrat bei konzernweiten Tools",
|
||||
"keywords": ["Zustaendigkeit", "Konzern", "Gesamtbetriebsrat", "§87 BetrVG"],
|
||||
},
|
||||
{
|
||||
"url": "https://www.bundesarbeitsgericht.de/entscheidung/1-abr-58-04/",
|
||||
"case_number": "1 ABR 58/04",
|
||||
"date": "2006-03-28",
|
||||
"subject": "Mitbestimmung bei Einfuehrung technischer Systeme",
|
||||
"keywords": ["Systemeinführung", "technische Systeme", "Mitbestimmung", "§87 BetrVG"],
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def normalize_case_number(case_number: str) -> str:
|
||||
"""Normalize case number for use as regulation_id."""
|
||||
return re.sub(r"[^a-z0-9]", "_", case_number.lower()).strip("_")
|
||||
|
||||
|
||||
def download_decision(url: str, client: httpx.Client) -> bytes:
|
||||
"""Download a BAG decision page as HTML."""
|
||||
resp = client.get(url, follow_redirects=True)
|
||||
resp.raise_for_status()
|
||||
return resp.content
|
||||
|
||||
|
||||
def upload_to_rag(
|
||||
file_bytes: bytes,
|
||||
filename: str,
|
||||
metadata: dict,
|
||||
rag_url: str,
|
||||
client: httpx.Client,
|
||||
) -> dict:
|
||||
"""Upload a document to the RAG service."""
|
||||
files = {"file": (filename, file_bytes, "text/html")}
|
||||
data = {
|
||||
"collection": "bp_compliance_datenschutz",
|
||||
"data_type": "compliance_datenschutz",
|
||||
"bundesland": "bund",
|
||||
"use_case": "court_decision",
|
||||
"year": metadata.get("date", "2024")[:4],
|
||||
"chunk_strategy": "legal",
|
||||
"chunk_size": "512",
|
||||
"chunk_overlap": "50",
|
||||
"metadata_json": json.dumps(metadata),
|
||||
}
|
||||
resp = client.post(f"{rag_url}/api/v1/documents/upload", files=files, data=data)
|
||||
resp.raise_for_status()
|
||||
return resp.json()
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Ingest BAG court decisions into RAG")
|
||||
parser.add_argument("--rag-url", default="https://macmini:8097", help="RAG service URL")
|
||||
parser.add_argument("--dry-run", action="store_true", help="Download only, don't upload")
|
||||
args = parser.parse_args()
|
||||
|
||||
client = httpx.Client(timeout=60, verify=False)
|
||||
stats = {"downloaded": 0, "uploaded": 0, "errors": 0}
|
||||
|
||||
for decision in BAG_DECISIONS:
|
||||
case_id = normalize_case_number(decision["case_number"])
|
||||
print(f"\n--- {decision['case_number']}: {decision['subject']} ---")
|
||||
|
||||
# Download
|
||||
try:
|
||||
html_bytes = download_decision(decision["url"], client)
|
||||
stats["downloaded"] += 1
|
||||
print(f" Downloaded: {len(html_bytes)} bytes")
|
||||
except Exception as e:
|
||||
print(f" ERROR downloading: {e}")
|
||||
stats["errors"] += 1
|
||||
continue
|
||||
|
||||
if args.dry_run:
|
||||
continue
|
||||
|
||||
# Upload
|
||||
metadata = {
|
||||
"regulation_id": f"bag_{case_id}",
|
||||
"regulation_name_de": f"BAG {decision['case_number']} — {decision['subject']}",
|
||||
"category": "arbeitsrecht",
|
||||
"source": "bundesarbeitsgericht.de",
|
||||
"doc_type": "court_decision",
|
||||
"license": "public_domain_§5_UrhG",
|
||||
"court": "BAG",
|
||||
"case_number": decision["case_number"],
|
||||
"date": decision["date"],
|
||||
"subject_matter": decision["subject"],
|
||||
"keywords": decision["keywords"],
|
||||
}
|
||||
|
||||
try:
|
||||
result = upload_to_rag(
|
||||
html_bytes,
|
||||
f"bag_{case_id}.html",
|
||||
metadata,
|
||||
args.rag_url,
|
||||
client,
|
||||
)
|
||||
stats["uploaded"] += 1
|
||||
print(f" Uploaded: {result.get('chunks_count', '?')} chunks, doc_id={result.get('document_id', '?')}")
|
||||
except Exception as e:
|
||||
print(f" ERROR uploading: {e}")
|
||||
stats["errors"] += 1
|
||||
|
||||
time.sleep(1) # Rate limiting
|
||||
|
||||
print(f"\n=== Done: {stats['downloaded']} downloaded, {stats['uploaded']} uploaded, {stats['errors']} errors ===")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
214
document-templates/generators/betriebsvereinbarung_template.py
Normal file
214
document-templates/generators/betriebsvereinbarung_template.py
Normal file
@@ -0,0 +1,214 @@
|
||||
"""Betriebsvereinbarung template generator — creates BV draft from UCCA assessment.
|
||||
|
||||
Generates a modular works council agreement (Betriebsvereinbarung) based on:
|
||||
- UCCA Assessment result (triggered rules, risk score, obligations)
|
||||
- Company profile (name, location, works council)
|
||||
- System details (name, type, modules)
|
||||
|
||||
Sections A-M follow the template in migration 006.
|
||||
"""
|
||||
|
||||
from typing import Optional
|
||||
|
||||
# -- Default verbotene Nutzungen nach BAG-Rechtsprechung --------------------
|
||||
|
||||
DEFAULT_VERBOTENE_NUTZUNGEN = [
|
||||
"Verdeckte Leistungs- oder Verhaltenskontrolle einzelner Beschaeftigter",
|
||||
"Erstellung individueller Persoenlichkeitsprofile oder Verhaltensanalysen",
|
||||
"Nutzung von Nutzungshistorien zu disziplinarischen Zwecken",
|
||||
"Automatisierte Personalentscheidungen ohne menschliche Ueberpruefung (Art. 22 DSGVO)",
|
||||
"Personenbezogene Rankings oder Leistungsvergleiche ohne gesonderte Mitbestimmung",
|
||||
"Korrelation von Systemnutzungsdaten mit Leistungsbeurteilungen",
|
||||
]
|
||||
|
||||
AI_VERBOTENE_NUTZUNGEN = [
|
||||
"Einsatz von KI-Funktionen zur biometrischen Echtzeit-Identifizierung am Arbeitsplatz",
|
||||
"KI-gestuetztes Social Scoring von Beschaeftigten",
|
||||
"Nutzung von KI-generierten Bewertungen als alleinige Grundlage fuer Personalentscheidungen",
|
||||
]
|
||||
|
||||
# -- Standard-TOM Massnahmen ------------------------------------------------
|
||||
|
||||
DEFAULT_TOM = [
|
||||
"Rollen- und Rechtekonzept mit Least-Privilege-Prinzip",
|
||||
"Verschluesselung der Daten bei Uebertragung (TLS 1.2+) und Speicherung (AES-256)",
|
||||
"Protokollierung aller administrativen Zugriffe",
|
||||
"Pseudonymisierung personenbezogener Daten, wo technisch moeglich",
|
||||
"Deaktivierung nicht benoetigter Telemetrie- und Diagnosefunktionen",
|
||||
"Getrennte Umgebungen fuer Test und Produktion",
|
||||
"Regelmaessige Sicherheitsupdates und Patch-Management",
|
||||
"Zugangsschutz durch Multi-Faktor-Authentifizierung fuer Administratoren",
|
||||
]
|
||||
|
||||
# -- Standard erlaubte Reports ----------------------------------------------
|
||||
|
||||
DEFAULT_ERLAUBTE_REPORTS = [
|
||||
"Systemgesundheit und Verfuegbarkeit (ohne Personenbezug)",
|
||||
"Lizenznutzung auf aggregierter Ebene (Abteilung/Standort, nicht Person)",
|
||||
"Sicherheitsereignisse und Anomalien",
|
||||
"Speicherplatznutzung (ohne Personenbezug)",
|
||||
"Fehlerstatistiken (technisch, nicht personenbezogen)",
|
||||
]
|
||||
|
||||
# -- Standard Datenarten bei IT/KI-Systemen ---------------------------------
|
||||
|
||||
DATENARTEN_MAP = {
|
||||
"email": "E-Mail-Metadaten (Absender, Empfaenger, Zeitstempel — NICHT Inhalte)",
|
||||
"chat": "Chat-/Messaging-Metadaten (Teilnehmer, Zeitstempel)",
|
||||
"document": "Dokumentenmetadaten (Ersteller, Aenderungsdatum, Dateiname)",
|
||||
"login": "Anmeldedaten (Benutzername, Zeitstempel, IP-Adresse)",
|
||||
"usage": "Nutzungsdaten (aufgerufene Funktionen, Nutzungsdauer — aggregiert)",
|
||||
"prompt": "KI-Eingaben und -Ausgaben (Prompts, Antworten)",
|
||||
"calendar": "Kalendereintraege (Betreff, Teilnehmer, Zeiten)",
|
||||
"hr": "Personalstammdaten (Name, Abteilung, Position, Eintrittsdatum)",
|
||||
"performance": "Leistungsdaten (Kennzahlen, Bewertungen, Zielvereinbarungen)",
|
||||
"video": "Videoaufnahmen (Arbeitsplatz, Zugangsbereiche)",
|
||||
"location": "Standortdaten (GPS, WLAN-basierte Ortung, Gebaeudezutritt)",
|
||||
}
|
||||
|
||||
|
||||
def generate_betriebsvereinbarung_draft(ctx: dict) -> dict:
|
||||
"""Generate a Betriebsvereinbarung draft from company + assessment context.
|
||||
|
||||
Args:
|
||||
ctx: Dict with keys:
|
||||
Required:
|
||||
- company_name: str
|
||||
- system_name: str
|
||||
- system_description: str
|
||||
Optional:
|
||||
- company_address: str
|
||||
- employer_representative: str
|
||||
- works_council_chair: str
|
||||
- system_vendor: str
|
||||
- locations: list[str]
|
||||
- departments: list[str]
|
||||
- modules: list[str]
|
||||
- purposes: list[str]
|
||||
- data_types: list[str] — keys from DATENARTEN_MAP
|
||||
- is_ai_system: bool
|
||||
- has_employee_monitoring: bool
|
||||
- has_hr_features: bool
|
||||
- has_video: bool
|
||||
- dpo_name: str
|
||||
- dpo_contact: str
|
||||
- audit_interval: str — e.g. "12 Monate"
|
||||
- duration: str — e.g. "unbefristet"
|
||||
- notice_period: str — e.g. "3 Monate"
|
||||
- retention_audit_logs: str — e.g. "90 Tage"
|
||||
- retention_usage_data: str — e.g. "30 Tage"
|
||||
- retention_prompts: str — e.g. "deaktiviert"
|
||||
- additional_forbidden: list[str]
|
||||
- additional_tom: list[str]
|
||||
- additional_reports: list[str]
|
||||
- betrvg_conflict_score: int — 0-100
|
||||
|
||||
Returns:
|
||||
Dict with placeholder values ready for template substitution.
|
||||
"""
|
||||
result = {}
|
||||
|
||||
# Basic info
|
||||
result["UNTERNEHMEN_NAME"] = ctx.get("company_name", "{{UNTERNEHMEN_NAME}}")
|
||||
result["UNTERNEHMEN_SITZ"] = ctx.get("company_address", "{{UNTERNEHMEN_SITZ}}")
|
||||
result["ARBEITGEBER_VERTRETER"] = ctx.get("employer_representative", "{{ARBEITGEBER_VERTRETER}}")
|
||||
result["BETRIEBSRAT_VORSITZ"] = ctx.get("works_council_chair", "{{BETRIEBSRAT_VORSITZ}}")
|
||||
result["SYSTEM_NAME"] = ctx.get("system_name", "{{SYSTEM_NAME}}")
|
||||
result["SYSTEM_BESCHREIBUNG"] = ctx.get("system_description", "{{SYSTEM_BESCHREIBUNG}}")
|
||||
result["SYSTEM_HERSTELLER"] = ctx.get("system_vendor", "")
|
||||
result["DSB_NAME"] = ctx.get("dpo_name", "{{DSB_NAME}}")
|
||||
result["DSB_KONTAKT"] = ctx.get("dpo_contact", "{{DSB_KONTAKT}}")
|
||||
|
||||
# B. Geltungsbereich
|
||||
locations = ctx.get("locations", [])
|
||||
result["GELTUNGSBEREICH_STANDORTE"] = _bullet_list(locations) if locations else "Alle Standorte der {{UNTERNEHMEN_NAME}}"
|
||||
|
||||
departments = ctx.get("departments", [])
|
||||
result["GELTUNGSBEREICH_BEREICHE"] = _bullet_list(departments) if departments else "Alle Beschaeftigten"
|
||||
|
||||
modules = ctx.get("modules", [])
|
||||
result["GELTUNGSBEREICH_MODULE"] = _bullet_list(modules) if modules else "Alle Module und Dienste von {{SYSTEM_NAME}}"
|
||||
|
||||
# C. Zweck
|
||||
purposes = ctx.get("purposes", [])
|
||||
result["ZWECK_BESCHREIBUNG"] = _bullet_list(purposes) if purposes else "{{ZWECK_BESCHREIBUNG}}"
|
||||
|
||||
# C.2 Verbotene Nutzungen
|
||||
forbidden = list(DEFAULT_VERBOTENE_NUTZUNGEN)
|
||||
if ctx.get("is_ai_system"):
|
||||
forbidden.extend(AI_VERBOTENE_NUTZUNGEN)
|
||||
forbidden.extend(ctx.get("additional_forbidden", []))
|
||||
result["VERBOTENE_NUTZUNGEN"] = _bullet_list(forbidden)
|
||||
|
||||
# D. Datenarten
|
||||
data_type_keys = ctx.get("data_types", [])
|
||||
datenarten = []
|
||||
for key in data_type_keys:
|
||||
if key in DATENARTEN_MAP:
|
||||
datenarten.append(DATENARTEN_MAP[key])
|
||||
else:
|
||||
datenarten.append(key)
|
||||
result["DATENARTEN_LISTE"] = _bullet_list(datenarten) if datenarten else "{{DATENARTEN_LISTE}}"
|
||||
|
||||
# E. Rollen
|
||||
result["ROLLEN_ADMIN"] = ctx.get("roles_admin", "IT-Administration: Systemkonfiguration, Benutzerverwaltung, Sicherheitsupdates")
|
||||
result["ROLLEN_FUEHRUNGSKRAFT"] = ctx.get("roles_manager", "Fuehrungskraefte: Nur aggregierte, nicht-personenbezogene Reports")
|
||||
result["ROLLEN_REPORTING"] = ctx.get("roles_reporting", "Controlling/Reporting: Nur freigegebene Standardreports (siehe Abschnitt G)")
|
||||
|
||||
# F. Transparenz
|
||||
result["TRANSPARENZ_INFO"] = ctx.get("transparency_info",
|
||||
"Die Information erfolgt schriftlich und in einer Informationsveranstaltung vor Einfuehrung des Systems.")
|
||||
|
||||
# G. Reports
|
||||
reports = list(DEFAULT_ERLAUBTE_REPORTS)
|
||||
reports.extend(ctx.get("additional_reports", []))
|
||||
result["ERLAUBTE_REPORTS"] = _bullet_list(reports)
|
||||
|
||||
# H. Speicherfristen
|
||||
result["SPEICHERFRIST_AUDIT_LOGS"] = ctx.get("retention_audit_logs", "90 Tage")
|
||||
result["SPEICHERFRIST_NUTZUNGSDATEN"] = ctx.get("retention_usage_data", "30 Tage")
|
||||
result["SPEICHERFRIST_CHAT_PROMPTS"] = ctx.get("retention_prompts", "deaktiviert")
|
||||
|
||||
# I. TOM
|
||||
tom = list(DEFAULT_TOM)
|
||||
tom.extend(ctx.get("additional_tom", []))
|
||||
# Intensivere Schutzmassnahmen bei hohem Konflikt-Score
|
||||
conflict_score = ctx.get("betrvg_conflict_score", 0)
|
||||
if conflict_score >= 50:
|
||||
tom.append("Automatische Anomalie-Erkennung bei ungewoehnlichen Admin-Zugriffen")
|
||||
tom.append("Quartalsweise Datenschutz-Audit durch externen Prueer")
|
||||
if conflict_score >= 75:
|
||||
tom.append("Betriebsrat erhaelt Leserechte auf Audit-Log-Dashboard")
|
||||
tom.append("Jede Sonderauswertung wird dem Betriebsrat innerhalb von 24h gemeldet")
|
||||
result["TOM_MASSNAHMEN"] = _bullet_list(tom)
|
||||
|
||||
# J. Change-Management
|
||||
result["CHANGE_MANAGEMENT_PROZESS"] = ctx.get("change_process",
|
||||
"Die Arbeitgeberin informiert den Betriebsrat schriftlich ueber geplante Aenderungen "
|
||||
"mindestens 14 Kalendertage vor Umsetzung. Bei sicherheitskritischen Updates kann die "
|
||||
"Frist auf 3 Werktage verkuerzt werden.")
|
||||
|
||||
# K. Audit
|
||||
result["AUDIT_INTERVALL"] = ctx.get("audit_interval", "12 Monate")
|
||||
|
||||
# L. Beschwerde
|
||||
result["BESCHWERDE_ANSPRECHPARTNER"] = ctx.get("complaint_contacts",
|
||||
"- Direkter Vorgesetzter\n- Betriebsrat ({{BETRIEBSRAT_VORSITZ}})\n"
|
||||
"- Datenschutzbeauftragter ({{DSB_NAME}}, {{DSB_KONTAKT}})")
|
||||
|
||||
# M. Schluss
|
||||
result["LAUFZEIT"] = ctx.get("duration", "unbefristet")
|
||||
result["KUENDIGUNGSFRIST"] = ctx.get("notice_period", "3 Monate")
|
||||
result["DATUM_UNTERZEICHNUNG"] = ctx.get("signing_date", "{{DATUM_UNTERZEICHNUNG}}")
|
||||
|
||||
# Conditional flags
|
||||
result["AI_SYSTEM"] = ctx.get("is_ai_system", False)
|
||||
result["VIDEO_UEBERWACHUNG"] = ctx.get("has_video", False)
|
||||
result["HR_SYSTEM"] = ctx.get("has_hr_features", False)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def _bullet_list(items: list) -> str:
|
||||
"""Format a list as markdown bullet points."""
|
||||
return "\n".join(f"- {item}" for item in items)
|
||||
@@ -0,0 +1,350 @@
|
||||
-- Migration 006: Betriebsvereinbarung Template V1
|
||||
-- Modulare Vorlage fuer Betriebsvereinbarungen zu KI/IT-Systemen
|
||||
-- Rechtsgrundlage: §87 Abs.1 Nr.6 BetrVG, DSGVO, BDSG
|
||||
|
||||
INSERT INTO compliance.compliance_legal_templates (
|
||||
tenant_id, document_type, title, description, language, jurisdiction,
|
||||
version, status, license_name, source_name, attribution_required,
|
||||
is_complete_document, placeholders, content
|
||||
) VALUES (
|
||||
'9282a473-5c95-4b3a-bf78-0ecc0ec71d3e'::uuid,
|
||||
'betriebsvereinbarung',
|
||||
'Betriebsvereinbarung — Einfuehrung und Nutzung von KI-/IT-Systemen',
|
||||
'Modulare Vorlage fuer eine Betriebsvereinbarung gemaess §87 Abs.1 Nr.6 BetrVG zur Einfuehrung und Nutzung von IT-Systemen und KI-Anwendungen. Umfasst Datenschutz, Ueberwachungsschutz, Change-Management und Kontrollrechte des Betriebsrats. Basiert auf BAG-Rechtsprechung zu Microsoft 365, SAP ERP und Standardsoftware.',
|
||||
'de',
|
||||
'DE',
|
||||
'1.0',
|
||||
'published',
|
||||
'MIT',
|
||||
'BreakPilot Compliance',
|
||||
false,
|
||||
true,
|
||||
CAST('[
|
||||
"{{UNTERNEHMEN_NAME}}",
|
||||
"{{UNTERNEHMEN_SITZ}}",
|
||||
"{{ARBEITGEBER_VERTRETER}}",
|
||||
"{{BETRIEBSRAT_VORSITZ}}",
|
||||
"{{SYSTEM_NAME}}",
|
||||
"{{SYSTEM_BESCHREIBUNG}}",
|
||||
"{{SYSTEM_HERSTELLER}}",
|
||||
"{{GELTUNGSBEREICH_STANDORTE}}",
|
||||
"{{GELTUNGSBEREICH_BEREICHE}}",
|
||||
"{{GELTUNGSBEREICH_MODULE}}",
|
||||
"{{ZWECK_BESCHREIBUNG}}",
|
||||
"{{DATENARTEN_LISTE}}",
|
||||
"{{VERBOTENE_NUTZUNGEN}}",
|
||||
"{{ROLLEN_ADMIN}}",
|
||||
"{{ROLLEN_FUEHRUNGSKRAFT}}",
|
||||
"{{ROLLEN_REPORTING}}",
|
||||
"{{TRANSPARENZ_INFO}}",
|
||||
"{{ERLAUBTE_REPORTS}}",
|
||||
"{{SPEICHERFRIST_AUDIT_LOGS}}",
|
||||
"{{SPEICHERFRIST_NUTZUNGSDATEN}}",
|
||||
"{{SPEICHERFRIST_CHAT_PROMPTS}}",
|
||||
"{{TOM_MASSNAHMEN}}",
|
||||
"{{CHANGE_MANAGEMENT_PROZESS}}",
|
||||
"{{AUDIT_INTERVALL}}",
|
||||
"{{BESCHWERDE_ANSPRECHPARTNER}}",
|
||||
"{{LAUFZEIT}}",
|
||||
"{{KUENDIGUNGSFRIST}}",
|
||||
"{{DATUM_UNTERZEICHNUNG}}",
|
||||
"{{DSB_NAME}}",
|
||||
"{{DSB_KONTAKT}}"
|
||||
]' AS jsonb),
|
||||
$template$# Betriebsvereinbarung
|
||||
|
||||
**ueber die Einfuehrung und Nutzung von {{SYSTEM_NAME}}**
|
||||
|
||||
zwischen
|
||||
|
||||
**{{UNTERNEHMEN_NAME}}**, {{UNTERNEHMEN_SITZ}},
|
||||
vertreten durch {{ARBEITGEBER_VERTRETER}}
|
||||
(nachfolgend "Arbeitgeberin")
|
||||
|
||||
und dem
|
||||
|
||||
**Betriebsrat** der {{UNTERNEHMEN_NAME}},
|
||||
vertreten durch den/die Vorsitzende/n {{BETRIEBSRAT_VORSITZ}}
|
||||
(nachfolgend "Betriebsrat")
|
||||
|
||||
---
|
||||
|
||||
## A. Praeambel und Rechtsgrundlagen
|
||||
|
||||
Diese Betriebsvereinbarung regelt die Einfuehrung und Nutzung von **{{SYSTEM_NAME}}** ({{SYSTEM_BESCHREIBUNG}}) im Betrieb der {{UNTERNEHMEN_NAME}}.
|
||||
|
||||
**Rechtsgrundlagen:**
|
||||
- §87 Abs.1 Nr.6 BetrVG (Mitbestimmung bei technischen Ueberwachungseinrichtungen)
|
||||
- §90 BetrVG (Unterrichtung bei Planung technischer Anlagen)
|
||||
- Art. 5, 6, 32 DSGVO (Datenschutzgrundsaetze, Rechtsgrundlage, TOM)
|
||||
- §26 BDSG (Beschaeftigtendatenschutz)
|
||||
{{#IF AI_SYSTEM}}
|
||||
- Verordnung (EU) 2024/1689 (KI-Verordnung / AI Act)
|
||||
{{/IF}}
|
||||
|
||||
Die Parteien sind sich einig, dass {{SYSTEM_NAME}} eine technische Einrichtung im Sinne des §87 Abs.1 Nr.6 BetrVG darstellt, die geeignet ist, das Verhalten oder die Leistung der Beschaeftigten zu ueberwachen. Die Einigung erfolgt in Kenntnis der Rechtsprechung des Bundesarbeitsgerichts (vgl. BAG 1 ABR 20/21 — Microsoft Office 365; BAG 1 ABN 36/18 — Standardsoftware).
|
||||
|
||||
---
|
||||
|
||||
## B. Geltungsbereich
|
||||
|
||||
### B.1 Raeumlicher Geltungsbereich
|
||||
Diese Betriebsvereinbarung gilt fuer folgende Standorte:
|
||||
{{GELTUNGSBEREICH_STANDORTE}}
|
||||
|
||||
### B.2 Persoenlicher Geltungsbereich
|
||||
Die Betriebsvereinbarung gilt fuer alle Beschaeftigten der folgenden Bereiche:
|
||||
{{GELTUNGSBEREICH_BEREICHE}}
|
||||
|
||||
### B.3 Sachlicher Geltungsbereich
|
||||
Die Betriebsvereinbarung umfasst folgende Module und Dienste des Systems:
|
||||
{{GELTUNGSBEREICH_MODULE}}
|
||||
|
||||
{{#IF SYSTEM_HERSTELLER}}
|
||||
**Systemhersteller/-anbieter:** {{SYSTEM_HERSTELLER}}
|
||||
{{/IF}}
|
||||
|
||||
---
|
||||
|
||||
## C. Zweckbestimmung
|
||||
|
||||
### C.1 Erlaubte Nutzungszwecke
|
||||
{{SYSTEM_NAME}} darf ausschliesslich zu folgenden Zwecken eingesetzt werden:
|
||||
{{ZWECK_BESCHREIBUNG}}
|
||||
|
||||
### C.2 Verbotene Nutzungen
|
||||
Folgende Nutzungen sind ausdruecklich untersagt:
|
||||
|
||||
{{VERBOTENE_NUTZUNGEN}}
|
||||
|
||||
Darueber hinaus ist generell untersagt:
|
||||
- Verdeckte Leistungs- oder Verhaltenskontrolle einzelner Beschaeftigter
|
||||
- Erstellung individueller Persoenlichkeitsprofile
|
||||
- Nutzung von Prompt-, Chat- oder Nutzungshistorien zu disziplinarischen Zwecken
|
||||
- Automatisierte Personalentscheidungen ohne menschliche Ueberpruefung
|
||||
- Personenbezogene Rankings oder Leistungsvergleiche ohne gesonderte Mitbestimmung
|
||||
{{#IF AI_SYSTEM}}
|
||||
- Einsatz von KI-Funktionen zur biometrischen Echtzeit-Identifizierung
|
||||
- KI-gestuetztes Social Scoring von Beschaeftigten
|
||||
{{/IF}}
|
||||
|
||||
---
|
||||
|
||||
## D. Datenarten und Verarbeitungszwecke
|
||||
|
||||
### D.1 Verarbeitete Datenarten
|
||||
Im Rahmen der Nutzung von {{SYSTEM_NAME}} werden folgende Datenarten verarbeitet:
|
||||
{{DATENARTEN_LISTE}}
|
||||
|
||||
### D.2 Rechtsgrundlage
|
||||
Die Verarbeitung der Beschaeftigtendaten erfolgt auf Grundlage von:
|
||||
- §26 Abs.1 BDSG i.V.m. Art. 6 Abs.1 lit. b DSGVO (Durchfuehrung des Arbeitsverhaeltnisses)
|
||||
- §26 Abs.4 BDSG i.V.m. Art. 88 DSGVO (diese Betriebsvereinbarung als Kollektivvereinbarung)
|
||||
|
||||
### D.3 Keine Verarbeitung besonderer Kategorien
|
||||
Daten gemaess Art. 9 DSGVO (Gesundheitsdaten, Gewerkschaftszugehoerigkeit, biometrische Daten etc.) werden nicht verarbeitet, es sei denn, dies ist in einem gesonderten Anhang zu dieser Betriebsvereinbarung ausdruecklich geregelt.
|
||||
|
||||
---
|
||||
|
||||
## E. Rollen- und Zugriffskonzept
|
||||
|
||||
### E.1 Administratoren
|
||||
{{ROLLEN_ADMIN}}
|
||||
|
||||
### E.2 Fuehrungskraefte
|
||||
{{ROLLEN_FUEHRUNGSKRAFT}}
|
||||
|
||||
Fuehrungskraefte erhalten **keinen** Zugriff auf:
|
||||
- individuelle Nutzungsprotokolle
|
||||
- Prompt-/Chat-Historien einzelner Beschaeftigter
|
||||
- Produktivitaetskennzahlen auf Personenebene
|
||||
|
||||
### E.3 Reporting-Zugriff
|
||||
{{ROLLEN_REPORTING}}
|
||||
|
||||
### E.4 Vier-Augen-Prinzip
|
||||
Sonderauswertungen mit Personenbezug beduerfen:
|
||||
- der Zustimmung des Betriebsrats
|
||||
- der Beteiligung des Datenschutzbeauftragten ({{DSB_NAME}}, {{DSB_KONTAKT}})
|
||||
- einer dokumentierten Begruendung
|
||||
|
||||
---
|
||||
|
||||
## F. Transparenz gegenueber Beschaeftigten
|
||||
|
||||
Die Arbeitgeberin informiert alle Beschaeftigten vor Einfuehrung von {{SYSTEM_NAME}} ueber:
|
||||
{{TRANSPARENZ_INFO}}
|
||||
|
||||
Insbesondere:
|
||||
- Welche Daten verarbeitet werden
|
||||
- Welche KI-Funktionen aktiviert sind
|
||||
- Welche Protokollierung stattfindet
|
||||
- Wer Zugriff auf welche Daten hat
|
||||
- Wie lange Daten gespeichert werden
|
||||
- An wen sich Beschaeftigte bei Fragen oder Beschwerden wenden koennen
|
||||
|
||||
{{#IF AI_SYSTEM}}
|
||||
Bei KI-gestuetzten Funktionen wird zusaetzlich transparent gemacht:
|
||||
- Ob und wie KI-generierte Inhalte gekennzeichnet werden
|
||||
- Ob Eingaben fuer Modelltraining verwendet werden (Standard: Nein)
|
||||
- Welche Entscheidungsunterstuetzung die KI leistet
|
||||
{{/IF}}
|
||||
|
||||
---
|
||||
|
||||
## G. Auswertungen und Reports
|
||||
|
||||
### G.1 Erlaubte Reports
|
||||
Folgende Auswertungen sind ohne gesonderte Zustimmung zulaessig:
|
||||
{{ERLAUBTE_REPORTS}}
|
||||
|
||||
### G.2 Unzulaessige Reports
|
||||
Ohne ausdrueckliche, vorherige Zustimmung des Betriebsrats sind unzulaessig:
|
||||
- individuelle Produktivitaetsreports
|
||||
- Teamvergleiche mit Personenbezug
|
||||
- Verhaltensprofile oder Nutzungsmuster einzelner Beschaeftigter
|
||||
- Rankinglisten (auch anonymisierte, wenn Re-Identifikation moeglich)
|
||||
- Korrelation von Nutzungsdaten mit Leistungsbeurteilungen
|
||||
|
||||
### G.3 Neue Reporttypen
|
||||
Die Einfuehrung neuer Reporttypen bedarf der vorherigen Zustimmung des Betriebsrats.
|
||||
|
||||
---
|
||||
|
||||
## H. Speicher- und Loeschfristen
|
||||
|
||||
| Datenkategorie | Speicherfrist | Loeschverfahren |
|
||||
|----------------|---------------|-----------------|
|
||||
| Audit-/Admin-Logs | {{SPEICHERFRIST_AUDIT_LOGS}} | Automatische Loeschung |
|
||||
| Nutzungsdaten (aggregiert) | {{SPEICHERFRIST_NUTZUNGSDATEN}} | Automatische Loeschung |
|
||||
| Prompt-/Chat-Historien | {{SPEICHERFRIST_CHAT_PROMPTS}} | Automatische Loeschung oder deaktiviert |
|
||||
| Exportdateien | 30 Tage | Automatische Loeschung |
|
||||
|
||||
Die Speicherdauer der Audit-Logs orientiert sich am berechtigten Interesse der Arbeitgeberin an der Systemsicherheit und wird auf das erforderliche Minimum begrenzt.
|
||||
|
||||
{{#IF AI_SYSTEM}}
|
||||
**KI-spezifisch:**
|
||||
- Trainingsdaten aus Beschaeftigten-Interaktionen: **nicht zulaessig** ohne gesonderte Vereinbarung
|
||||
- Feedback-Daten zur Modellverbesserung: nur anonymisiert und aggregiert
|
||||
{{/IF}}
|
||||
|
||||
---
|
||||
|
||||
## I. Technische und organisatorische Massnahmen (TOM)
|
||||
|
||||
Zum Schutz der Beschaeftigtendaten werden folgende Massnahmen umgesetzt:
|
||||
|
||||
{{TOM_MASSNAHMEN}}
|
||||
|
||||
Ergaenzend gelten mindestens:
|
||||
- Rollen- und Rechtekonzept mit Least-Privilege-Prinzip
|
||||
- Verschluesselung der Daten bei Uebertragung und Speicherung
|
||||
- Protokollierung aller administrativen Zugriffe
|
||||
- Pseudonymisierung, wo technisch moeglich
|
||||
- Deaktivierung nicht benoetigter Telemetrie- und Diagnosefunktionen
|
||||
- Getrennte Umgebungen fuer Test und Produktion
|
||||
|
||||
---
|
||||
|
||||
## J. Change-Management
|
||||
|
||||
### J.1 Aenderungspflicht
|
||||
Folgende Aenderungen an {{SYSTEM_NAME}} beduerfen der vorherigen Information und ggf. erneuten Mitbestimmung des Betriebsrats:
|
||||
|
||||
{{CHANGE_MANAGEMENT_PROZESS}}
|
||||
|
||||
Insbesondere:
|
||||
- Aktivierung neuer Module oder Funktionen
|
||||
- Anbindung neuer Datenquellen oder Konnektoren
|
||||
- Aenderung der Reporting-Funktionalitaet
|
||||
- Updates mit neuen KI-Modellen oder -Funktionen
|
||||
- Aenderung der Datenverarbeitungsstandorte
|
||||
- Erweiterung des Nutzerkreises
|
||||
|
||||
### J.2 Informationsfrist
|
||||
Die Arbeitgeberin informiert den Betriebsrat mindestens **14 Kalendertage** vor geplanten Aenderungen schriftlich. Bei sicherheitskritischen Updates kann die Frist auf 3 Werktage verkuerzt werden.
|
||||
|
||||
### J.3 Bewertungsverfahren
|
||||
Jede Aenderung wird anhand folgender Kriterien bewertet:
|
||||
- Aendert sich die Ueberwachungseignung?
|
||||
- Werden neue Datenarten verarbeitet?
|
||||
- Aendert sich der Personenbezug?
|
||||
|
||||
Bei positiver Beantwortung einer dieser Fragen ist eine erneute Mitbestimmung erforderlich.
|
||||
|
||||
---
|
||||
|
||||
## K. Kontroll- und Audit-Rechte des Betriebsrats
|
||||
|
||||
### K.1 Laufende Kontrolle
|
||||
Der Betriebsrat hat das Recht auf:
|
||||
- Einsicht in die Systemdokumentation
|
||||
- Einsicht in den Katalog aktiver Reports und Auswertungen
|
||||
- Information ueber alle Administrationszugriffe
|
||||
- Teilnahme an Schulungen zum System
|
||||
|
||||
### K.2 Regelmaessige Reviews
|
||||
Arbeitgeberin und Betriebsrat fuehren alle **{{AUDIT_INTERVALL}}** einen gemeinsamen Review durch. Gegenstand:
|
||||
- Aktuelle Nutzung und Funktionsumfang
|
||||
- Eingehaltene/verletzte Regelungen
|
||||
- Eingegangene Beschwerden
|
||||
- Geplante Aenderungen
|
||||
- Aktualitaet der TOM
|
||||
|
||||
### K.3 Anlassbezogene Pruefung
|
||||
Bei begruendetem Verdacht auf Verstoss gegen diese Betriebsvereinbarung kann der Betriebsrat jederzeit eine Sonderpruefung verlangen. Die Arbeitgeberin stellt innerhalb von 5 Werktagen die angeforderten Informationen bereit.
|
||||
|
||||
---
|
||||
|
||||
## L. Beschwerden und Eskalation
|
||||
|
||||
### L.1 Beschwerderecht
|
||||
Beschaeftigte koennen sich bei Bedenken hinsichtlich der Datenverarbeitung wenden an:
|
||||
{{BESCHWERDE_ANSPRECHPARTNER}}
|
||||
|
||||
### L.2 Eskalation
|
||||
Bei Meinungsverschiedenheiten ueber die Auslegung oder Anwendung dieser Betriebsvereinbarung gilt:
|
||||
1. Gespraech zwischen Arbeitgeberin und Betriebsrat (Frist: 2 Wochen)
|
||||
2. Hinzuziehung des Datenschutzbeauftragten
|
||||
3. Einigungsstelle gemaess §76 BetrVG
|
||||
|
||||
### L.3 Sofortmassnahmen
|
||||
Bei schwerwiegenden Verstoessen (insbesondere unzulaessige Ueberwachung, Datenmissbrauch) kann der Betriebsrat die sofortige Aussetzung der betroffenen Funktion verlangen. Die Arbeitgeberin setzt die Funktion bis zur Klaerung aus.
|
||||
|
||||
---
|
||||
|
||||
## M. Schlussbestimmungen
|
||||
|
||||
### M.1 Inkrafttreten und Laufzeit
|
||||
Diese Betriebsvereinbarung tritt am {{DATUM_UNTERZEICHNUNG}} in Kraft und gilt fuer die Dauer von {{LAUFZEIT}}.
|
||||
|
||||
### M.2 Kuendigung
|
||||
Die Betriebsvereinbarung kann von jeder Seite mit einer Frist von {{KUENDIGUNGSFRIST}} zum Monatsende schriftlich gekuendigt werden.
|
||||
|
||||
### M.3 Nachwirkung
|
||||
Die Betriebsvereinbarung wirkt nach Kuendigung bis zum Abschluss einer neuen Vereinbarung nach (§77 Abs.6 BetrVG).
|
||||
|
||||
### M.4 Salvatorische Klausel
|
||||
Sollten einzelne Bestimmungen unwirksam sein, bleibt die Wirksamkeit der uebrigen Bestimmungen unberuehrt. Die Parteien verpflichten sich, unwirksame Bestimmungen durch wirksame zu ersetzen, die dem wirtschaftlichen Zweck am naechsten kommen.
|
||||
|
||||
### M.5 Anlagen
|
||||
Folgende Anlagen sind Bestandteil dieser Betriebsvereinbarung:
|
||||
- Anlage 1: Detaillierte Systemdokumentation
|
||||
- Anlage 2: Rollen- und Rechtekonzept
|
||||
- Anlage 3: TOM-Dokumentation
|
||||
- Anlage 4: Reportkatalog
|
||||
{{#IF AI_SYSTEM}}
|
||||
- Anlage 5: KI-Transparenzbericht
|
||||
{{/IF}}
|
||||
|
||||
---
|
||||
|
||||
**{{UNTERNEHMEN_SITZ}}, den {{DATUM_UNTERZEICHNUNG}}**
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| _________________________ | _________________________ |
|
||||
| {{ARBEITGEBER_VERTRETER}} | {{BETRIEBSRAT_VORSITZ}} |
|
||||
| fuer die Arbeitgeberin | fuer den Betriebsrat |
|
||||
$template$
|
||||
) ON CONFLICT DO NOTHING;
|
||||
Reference in New Issue
Block a user