"""
DSFA Sources Registry — Pure data definitions.

Contains:
- LICENSE_REGISTRY: License metadata for all supported licenses
- DSFA_SOURCES: All DSFA source definitions (EU, DSK, Bundeslaender, etc.)
- DSFA_CHUNK_CONFIG: Chunking strategy configuration per source type
"""

# =============================================================================
# License Registry
# =============================================================================

LICENSE_REGISTRY = {
    "DL-DE-BY-2.0": {
        "name": "Datenlizenz Deutschland – Namensnennung – Version 2.0",
        "url": "https://www.govdata.de/dl-de/by-2-0",
        "attribution_required": True,
        "modification_allowed": True,
        "commercial_use": True,
        "template": "Quelle: {source_name}, Datenlizenz Deutschland – Namensnennung – Version 2.0"
    },
    "DL-DE-ZERO-2.0": {
        "name": "Datenlizenz Deutschland – Zero – Version 2.0",
        "url": "https://www.govdata.de/dl-de/zero-2-0",
        "attribution_required": False,
        "modification_allowed": True,
        "commercial_use": True,
        "template": None
    },
    "CC-BY-4.0": {
        "name": "Creative Commons Attribution 4.0 International",
        "url": "https://creativecommons.org/licenses/by/4.0/",
        "attribution_required": True,
        "modification_allowed": True,
        "commercial_use": True,
        "template": "© {organization} | CC BY 4.0"
    },
    "EDPB-LICENSE": {
        "name": "EDPB Document License",
        "url": "https://edpb.europa.eu/about-edpb/legal-notice_en",
        "attribution_required": True,
        "modification_allowed": True,
        "commercial_use": True,
        "template": "Source: {source_name}, European Data Protection Board"
    },
    "PUBLIC_DOMAIN": {
        "name": "Public Domain",
        "url": None,
        "attribution_required": False,
        "modification_allowed": True,
        "commercial_use": True,
        "template": None
    },
    "PROPRIETARY": {
        "name": "Proprietary (internal use only)",
        "url": None,
        "attribution_required": False,
        "modification_allowed": False,
        "commercial_use": True,
        "template": "© BreakPilot - Internal Use Only"
    },
    "OGL-3.0": {
        "name": "Open Government Licence v3.0",
        "url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",
        "attribution_required": True,
        "modification_allowed": True,
        "commercial_use": True,
        "template": "Contains public sector information licensed under the Open Government Licence v3.0. Source: {source_name}"
    }
}


# =============================================================================
# DSFA Sources Registry
# =============================================================================

DSFA_SOURCES = [
    # === Primärquellen (EU/DSGVO) ===
    {
        "source_code": "GDPR_ART35",
        "name": "Art. 35 DSGVO - DSFA",
        "full_name": "Datenschutz-Folgenabschätzung gemäß Artikel 35 DSGVO",
        "organization": "Europäische Union",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj/deu",
        "eur_lex_celex": "32016R0679",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: DSGVO Art. 35 (EUR-Lex)",
        "document_type": "regulation",
        "language": "de"
    },
    {
        "source_code": "GDPR_ART36",
        "name": "Art. 36 DSGVO - Behördenkonsultation",
        "full_name": "Vorherige Konsultation gemäß Artikel 36 DSGVO",
        "organization": "Europäische Union",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj/deu",
        "eur_lex_celex": "32016R0679",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: DSGVO Art. 36 (EUR-Lex)",
        "document_type": "regulation",
        "language": "de"
    },
    {
        "source_code": "GDPR_RECITALS",
        "name": "Erwägungsgründe 75, 84, 89-91 DSGVO",
        "full_name": "Erwägungsgründe zur Datenschutz-Folgenabschätzung",
        "organization": "Europäische Union",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj/deu",
        "eur_lex_celex": "32016R0679",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: DSGVO Erwägungsgründe (EUR-Lex)",
        "document_type": "regulation",
        "language": "de"
    },

    # === WP29/EDPB Leitlinien ===
    {
        "source_code": "WP248",
        "name": "WP248 rev.01 - Leitlinien zur DSFA",
        "full_name": "Leitlinien zur Datenschutz-Folgenabschätzung und Beantwortung der Frage, ob eine Verarbeitung 'wahrscheinlich ein hohes Risiko' birgt",
        "organization": "Artikel-29-Datenschutzgruppe / EDPB",
        "source_url": "https://ec.europa.eu/newsroom/article29/items/611236/en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Quelle: WP248 rev.01, Artikel-29-Datenschutzgruppe (2017), bestätigt durch EDPB",
        "document_type": "guideline",
        "language": "de"
    },

    # === DSK Dokumente ===
    {
        "source_code": "DSK_KP5",
        "name": "Kurzpapier Nr. 5 - DSFA nach Art. 35 DS-GVO",
        "full_name": "DSK Kurzpapier Nr. 5: Datenschutz-Folgenabschätzung nach Art. 35 DS-GVO",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/media/kp/dsk_kpnr_5.pdf",
        "license_code": "DL-DE-BY-2.0",
        "license_url": "https://www.govdata.de/dl-de/by-2-0",
        "attribution_text": "Quelle: DSK Kurzpapier Nr. 5 (Stand: 2018), Datenlizenz Deutschland – Namensnennung – Version 2.0",
        "document_type": "guideline",
        "language": "de"
    },

    # === Muss-Listen Bund ===
    {
        "source_code": "BFDI_MUSS_PUBLIC",
        "name": "BfDI DSFA-Liste (öffentlicher Bereich)",
        "full_name": "Liste der Verarbeitungsvorgänge nach Art. 35 Abs. 4 DSGVO - Öffentlicher Bereich",
        "organization": "Bundesbeauftragter für den Datenschutz und die Informationsfreiheit",
        "source_url": "https://www.bfdi.bund.de/SharedDocs/Downloads/DE/Muster/Liste_VerarbeitungsvorgaengeArt35.pdf",
        "license_code": "DL-DE-ZERO-2.0",
        "attribution_text": "Quelle: BfDI, Liste gem. Art. 35 Abs. 4 DSGVO (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "BFDI_MUSS_PRIVATE",
        "name": "BfDI DSFA-Liste (nicht-öffentlicher Bereich)",
        "full_name": "Liste der Verarbeitungsvorgänge nach Art. 35 Abs. 4 DSGVO - Nicht-öffentlicher Bereich",
        "organization": "Bundesbeauftragter für den Datenschutz und die Informationsfreiheit",
        "source_url": "https://www.bfdi.bund.de/SharedDocs/Downloads/DE/Muster/Liste_VerarbeitungsvorgaengeArt35.pdf",
        "license_code": "DL-DE-ZERO-2.0",
        "attribution_text": "Quelle: BfDI, Liste gem. Art. 35 Abs. 4 DSGVO (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },

    # === Muss-Listen Länder ===
    # Baden-Württemberg
    {
        "source_code": "BW_MUSS_PUBLIC",
        "name": "LfDI BW DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz BW",
        "source_url": "https://www.baden-wuerttemberg.datenschutz.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Baden-Württemberg, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "BW_MUSS_PRIVATE",
        "name": "LfDI BW DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz BW",
        "source_url": "https://www.baden-wuerttemberg.datenschutz.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Baden-Württemberg, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Bayern
    {
        "source_code": "BY_MUSS_PUBLIC",
        "name": "BayLDA DSFA-Liste (öffentlich)",
        "organization": "Bayerisches Landesamt für Datenschutzaufsicht",
        "source_url": "https://www.lda.bayern.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: BayLDA, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "BY_MUSS_PRIVATE",
        "name": "BayLDA DSFA-Liste (nicht-öffentlich)",
        "organization": "Bayerisches Landesamt für Datenschutzaufsicht",
        "source_url": "https://www.lda.bayern.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: BayLDA, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Berlin
    {
        "source_code": "BE_MUSS_PUBLIC",
        "name": "BlnBDI DSFA-Liste (öffentlich)",
        "organization": "Berliner Beauftragte für Datenschutz",
        "source_url": "https://www.datenschutz-berlin.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: BlnBDI, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "BE_MUSS_PRIVATE",
        "name": "BlnBDI DSFA-Liste (nicht-öffentlich)",
        "organization": "Berliner Beauftragte für Datenschutz",
        "source_url": "https://www.datenschutz-berlin.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: BlnBDI, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Brandenburg
    {
        "source_code": "BB_MUSS_PUBLIC",
        "name": "LDA BB DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Brandenburg",
        "source_url": "https://www.lda.brandenburg.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LDA Brandenburg, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "BB_MUSS_PRIVATE",
        "name": "LDA BB DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Brandenburg",
        "source_url": "https://www.lda.brandenburg.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LDA Brandenburg, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Bremen
    {
        "source_code": "HB_MUSS_PUBLIC",
        "name": "LfDI HB DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Bremen",
        "source_url": "https://www.datenschutz.bremen.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Bremen, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "HB_MUSS_PRIVATE",
        "name": "LfDI HB DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Bremen",
        "source_url": "https://www.datenschutz.bremen.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Bremen, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Hamburg
    {
        "source_code": "HH_MUSS_PUBLIC",
        "name": "HmbBfDI DSFA-Liste (öffentlich)",
        "organization": "Hamburgische Beauftragte für Datenschutz",
        "source_url": "https://datenschutz-hamburg.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: HmbBfDI, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "HH_MUSS_PRIVATE",
        "name": "HmbBfDI DSFA-Liste (nicht-öffentlich)",
        "organization": "Hamburgische Beauftragte für Datenschutz",
        "source_url": "https://datenschutz-hamburg.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: HmbBfDI, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Hessen
    {
        "source_code": "HE_MUSS_PUBLIC",
        "name": "HBDI DSFA-Liste (öffentlich)",
        "organization": "Hessischer Beauftragter für Datenschutz",
        "source_url": "https://datenschutz.hessen.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: HBDI, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "HE_MUSS_PRIVATE",
        "name": "HBDI DSFA-Liste (nicht-öffentlich)",
        "organization": "Hessischer Beauftragter für Datenschutz",
        "source_url": "https://datenschutz.hessen.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: HBDI, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Mecklenburg-Vorpommern
    {
        "source_code": "MV_MUSS_PUBLIC",
        "name": "LfDI MV DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz MV",
        "source_url": "https://www.datenschutz-mv.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI MV, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "MV_MUSS_PRIVATE",
        "name": "LfDI MV DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz MV",
        "source_url": "https://www.datenschutz-mv.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI MV, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Niedersachsen
    {
        "source_code": "NI_MUSS_PUBLIC",
        "name": "LfD NI DSFA-Liste (öffentlich)",
        "organization": "Die Landesbeauftragte für den Datenschutz Niedersachsen",
        "source_url": "https://www.lfd.niedersachsen.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfD Niedersachsen, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "NI_MUSS_PRIVATE",
        "name": "LfD NI DSFA-Liste (nicht-öffentlich)",
        "organization": "Die Landesbeauftragte für den Datenschutz Niedersachsen",
        "source_url": "https://www.lfd.niedersachsen.de/download/131098",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfD Niedersachsen, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Nordrhein-Westfalen
    {
        "source_code": "NW_MUSS_PUBLIC",
        "name": "LDI NRW DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz NRW",
        "source_url": "https://www.ldi.nrw.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LDI NRW, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "NW_MUSS_PRIVATE",
        "name": "LDI NRW DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz NRW",
        "source_url": "https://www.ldi.nrw.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LDI NRW, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Rheinland-Pfalz
    {
        "source_code": "RP_MUSS_PUBLIC",
        "name": "LfDI RP DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz Rheinland-Pfalz",
        "source_url": "https://www.datenschutz.rlp.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Rheinland-Pfalz, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "RP_MUSS_PRIVATE",
        "name": "LfDI RP DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz Rheinland-Pfalz",
        "source_url": "https://www.datenschutz.rlp.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Rheinland-Pfalz, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Saarland
    {
        "source_code": "SL_MUSS_PUBLIC",
        "name": "LfDI SL DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Saarland",
        "source_url": "https://www.datenschutz.saarland.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Saarland, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "SL_MUSS_PRIVATE",
        "name": "LfDI SL DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragte für Datenschutz Saarland",
        "source_url": "https://www.datenschutz.saarland.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfDI Saarland, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Sachsen
    {
        "source_code": "SN_MUSS_PUBLIC",
        "name": "SDB DSFA-Liste (öffentlich)",
        "organization": "Sächsischer Datenschutzbeauftragter",
        "source_url": "https://www.saechsdsb.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: SDB Sachsen, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "SN_MUSS_PRIVATE",
        "name": "SDB DSFA-Liste (nicht-öffentlich)",
        "organization": "Sächsischer Datenschutzbeauftragter",
        "source_url": "https://www.saechsdsb.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: SDB Sachsen, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Sachsen-Anhalt
    {
        "source_code": "ST_MUSS_PUBLIC",
        "name": "LfD ST DSFA-Liste (öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz Sachsen-Anhalt",
        "source_url": "https://datenschutz.sachsen-anhalt.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfD Sachsen-Anhalt, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "ST_MUSS_PRIVATE",
        "name": "LfD ST DSFA-Liste (nicht-öffentlich)",
        "organization": "Landesbeauftragter für Datenschutz Sachsen-Anhalt",
        "source_url": "https://datenschutz.sachsen-anhalt.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: LfD Sachsen-Anhalt, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Schleswig-Holstein
    {
        "source_code": "SH_MUSS_PUBLIC",
        "name": "ULD DSFA-Liste (öffentlich)",
        "organization": "Unabhängiges Landeszentrum für Datenschutz SH",
        "source_url": "https://www.datenschutzzentrum.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: ULD Schleswig-Holstein, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "SH_MUSS_PRIVATE",
        "name": "ULD DSFA-Liste (nicht-öffentlich)",
        "organization": "Unabhängiges Landeszentrum für Datenschutz SH",
        "source_url": "https://www.datenschutzzentrum.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: ULD Schleswig-Holstein, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    # Thüringen
    {
        "source_code": "TH_MUSS_PUBLIC",
        "name": "TLfDI DSFA-Liste (öffentlich)",
        "organization": "Thüringer Landesbeauftragter für Datenschutz",
        "source_url": "https://www.tlfdi.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: TLfDI Thüringen, DSFA-Muss-Liste (öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },
    {
        "source_code": "TH_MUSS_PRIVATE",
        "name": "TLfDI DSFA-Liste (nicht-öffentlich)",
        "organization": "Thüringer Landesbeauftragter für Datenschutz",
        "source_url": "https://www.tlfdi.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: TLfDI Thüringen, DSFA-Muss-Liste (nicht-öffentlicher Bereich)",
        "document_type": "checklist",
        "language": "de"
    },

    # === Sonstige ===
    {
        "source_code": "AI_ACT_DSFA",
        "name": "AI Act Bezüge zu DSFA",
        "full_name": "AI Act Artikel mit Bezug zur Datenschutz-Folgenabschätzung",
        "organization": "Europäische Union",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: AI Act (EU) 2024/1689, EUR-Lex",
        "document_type": "regulation",
        "language": "de"
    },
    {
        "source_code": "DSK_OH_KI",
        "name": "DSK Orientierungshilfe KI",
        "full_name": "DSK Orientierungshilfe KI und Datenschutz",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: DSK Orientierungshilfe KI und Datenschutz",
        "document_type": "guideline",
        "language": "de"
    },
    {
        "source_code": "EDSA_GUIDELINES",
        "name": "EDPB Guidelines on DPIA",
        "full_name": "European Data Protection Board Guidelines on DPIA",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines on Data Protection Impact Assessment",
        "document_type": "guideline",
        "language": "en"
    },

    # === DSK Weitere Kurzpapiere ===
    {
        "source_code": "DSK_KP18",
        "name": "Kurzpapier Nr. 18 - Risiko für die Rechte und Freiheiten",
        "full_name": "DSK Kurzpapier Nr. 18: Risiko für die Rechte und Freiheiten natürlicher Personen",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/media/kp/dsk_kpnr_18.pdf",
        "license_code": "DL-DE-BY-2.0",
        "license_url": "https://www.govdata.de/dl-de/by-2-0",
        "attribution_text": "Quelle: DSK Kurzpapier Nr. 18 (Risiko), Datenlizenz Deutschland – Namensnennung – Version 2.0",
        "document_type": "guideline",
        "language": "de"
    },

    # === Standard-Datenschutzmodell ===
    {
        "source_code": "SDM_V2",
        "name": "Standard-Datenschutzmodell V2.0",
        "full_name": "SDM-Methode der Datenschutzaufsichtsbehörden V2.0",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/media/ah/20191106_SDM-Methode_V2.0.pdf",
        "license_code": "DL-DE-BY-2.0",
        "license_url": "https://www.govdata.de/dl-de/by-2-0",
        "attribution_text": "Quelle: SDM V2.0, Datenschutzkonferenz (DSK), Datenlizenz Deutschland – Namensnennung – Version 2.0",
        "document_type": "methodology",
        "language": "de"
    },

    # === Internes Dokument ===
    {
        "source_code": "BREAKPILOT_DSFA_GUIDE",
        "name": "Datenschutz-Folgenabschätzung in Deutschland",
        "full_name": "BreakPilot DSFA-Leitfaden (intern)",
        "organization": "BreakPilot",
        "source_url": None,
        "license_code": "PROPRIETARY",
        "attribution_text": "Quelle: BreakPilot DSFA-Leitfaden (intern)",
        "document_type": "guideline",
        "language": "de"
    },
    {
        "source_code": "BREAKPILOT_BASELINE",
        "name": "Baseline-DSFA Katalog",
        "full_name": "BreakPilot Baseline-DSFA Katalog (proprietär)",
        "organization": "BreakPilot",
        "source_url": None,
        "license_code": "PROPRIETARY",
        "attribution_text": "Quelle: BreakPilot Baseline-DSFA Katalog (intern)",
        "document_type": "catalog",
        "language": "de"
    },
    {
        "source_code": "BREAKPILOT_DSFA_DE",
        "name": "DSFA in Deutschland Dokument",
        "full_name": "BreakPilot DSFA in Deutschland (proprietär)",
        "organization": "BreakPilot",
        "source_url": None,
        "license_code": "PROPRIETARY",
        "attribution_text": "Quelle: BreakPilot DSFA in Deutschland (intern)",
        "document_type": "guideline",
        "language": "de"
    },

    # === VVT-Quellen (Verarbeitungsverzeichnis Art. 30 DSGVO) ===
    {
        "source_code": "DSK_KP1",
        "name": "Kurzpapier Nr. 1 - Verarbeitungsverzeichnis",
        "full_name": "DSK Kurzpapier Nr. 1: Verzeichnis von Verarbeitungstaetigkeiten nach Art. 30 DS-GVO",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/media/kp/dsk_kpnr_1.pdf",
        "license_code": "DL-DE-BY-2.0",
        "license_url": "https://www.govdata.de/dl-de/by-2-0",
        "attribution_text": "Quelle: DSK Kurzpapier Nr. 1 (Stand: 2018), Datenlizenz Deutschland – Namensnennung – Version 2.0",
        "document_type": "guideline",
        "language": "de"
    },
    {
        "source_code": "ICO_ROPA",
        "name": "ICO Records of Processing Activities",
        "full_name": "ICO Guidance on Documentation and Records of Processing Activities (RoPA)",
        "organization": "Information Commissioner's Office (ICO)",
        "source_url": "https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/accountability-and-governance/documentation-record-of-processing-activities/",
        "license_code": "OGL-3.0",
        "license_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",
        "attribution_text": "Contains public sector information licensed under the Open Government Licence v3.0. Source: ICO RoPA Guidance",
        "document_type": "guideline",
        "language": "en"
    },
    {
        "source_code": "BREAKPILOT_VVT_SPEC",
        "name": "VVT Generator Spezifikation",
        "full_name": "BreakPilot VVT Generator Spezifikation (proprietaer)",
        "organization": "BreakPilot",
        "source_url": None,
        "license_code": "PROPRIETARY",
        "attribution_text": "Quelle: BreakPilot VVT Generator Spezifikation (intern)",
        "document_type": "specification",
        "language": "de"
    },

    # === SDM Bausteine V3.0 (TOM Gewaehrleistungsziele) ===
    {
        "source_code": "SDM_BAUSTEINE",
        "name": "SDM Bausteine V3.0",
        "full_name": "Standard-Datenschutzmodell Bausteine Version 3.0",
        "organization": "Konferenz der unabhaengigen Datenschutzaufsichtsbehoerden",
        "source_url": "https://www.datenschutz-mv.de/datenschutz/sdm/",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: SDM Bausteine V3.0, Konferenz der unabhaengigen Datenschutzaufsichtsbehoerden des Bundes und der Laender, Lizenz: dl-de/by-2-0",
        "document_type": "standard",
        "language": "de"
    },

    # === DSK Kurzpapier Nr. 7 (Loeschung) ===
    {
        "source_code": "DSK_KP7",
        "name": "DSK Kurzpapier Nr. 7 - Loeschung",
        "full_name": "Kurzpapier Nr. 7: Marktortprinzip und Loeschung personenbezogener Daten",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/kurzpapiere.html",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: DSK Kurzpapier Nr. 7, Datenschutzkonferenz, Lizenz: dl-de/by-2-0",
        "document_type": "guidance",
        "language": "de"
    },

    # === BreakPilot Loeschfristen + TOM Spec (intern) ===
    {
        "source_code": "BREAKPILOT_LF_TOM_SPEC",
        "name": "Loeschfristen & TOM Generator Spezifikation",
        "full_name": "BreakPilot Loeschfristen und TOM Generator Spezifikation (proprietaer)",
        "organization": "BreakPilot",
        "source_url": None,
        "license_code": "PROPRIETARY",
        "attribution_text": "Quelle: BreakPilot Loeschfristen & TOM Generator Spezifikation (intern)",
        "document_type": "specification",
        "language": "de"
    },

    # === Compliance Advisor Agent - Zusaetzliche Quellen ===
    {
        "source_code": "DSGVO_VOLLTEXT",
        "name": "DSGVO Volltext",
        "full_name": "Verordnung (EU) 2016/679 - Datenschutz-Grundverordnung (Volltext mit Erwaegsgruenden)",
        "organization": "Europaeische Union",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj/deu",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: DSGVO Volltext, Europaeische Union, CC BY 4.0",
        "document_type": "legislation",
        "language": "de"
    },
    {
        "source_code": "BDSG_VOLLTEXT",
        "name": "BDSG Volltext",
        "full_name": "Bundesdatenschutzgesetz (BDSG) - Volltext",
        "organization": "Bundesrepublik Deutschland",
        "source_url": "https://www.gesetze-im-internet.de/bdsg_2018/",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: BDSG, Bundesrepublik Deutschland",
        "document_type": "legislation",
        "language": "de"
    },
    {
        "source_code": "AI_ACT_SUMMARY",
        "name": "AI Act Zusammenfassung",
        "full_name": "EU KI-Verordnung (AI Act) - Zusammenfassung und Kernpunkte",
        "organization": "Europaeische Union",
        "source_url": "https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32024R1689",
        "license_code": "CC-BY-4.0",
        "attribution_text": "Quelle: AI Act, Europaeische Union, CC BY 4.0",
        "document_type": "legislation",
        "language": "de"
    },
    {
        "source_code": "DSK_KURZPAPIERE_ALLE",
        "name": "DSK Kurzpapiere (alle 20)",
        "full_name": "Datenschutzkonferenz - Alle 20 Kurzpapiere zur DSGVO",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutzkonferenz-online.de/kurzpapiere.html",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: DSK Kurzpapiere, Datenschutzkonferenz, Lizenz: dl-de/by-2-0",
        "document_type": "guidance",
        "language": "de"
    },
    {
        "source_code": "SDM_V3",
        "name": "Standard-Datenschutzmodell V3.0",
        "full_name": "SDM - Standard-Datenschutzmodell Version 3.0",
        "organization": "Datenschutzkonferenz (DSK)",
        "source_url": "https://www.datenschutz-mv.de/datenschutz/sdm/",
        "license_code": "DL-DE-BY-2.0",
        "attribution_text": "Quelle: SDM V3.0, Datenschutzkonferenz, Lizenz: dl-de/by-2-0",
        "document_type": "standard",
        "language": "de"
    },

    # === EDPB Ergaenzende Leitlinien ===
    # MIGRATED to bp_legal_corpus via migrate_rag_chunks.py (2026-02-10)
    {
        "source_code": "EDPB_GUIDELINES_2_2019",
        "name": "EDPB Leitlinien 2/2019 zu Art. 6(1)(b)",
        "full_name": "EDPB Leitlinien 2/2019 zur Verarbeitung personenbezogener Daten auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-22019-processing-personal-data-under-article-61b_en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines 2/2019, European Data Protection Board",
        "document_type": "guideline",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "EDPB_GUIDELINES_3_2019",
        "name": "EDPB Leitlinien 3/2019 Videoueberwachung",
        "full_name": "EDPB Leitlinien 3/2019 zur Verarbeitung personenbezogener Daten durch Videoueberwachung",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-32019-processing-personal-data-through-video_en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines 3/2019, European Data Protection Board",
        "document_type": "guideline",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "EDPB_GUIDELINES_5_2020",
        "name": "EDPB Leitlinien 5/2020 Einwilligung",
        "full_name": "EDPB Leitlinien 5/2020 zur Einwilligung gemaess Verordnung 2016/679",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-052020-consent-under-regulation-2016679_en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines 5/2020, European Data Protection Board",
        "document_type": "guideline",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "EDPB_GUIDELINES_7_2020",
        "name": "EDPB Leitlinien 7/2020 Controller/Processor",
        "full_name": "EDPB Leitlinien 7/2020 zu den Begriffen Verantwortlicher und Auftragsverarbeiter",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-072020-concepts-controller-and-processor-gdpr_en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines 7/2020, European Data Protection Board",
        "document_type": "guideline",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "EDPB_GUIDELINES_1_2022",
        "name": "EDPB Leitlinien 1/2022 Bussgelder",
        "full_name": "EDPB Leitlinien 04/2022 zur Berechnung von Bussgeldern nach der DSGVO",
        "organization": "European Data Protection Board",
        "source_url": "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-042022-calculation-administrative-fines-under-gdpr_en",
        "license_code": "EDPB-LICENSE",
        "attribution_text": "Source: EDPB Guidelines 04/2022, European Data Protection Board",
        "document_type": "guideline",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "SCC_FULL_TEXT",
        "name": "Standard Contractual Clauses Volltext",
        "full_name": "Standardvertragsklauseln fuer die Uebermittlung personenbezogener Daten an Drittlaender (2021/914/EU)",
        "organization": "Europaeische Kommission",
        "source_url": "https://eur-lex.europa.eu/eli/dec_impl/2021/914/oj",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: SCC Volltext, Europaeische Kommission (EUR-Lex)",
        "document_type": "regulation",
        "language": "de",
        "migrated_to": "bp_legal_corpus"
    },

    # === Nationale Datenschutzgesetze (DSGVO-Umsetzungen) ===
    # MIGRATED to bp_legal_corpus via migrate_rag_chunks.py (2026-02-10)
    # These sources are kept here for reference but will be skipped during ingestion.
    # Ingestion should target bp_legal_corpus for these source codes.
    {
        "source_code": "BDSG_FULL",
        "name": "BDSG Volltext (Deutschland)",
        "full_name": "Bundesdatenschutzgesetz (BDSG) - Volltext inkl. aller Teile",
        "organization": "Bundesrepublik Deutschland",
        "source_url": "https://www.gesetze-im-internet.de/bdsg_2018/",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: BDSG, Bundesrepublik Deutschland (gesetze-im-internet.de)",
        "document_type": "legislation",
        "language": "de",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "AT_DSG",
        "name": "DSG Oesterreich",
        "full_name": "Bundesgesetz zum Schutz natuerlicher Personen bei der Verarbeitung personenbezogener Daten (Datenschutzgesetz - DSG)",
        "organization": "Republik Oesterreich",
        "source_url": "https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10001597",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: DSG, Republik Oesterreich (RIS)",
        "document_type": "legislation",
        "language": "de",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "CH_DSG",
        "name": "DSG Schweiz (revDSG 2023)",
        "full_name": "Bundesgesetz ueber den Datenschutz (Datenschutzgesetz, DSG) - revidierte Fassung 2023",
        "organization": "Schweizerische Eidgenossenschaft",
        "source_url": "https://www.fedlex.admin.ch/eli/cc/2022/491/de",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: DSG, Schweizerische Eidgenossenschaft (Fedlex)",
        "document_type": "legislation",
        "language": "de",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "LI_DSG",
        "name": "DSG Liechtenstein",
        "full_name": "Datenschutzgesetz (DSG) Liechtenstein",
        "organization": "Fuerstentum Liechtenstein",
        "source_url": "https://www.gesetze.li/konso/2018.272",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Quelle: DSG, Fuerstentum Liechtenstein (gesetze.li)",
        "document_type": "legislation",
        "language": "de",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "FR_CNIL_GUIDE",
        "name": "CNIL Guide RGPD",
        "full_name": "Guide pratique RGPD - Commission Nationale de l'Informatique et des Libertes",
        "organization": "CNIL (France)",
        "source_url": "https://www.cnil.fr/fr/rgpd-de-quoi-parle-t-on",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Source: CNIL Guide RGPD, Commission Nationale de l'Informatique et des Libertes",
        "document_type": "guideline",
        "language": "fr",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "ES_LOPDGDD",
        "name": "LOPDGDD Spanien",
        "full_name": "Ley Organica de Proteccion de Datos Personales y garantia de los derechos digitales",
        "organization": "Reino de Espana",
        "source_url": "https://www.boe.es/buscar/act.php?id=BOE-A-2018-16673",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Fuente: LOPDGDD, Reino de Espana (BOE)",
        "document_type": "legislation",
        "language": "es",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "IT_CODICE_PRIVACY",
        "name": "Codice Privacy Italien",
        "full_name": "Codice in materia di protezione dei dati personali (D.Lgs. 196/2003, aggiornato D.Lgs. 101/2018)",
        "organization": "Repubblica Italiana",
        "source_url": "https://www.garanteprivacy.it/home/docweb/-/docweb-display/docweb/9042678",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Fonte: Codice Privacy, Garante per la protezione dei dati personali",
        "document_type": "legislation",
        "language": "it",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "NL_UAVG",
        "name": "UAVG Niederlande",
        "full_name": "Uitvoeringswet Algemene verordening gegevensbescherming (UAVG)",
        "organization": "Koninkrijk der Nederlanden",
        "source_url": "https://wetten.overheid.nl/BWBR0040940/",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Bron: UAVG, Koninkrijk der Nederlanden (wetten.overheid.nl)",
        "document_type": "legislation",
        "language": "nl",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "BE_DPA_LAW",
        "name": "Datenschutzgesetz Belgien",
        "full_name": "Loi relative a la protection des personnes physiques a l'egard des traitements de donnees a caractere personnel",
        "organization": "Royaume de Belgique",
        "source_url": "https://www.ejustice.just.fgov.be/cgi_loi/change_lg.pl?language=fr&la=F&cn=2018073046",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Source: Loi Protection des Donnees, Royaume de Belgique (eJustice)",
        "document_type": "legislation",
        "language": "fr",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "LU_DPA_LAW",
        "name": "Datenschutzgesetz Luxemburg",
        "full_name": "Loi du 1er aout 2018 portant organisation de la Commission nationale pour la protection des donnees",
        "organization": "Grand-Duche de Luxembourg",
        "source_url": "https://legilux.public.lu/eli/etat/leg/loi/2018/08/01/a686/jo",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Source: Loi Protection des Donnees, Grand-Duche de Luxembourg (Legilux)",
        "document_type": "legislation",
        "language": "fr",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "IE_DPA_2018",
        "name": "Data Protection Act 2018 Ireland",
        "full_name": "Data Protection Act 2018 (Act No. 7 of 2018) - Ireland",
        "organization": "Government of Ireland",
        "source_url": "https://www.irishstatutebook.ie/eli/2018/act/7/enacted/en/html",
        "license_code": "OGL-3.0",
        "attribution_text": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Data Protection Act 2018, Ireland",
        "document_type": "legislation",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "UK_DPA_2018",
        "name": "Data Protection Act 2018 UK",
        "full_name": "Data Protection Act 2018 (c. 12) - United Kingdom",
        "organization": "Government of the United Kingdom",
        "source_url": "https://www.legislation.gov.uk/ukpga/2018/12/contents/enacted",
        "license_code": "OGL-3.0",
        "attribution_text": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Data Protection Act 2018, UK",
        "document_type": "legislation",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "UK_GDPR",
        "name": "UK GDPR (retained EU law)",
        "full_name": "United Kingdom General Data Protection Regulation (UK GDPR) - retained EU law",
        "organization": "Government of the United Kingdom",
        "source_url": "https://www.legislation.gov.uk/eur/2016/679/contents",
        "license_code": "OGL-3.0",
        "attribution_text": "Contains public sector information licensed under the Open Government Licence v3.0. Source: UK GDPR, legislation.gov.uk",
        "document_type": "legislation",
        "language": "en",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "NO_PERSONOPPLYSNINGSLOVEN",
        "name": "Personopplysningsloven Norwegen",
        "full_name": "Lov om behandling av personopplysninger (personopplysningsloven)",
        "organization": "Kongeriket Norge",
        "source_url": "https://lovdata.no/dokument/NL/lov/2018-06-15-38",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Kilde: Personopplysningsloven, Kongeriket Norge (Lovdata)",
        "document_type": "legislation",
        "language": "no",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "SE_DATASKYDDSLAG",
        "name": "Dataskyddslag Schweden",
        "full_name": "Lag (2018:218) med kompletterande bestammelser till EU:s dataskyddsforordning",
        "organization": "Konungariket Sverige",
        "source_url": "https://www.riksdagen.se/sv/dokument-och-lagar/dokument/svensk-forfattningssamling/lag-2018218-med-kompletterande-bestammelser-till_sfs-2018-218/",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Kalla: Dataskyddslag (2018:218), Konungariket Sverige (Riksdagen)",
        "document_type": "legislation",
        "language": "sv",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "DK_DATABESKYTTELSESLOVEN",
        "name": "Databeskyttelsesloven Daenemark",
        "full_name": "Lov om supplerende bestemmelser til forordning om beskyttelse af fysiske personer i forbindelse med behandling af personoplysninger",
        "organization": "Kongeriget Danmark",
        "source_url": "https://www.retsinformation.dk/eli/lta/2018/502",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Kilde: Databeskyttelsesloven, Kongeriget Danmark (Retsinformation)",
        "document_type": "legislation",
        "language": "da",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "FI_TIETOSUOJALAKI",
        "name": "Tietosuojalaki Finnland",
        "full_name": "Tietosuojalaki (1050/2018) - Datenschutzgesetz Finnland",
        "organization": "Suomen tasavalta",
        "source_url": "https://www.finlex.fi/fi/laki/ajantasa/2018/20181050",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Lahde: Tietosuojalaki, Suomen tasavalta (Finlex)",
        "document_type": "legislation",
        "language": "fi",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "PL_UODO",
        "name": "UODO Polen",
        "full_name": "Ustawa o ochronie danych osobowych - Datenschutzgesetz Polen",
        "organization": "Rzeczpospolita Polska",
        "source_url": "https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20180001000",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Zrodlo: Ustawa o ochronie danych osobowych, Rzeczpospolita Polska (ISAP)",
        "document_type": "legislation",
        "language": "pl",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "CZ_ZOU",
        "name": "Zakon o ochrane osobnich udaju Tschechien",
        "full_name": "Zakon c. 110/2019 Sb. o zpracovani osobnich udaju",
        "organization": "Ceska republika",
        "source_url": "https://www.zakonyprolidi.cz/cs/2019-110",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Zdroj: Zakon o ochrane osobnich udaju, Ceska republika (zakonyprolidi.cz)",
        "document_type": "legislation",
        "language": "cs",
        "migrated_to": "bp_legal_corpus"
    },
    {
        "source_code": "HU_INFOTV",
        "name": "Informacios torvenye Ungarn",
        "full_name": "2011. evi CXII. torveny az informacios onrendelkezesi jogrol es az informacioszabadsagrol (Infotv.)",
        "organization": "Magyarorszag",
        "source_url": "https://njt.hu/jogszabaly/2011-112-00-00",
        "license_code": "PUBLIC_DOMAIN",
        "attribution_text": "Forras: Infotv., Magyarorszag (njt.hu)",
        "document_type": "legislation",
        "language": "hu",
        "migrated_to": "bp_legal_corpus"
    },
]


# =============================================================================
# Chunking Configuration
# =============================================================================

DSFA_CHUNK_CONFIG = {
    # WP248 - Kriterien einzeln chunken
    "WP248": {
        "strategy": "section_based",
        "section_markers": [r"K1[:\s]", r"K2[:\s]", r"K3[:\s]", r"K4[:\s]", r"K5[:\s]",
                          r"K6[:\s]", r"K7[:\s]", r"K8[:\s]", r"K9[:\s]"],
        "max_chunk_size": 1500,
        "overlap": 200
    },
    # DSK Kurzpapier - Prozessschritte einzeln
    "DSK_KP5": {
        "strategy": "section_based",
        "section_markers": [r"Schritt\s*1", r"Schritt\s*2", r"Schritt\s*3",
                          r"Schritt\s*4", r"Schritt\s*5", r"Schritt\s*6"],
        "max_chunk_size": 1200,
        "overlap": 150
    },
    # SDM V2.0 - Gewährleistungsziele einzeln
    'SDM_V2': {
        'strategy': 'section_based',
        'section_markers': [
            r'Gewährleistungsziel\s+\d',
            r'\d+\.\d+\s+',
        ],
        'max_chunk_size': 1200,
        'overlap': 150,
        'categories': ['sdm_goal', 'methodology', 'implementation']
    },
    # Muss-Listen - Jeder Eintrag = 1 Chunk
    "MUSS_LISTEN": {
        "strategy": "list_item",
        "list_markers": [r"^•", r"^-", r"^\d+\."],
        "max_chunk_size": 800,
        "overlap": 0
    },
    # DSK Kurzpapier Nr. 1 - VVT Schritte einzeln
    "DSK_KP1": {
        "strategy": "section_based",
        "section_markers": [r"Schritt\s+\d", r"\d+\.\s+"],
        "max_chunk_size": 1000,
        "overlap": 150,
        "categories": ["vvt_guidance", "art30_requirements", "controller_duties"]
    },
    # ICO RoPA - Sections einzeln
    "ICO_ROPA": {
        "strategy": "section_based",
        "section_markers": [r"What\s+should", r"How\s+to", r"Controller", r"Processor"],
        "max_chunk_size": 1000,
        "overlap": 150,
        "categories": ["vvt_guidance", "art30_requirements", "ropa_templates"]
    },
    # SDM Bausteine - Gewaehrleistungsziele einzeln
    "SDM_BAUSTEINE": {
        "strategy": "section_based",
        "section_markers": [
            r"Baustein\s+\d",
            r"Gewaehrleistungsziel",
            r"\d+\.\d+\s+",
        ],
        "max_chunk_size": 1200,
        "overlap": 150,
        "categories": ["sdm_goal", "tom_measure", "implementation"]
    },
    # DSK Kurzpapier Nr. 7 - Loeschung
    "DSK_KP7": {
        "strategy": "section_based",
        "section_markers": [r"Schritt\s+\d", r"\d+\.\s+", r"Loeschkonzept"],
        "max_chunk_size": 1000,
        "overlap": 150,
        "categories": ["loeschung", "art17_requirements", "retention_guidance"]
    },
    # Fallback
    "DEFAULT": {
        "strategy": "recursive",
        "max_chunk_size": 1000,
        "overlap": 200
    }
}
