import type { Locale } from '../i18n/types';
import { docStrings, formatDocDate } from './docStrings';
import type { CompanyProfile, ContentPack } from './types';

/** Gemeinsamer Kopf für interne Prozess-Dokumente. */
function head(
  title: string,
  pack: ContentPack,
  today: string,
  locale: Locale,
  profile?: CompanyProfile,
): string {
  const s = docStrings(locale);
  const company = profile && profile.name.trim() !== '' ? profile.name : '_______________';
  return [
    `# ${title}`,
    '',
    `**${s.meta.company}:** ${company} · **${s.meta.createdAt}:** ${formatDocDate(today, locale)} · Content-Pack v${pack.version}`,
    '',
    s.disclaimer,
    '',
  ].join('\n');
}

/**
 * Vordruck: Interne Melde- und Eskalationsrichtlinie für KI-Vorfälle
 * (interne Meldepflicht — Prozess, der die Art.-73-Meldung vorbereitet).
 */
export function reportingPolicy(
  pack: ContentPack,
  today: string,
  profile?: CompanyProfile,
  locale: Locale = 'de',
): string {
  const T_ALL = {
    de: {
      title: 'Interne Melde- und Eskalationsrichtlinie für KI-Vorfälle (Entwurf)',
      sections: [
        ['1. Zweck', 'Diese Richtlinie regelt die interne Meldepflicht für Störungen und Vorfälle im Zusammenhang mit KI-Systemen. Sie stellt sicher, dass das Unternehmen die gesetzlichen Meldefristen einhalten kann (Art. 73 EU-KI-VO: 15 Tage, Todesfall 10 Tage, weitverbreiteter Verstoß/kritische Infrastruktur 2 Tage).'],
        ['2. Was zu melden ist', 'Jede/r Beschäftigte meldet unverzüglich: (a) Fehlfunktionen oder unerwartetes Verhalten eines KI-Systems, (b) Verdacht auf Schäden für Gesundheit, Sicherheit oder Grundrechte, (c) Verdacht auf Diskriminierung durch KI-gestützte Entscheidungen, (d) Datenschutzvorfälle mit KI-Bezug, (e) Umgehung der menschlichen Aufsicht.'],
        ['3. Meldeweg', 'Erstmeldung an: KI-Beauftragte/r [Name, Kontakt] — mündlich oder über [Kanal]. Bei Nichterreichbarkeit: [Vertretung]. Meldungen sind auch vertraulich möglich; der Schutz nach dem Hinweisgeberschutzgesetz (HinSchG) bleibt unberührt.'],
        ['4. Interne Fristen', 'Meldung durch Beschäftigte: sofort, spätestens 24 Stunden nach Kenntnis. Erstbewertung durch KI-Beauftragte/n: binnen 48 Stunden. Entscheidung über externe Meldung (Art. 73) mit der Geschäftsleitung: unverzüglich, sodass die gesetzlichen Fristen gewahrt bleiben.'],
        ['5. Eskalationsstufen', 'Stufe 1: KI-Beauftragte/r (Bewertung, Eindämmung). Stufe 2: Geschäftsleitung + Datenschutzbeauftragte/r + Recht. Stufe 3: externe Meldung an die Marktüberwachungsbehörde sowie ggf. Information des Anbieters (Art. 26 Abs. 5) und Betroffener.'],
        ['6. Dokumentation', 'Jede Meldung wird mit dem Formular „Vorfallmeldung (Art. 73)" dokumentiert und mindestens [5] Jahre aufbewahrt. Der/die KI-Beauftragte führt das Vorfallregister.'],
        ['7. Keine Sanktionen bei gutgläubiger Meldung', 'Beschäftigten, die in gutem Glauben melden, dürfen keine Nachteile entstehen.'],
        ['8. Inkrafttreten', 'Diese Richtlinie tritt am [Datum] in Kraft.'],
      ],
    },
    en: {
      title: 'Internal reporting and escalation policy for AI incidents (draft)',
      sections: [
        ['1. Purpose', 'This policy defines the internal reporting duty for malfunctions and incidents involving AI systems. It ensures that the company can meet its statutory reporting deadlines (Art. 73 EU AI Act: 15 days, death 10 days, widespread infringement/critical infrastructure 2 days).'],
        ['2. What must be reported', 'Every employee reports without undue delay: (a) malfunctions or unexpected behaviour of an AI system, (b) suspected harm to health, safety or fundamental rights, (c) suspected discrimination by AI-supported decisions, (d) data protection incidents involving AI, (e) circumvention of human oversight.'],
        ['3. Reporting channel', 'First report to: AI officer [name, contact] — verbally or via [channel]. If unavailable: [deputy]. Reports may also be made confidentially; whistleblower protection under the applicable whistleblowing rules remains unaffected.'],
        ['4. Internal deadlines', 'Report by employee: immediately, at the latest within 24 hours of becoming aware. Initial assessment by AI officer: within 48 hours. Decision on external report (Art. 73) with management: without undue delay, so that the statutory deadlines are met.'],
        ['5. Escalation levels', 'Level 1: AI officer (assessment, containment). Level 2: management + data protection officer + legal. Level 3: external report to the market surveillance authority and, where applicable, information of the provider (Art. 26(5)) and affected persons.'],
        ['6. Documentation', 'Every report is documented using the serious incident report form and retained for at least [5] years. The AI officer maintains the incident register.'],
        ['7. No sanctions for good-faith reports', 'Employees who report in good faith must not suffer any disadvantage.'],
        ['8. Entry into force', 'This policy enters into force on [date].'],
      ],
    },
    fr: {
      title: 'Politique interne de signalement et d’escalade pour les incidents d’IA (projet)',
      sections: [
        ['1. Objet', 'La présente politique définit l’obligation interne de signalement des dysfonctionnements et incidents liés aux systèmes d’IA. Elle garantit que l’entreprise peut respecter les délais légaux de notification (art. 73 du règlement européen sur l’IA : 15 jours, décès 10 jours, infraction de grande ampleur/infrastructure critique 2 jours).'],
        ['2. Ce qui doit être signalé', 'Chaque salarié signale sans délai : (a) les dysfonctionnements ou comportements inattendus d’un système d’IA, (b) les soupçons d’atteinte à la santé, à la sécurité ou aux droits fondamentaux, (c) les soupçons de discrimination par des décisions assistées par l’IA, (d) les incidents de protection des données liés à l’IA, (e) le contournement du contrôle humain.'],
        ['3. Canal de signalement', 'Premier signalement à : référent IA [nom, contact] — oralement ou via [canal]. En cas d’indisponibilité : [suppléant]. Les signalements peuvent aussi être effectués de manière confidentielle ; la protection des lanceurs d’alerte au titre de la loi allemande sur la protection des lanceurs d’alerte (HinSchG) demeure inchangée.'],
        ['4. Délais internes', 'Signalement par les salariés : immédiatement, au plus tard 24 heures après en avoir eu connaissance. Première évaluation par le référent IA : sous 48 heures. Décision sur la notification externe (art. 73) avec la direction : sans délai, de sorte que les délais légaux soient respectés.'],
        ['5. Niveaux d’escalade', 'Niveau 1 : référent IA (évaluation, confinement). Niveau 2 : direction + délégué à la protection des données + service juridique. Niveau 3 : notification externe à l’autorité de surveillance du marché ainsi que, le cas échéant, information du fournisseur (art. 26, par. 5) et des personnes concernées.'],
        ['6. Documentation', 'Chaque signalement est documenté au moyen du formulaire de notification d’incident grave et conservé pendant au moins [5] ans. Le référent IA tient le registre des incidents.'],
        ['7. Absence de sanctions en cas de signalement de bonne foi', 'Les salariés qui signalent de bonne foi ne doivent subir aucun préjudice.'],
        ['8. Entrée en vigueur', 'La présente politique entre en vigueur le [date].'],
      ],
    },
    it: {
      title: 'Policy interna di segnalazione ed escalation per incidenti di IA (bozza)',
      sections: [
        ['1. Finalità', 'La presente policy disciplina l’obbligo interno di segnalazione di malfunzionamenti e incidenti connessi ai sistemi di IA. Garantisce che l’azienda possa rispettare i termini di notifica previsti dalla legge (art. 73 del regolamento europeo sull’IA: 15 giorni, decesso 10 giorni, violazione diffusa/infrastruttura critica 2 giorni).'],
        ['2. Che cosa va segnalato', 'Ogni dipendente segnala senza indugio: (a) malfunzionamenti o comportamenti inattesi di un sistema di IA, (b) sospetti danni alla salute, alla sicurezza o ai diritti fondamentali, (c) sospetta discriminazione da parte di decisioni supportate dall’IA, (d) incidenti di protezione dei dati connessi all’IA, (e) elusione della sorveglianza umana.'],
        ['3. Canale di segnalazione', 'Prima segnalazione a: referente IA [nome, contatto] — verbalmente o tramite [canale]. In caso di irreperibilità: [sostituto]. Le segnalazioni possono essere effettuate anche in via riservata; resta impregiudicata la tutela degli informatori ai sensi della legge tedesca sulla protezione degli informatori (HinSchG).'],
        ['4. Termini interni', 'Segnalazione da parte dei dipendenti: subito, al più tardi entro 24 ore dalla conoscenza. Prima valutazione da parte del referente IA: entro 48 ore. Decisione sulla notifica esterna (art. 73) con la direzione: senza indugio, in modo da rispettare i termini di legge.'],
        ['5. Livelli di escalation', 'Livello 1: referente IA (valutazione, contenimento). Livello 2: direzione + responsabile della protezione dei dati + ufficio legale. Livello 3: notifica esterna all’autorità di vigilanza del mercato nonché, se del caso, informazione del fornitore (art. 26, par. 5) e delle persone interessate.'],
        ['6. Documentazione', 'Ogni segnalazione viene documentata con il modulo di notifica degli incidenti gravi e conservata per almeno [5] anni. Il referente IA tiene il registro degli incidenti.'],
        ['7. Nessuna sanzione per segnalazioni in buona fede', 'Ai dipendenti che segnalano in buona fede non deve derivare alcun pregiudizio.'],
        ['8. Entrata in vigore', 'La presente policy entra in vigore il [data].'],
      ],
    },
    es: {
      title: 'Política interna de notificación y escalado para incidentes de IA (borrador)',
      sections: [
        ['1. Objeto', 'Esta política regula la obligación interna de notificar fallos e incidentes relacionados con sistemas de IA. Garantiza que la empresa pueda cumplir los plazos legales de notificación (art. 73 del Reglamento europeo de IA: 15 días, fallecimiento 10 días, infracción generalizada/infraestructura crítica 2 días).'],
        ['2. Qué debe notificarse', 'Cada empleado notifica sin demora: (a) fallos de funcionamiento o comportamientos inesperados de un sistema de IA, (b) sospechas de daños a la salud, la seguridad o los derechos fundamentales, (c) sospechas de discriminación por decisiones apoyadas en IA, (d) incidentes de protección de datos relacionados con la IA, (e) elusión de la supervisión humana.'],
        ['3. Canal de notificación', 'Primera notificación a: responsable de IA [nombre, contacto] — verbalmente o a través de [canal]. Si no está disponible: [suplente]. Las notificaciones también pueden hacerse de forma confidencial; la protección de los denunciantes conforme a la ley alemana de protección de denunciantes (HinSchG) no se ve afectada.'],
        ['4. Plazos internos', 'Notificación por los empleados: de inmediato, a más tardar 24 horas después de tener conocimiento. Evaluación inicial por el responsable de IA: en un plazo de 48 horas. Decisión sobre la notificación externa (art. 73) con la dirección: sin demora, de modo que se respeten los plazos legales.'],
        ['5. Niveles de escalado', 'Nivel 1: responsable de IA (evaluación, contención). Nivel 2: dirección + delegado de protección de datos + departamento jurídico. Nivel 3: notificación externa a la autoridad de vigilancia del mercado y, en su caso, información al proveedor (art. 26, apdo. 5) y a las personas afectadas.'],
        ['6. Documentación', 'Cada notificación se documenta con el formulario de notificación de incidentes graves y se conserva durante al menos [5] años. El responsable de IA lleva el registro de incidentes.'],
        ['7. Sin sanciones por notificaciones de buena fe', 'Los empleados que notifiquen de buena fe no deben sufrir ningún perjuicio.'],
        ['8. Entrada en vigor', 'Esta política entra en vigor el [fecha].'],
      ],
    },
    pl: {
      title: 'Wewnętrzna polityka zgłaszania i eskalacji incydentów AI (projekt)',
      sections: [
        ['1. Cel', 'Niniejsza polityka reguluje wewnętrzny obowiązek zgłaszania zakłóceń i incydentów związanych z systemami AI. Zapewnia, że przedsiębiorstwo może dotrzymać ustawowych terminów zgłoszeń (art. 73 europejskiego rozporządzenia w sprawie AI: 15 dni, zgon 10 dni, naruszenie na szeroką skalę/infrastruktura krytyczna 2 dni).'],
        ['2. Co należy zgłaszać', 'Każdy pracownik niezwłocznie zgłasza: (a) nieprawidłowe działanie lub nieoczekiwane zachowanie systemu AI, (b) podejrzenie szkód dla zdrowia, bezpieczeństwa lub praw podstawowych, (c) podejrzenie dyskryminacji przez decyzje wspierane przez AI, (d) incydenty ochrony danych związane z AI, (e) obchodzenie nadzoru człowieka.'],
        ['3. Ścieżka zgłoszenia', 'Pierwsze zgłoszenie do: pełnomocnik ds. AI [imię i nazwisko, kontakt] — ustnie lub przez [kanał]. W razie niedostępności: [zastępstwo]. Zgłoszenia są możliwe również poufnie; ochrona na podstawie ustawy o ochronie sygnalistów (HinSchG) pozostaje nienaruszona.'],
        ['4. Terminy wewnętrzne', 'Zgłoszenie przez pracowników: natychmiast, najpóźniej 24 godziny od powzięcia wiadomości. Wstępna ocena przez pełnomocnika ds. AI: w ciągu 48 godzin. Decyzja o zgłoszeniu zewnętrznym (art. 73) z zarządem: niezwłocznie, tak aby dotrzymać terminów ustawowych.'],
        ['5. Poziomy eskalacji', 'Poziom 1: pełnomocnik ds. AI (ocena, ograniczenie skutków). Poziom 2: zarząd + inspektor ochrony danych + dział prawny. Poziom 3: zgłoszenie zewnętrzne do organu nadzoru rynku oraz w razie potrzeby poinformowanie dostawcy (art. 26 ust. 5) i osób, których dotyczy incydent.'],
        ['6. Dokumentacja', 'Każde zgłoszenie jest dokumentowane formularzem zgłoszenia poważnego incydentu i przechowywane co najmniej [5] lat. Pełnomocnik ds. AI prowadzi rejestr incydentów.'],
        ['7. Brak sankcji za zgłoszenia w dobrej wierze', 'Pracownicy zgłaszający w dobrej wierze nie mogą ponosić z tego tytułu żadnych negatywnych konsekwencji.'],
        ['8. Wejście w życie', 'Niniejsza polityka wchodzi w życie w dniu [data].'],
      ],
    },
    cs: {
      title: 'Interní politika hlášení a eskalace incidentů AI (návrh)',
      sections: [
        ['1. Účel', 'Tato politika upravuje interní ohlašovací povinnost pro poruchy a incidenty související se systémy AI. Zajišťuje, že společnost může dodržet zákonné lhůty pro hlášení (čl. 73 evropského nařízení o AI: 15 dnů, úmrtí 10 dnů, rozsáhlé porušení/kritická infrastruktura 2 dny).'],
        ['2. Co je třeba hlásit', 'Každý zaměstnanec neprodleně hlásí: (a) poruchy nebo neočekávané chování systému AI, (b) podezření na poškození zdraví, bezpečnosti nebo základních práv, (c) podezření na diskriminaci rozhodnutími podporovanými AI, (d) incidenty v oblasti ochrany osobních údajů související s AI, (e) obcházení lidského dohledu.'],
        ['3. Ohlašovací kanál', 'První hlášení na: pověřenec pro AI [jméno, kontakt] — ústně nebo přes [kanál]. V případě nedostupnosti: [zástupce]. Hlášení lze podat i důvěrně; ochrana oznamovatelů podle německého zákona o ochraně oznamovatelů (HinSchG) zůstává nedotčena.'],
        ['4. Interní lhůty', 'Hlášení zaměstnancem: ihned, nejpozději do 24 hodin od zjištění. Prvotní posouzení pověřencem pro AI: do 48 hodin. Rozhodnutí o externím hlášení (čl. 73) s vedením: neprodleně, aby byly dodrženy zákonné lhůty.'],
        ['5. Úrovně eskalace', 'Úroveň 1: pověřenec pro AI (posouzení, omezení dopadů). Úroveň 2: vedení + pověřenec pro ochranu osobních údajů + právní oddělení. Úroveň 3: externí hlášení orgánu dozoru nad trhem a případně informování poskytovatele (čl. 26 odst. 5) a dotčených osob.'],
        ['6. Dokumentace', 'Každé hlášení se dokumentuje formulářem pro hlášení závažných incidentů a uchovává nejméně [5] let. Pověřenec pro AI vede registr incidentů.'],
        ['7. Žádné sankce za hlášení v dobré víře', 'Zaměstnancům, kteří hlásí v dobré víře, nesmí vzniknout žádná újma.'],
        ['8. Nabytí účinnosti', 'Tato politika nabývá účinnosti dne [datum].'],
      ],
    },
    sk: {
      title: 'Interná politika hlásenia a eskalácie incidentov AI (návrh)',
      sections: [
        ['1. Účel', 'Táto politika upravuje internú ohlasovaciu povinnosť pri poruchách a incidentoch súvisiacich so systémami AI. Zabezpečuje, aby spoločnosť mohla dodržať zákonné lehoty na hlásenie (čl. 73 európskeho nariadenia o AI: 15 dní, úmrtie 10 dní, rozsiahle porušenie/kritická infraštruktúra 2 dni).'],
        ['2. Čo treba hlásiť', 'Každý zamestnanec bezodkladne hlási: (a) poruchy alebo neočakávané správanie systému AI, (b) podozrenie na poškodenie zdravia, bezpečnosti alebo základných práv, (c) podozrenie na diskrimináciu rozhodnutiami podporovanými AI, (d) incidenty v oblasti ochrany osobných údajov súvisiace s AI, (e) obchádzanie ľudského dohľadu.'],
        ['3. Kanál hlásenia', 'Prvé hlásenie na: zodpovedná osoba za AI [meno, kontakt] — ústne alebo cez [kanál]. V prípade nedostupnosti: [zástupca]. Hlásenia možno podať aj dôverne; ochrana oznamovateľov podľa nemeckého zákona o ochrane oznamovateľov (HinSchG) zostáva nedotknutá.'],
        ['4. Interné lehoty', 'Hlásenie zamestnancom: ihneď, najneskôr do 24 hodín od zistenia. Prvotné posúdenie zodpovednou osobou za AI: do 48 hodín. Rozhodnutie o externom hlásení (čl. 73) s vedením: bezodkladne, aby boli dodržané zákonné lehoty.'],
        ['5. Úrovne eskalácie', 'Úroveň 1: zodpovedná osoba za AI (posúdenie, obmedzenie dosahov). Úroveň 2: vedenie + zodpovedná osoba za ochranu údajov + právne oddelenie. Úroveň 3: externé hlásenie orgánu dohľadu nad trhom a v prípade potreby informovanie poskytovateľa (čl. 26 ods. 5) a dotknutých osôb.'],
        ['6. Dokumentácia', 'Každé hlásenie sa dokumentuje formulárom na hlásenie závažných incidentov a uchováva najmenej [5] rokov. Zodpovedná osoba za AI vedie register incidentov.'],
        ['7. Žiadne sankcie za hlásenia v dobrej viere', 'Zamestnancom, ktorí hlásia v dobrej viere, nesmie vzniknúť žiadna ujma.'],
        ['8. Nadobudnutie účinnosti', 'Táto politika nadobúda účinnosť dňa [dátum].'],
      ],
    },
    ro: {
      title: 'Politica internă de raportare și escaladare pentru incidente de IA (proiect)',
      sections: [
        ['1. Scop', 'Prezenta politică reglementează obligația internă de raportare a defecțiunilor și incidentelor legate de sistemele de IA. Ea asigură că întreprinderea poate respecta termenele legale de raportare (art. 73 din Regulamentul european privind IA: 15 zile, deces 10 zile, încălcare pe scară largă/infrastructură critică 2 zile).'],
        ['2. Ce trebuie raportat', 'Fiecare angajat raportează fără întârziere: (a) defecțiuni sau comportamente neașteptate ale unui sistem de IA, (b) suspiciuni de prejudicii aduse sănătății, siguranței sau drepturilor fundamentale, (c) suspiciuni de discriminare prin decizii sprijinite de IA, (d) incidente de protecție a datelor legate de IA, (e) eludarea supravegherii umane.'],
        ['3. Canalul de raportare', 'Prima raportare către: responsabil IA [nume, contact] — verbal sau prin [canal]. În caz de indisponibilitate: [supleant]. Raportările pot fi făcute și confidențial; protecția avertizorilor conform legii germane privind protecția avertizorilor (HinSchG) rămâne neafectată.'],
        ['4. Termene interne', 'Raportare de către angajați: imediat, cel târziu în 24 de ore de la luarea la cunoștință. Evaluare inițială de către responsabilul IA: în termen de 48 de ore. Decizia privind raportarea externă (art. 73) împreună cu conducerea: fără întârziere, astfel încât termenele legale să fie respectate.'],
        ['5. Niveluri de escaladare', 'Nivelul 1: responsabil IA (evaluare, limitarea efectelor). Nivelul 2: conducere + responsabil cu protecția datelor + departamentul juridic. Nivelul 3: raportare externă către autoritatea de supraveghere a pieței și, dacă este cazul, informarea furnizorului (art. 26 alin. 5) și a persoanelor vizate.'],
        ['6. Documentare', 'Fiecare raportare este documentată cu formularul de raportare a incidentelor grave și păstrată cel puțin [5] ani. Responsabilul IA ține registrul incidentelor.'],
        ['7. Fără sancțiuni pentru raportări de bună-credință', 'Angajații care raportează cu bună-credință nu trebuie să sufere niciun dezavantaj.'],
        ['8. Intrare în vigoare', 'Prezenta politică intră în vigoare la [data].'],
      ],
    },
  } as const;
  const T = T_ALL[locale];

  const lines = [head(T.title, pack, today, locale, profile)];
  for (const [sec, body] of T.sections) {
    lines.push(`## ${sec}`, '', body ?? '', '');
  }
  return lines.join('\n');
}

/** Vordruck: Freigabeantrag für ein neues KI-System (interner Genehmigungsprozess). */
export function approvalRequest(
  pack: ContentPack,
  today: string,
  profile?: CompanyProfile,
  locale: Locale = 'de',
): string {
  const s = docStrings(locale);
  const T_ALL = {
    de: {
      title: 'Freigabeantrag für ein neues KI-System (internes Formular)',
      intro: 'Von der anfordernden Fachabteilung auszufüllen, bevor ein neues KI-System produktiv genutzt oder ein bestehendes wesentlich geändert wird. Die Freigabe erteilt [KI-Beauftragte/r / Geschäftsleitung].',
      fields: [
        'Anfordernde Abteilung / Person / Datum',
        'Name und Anbieter des KI-Systems (inkl. Version, Bereitstellungsform: Cloud/On-Premises)',
        'Zweckbestimmung und erwarteter Nutzen',
        'Verarbeitete Datenarten (personenbezogen? besondere Kategorien? Geschäftsgeheimnisse?)',
        'Betroffene Personen (Beschäftigte, Bewerber, Kunden)',
        'Risiko-Voreinschätzung (Annex-III-Bereich betroffen? Transparenz-Auslöser?)',
        'Vorliegende Anbieterunterlagen (Betriebsanleitung, AVV, Zertifizierungen)',
        'Geplante menschliche Aufsicht und verantwortliche Person',
      ],
      decision: 'Entscheidung',
      decisionBody: '☐ freigegeben  ☐ freigegeben mit Auflagen: _______________  ☐ abgelehnt\n\nAuflagen/Hinweise: _______________\n\nDatum, Unterschrift (KI-Beauftragte/r): _______________  Datum, Unterschrift (Geschäftsleitung, soweit erforderlich): _______________\n\nNach Freigabe: System ins KI-Inventar aufnehmen und die Risikobewertung in diesem Tool durchführen.',
    },
    en: {
      title: 'Approval request for a new AI system (internal form)',
      intro: 'To be completed by the requesting department before any productive use of a new AI system or a substantial change to an existing one. Approval is granted by [AI officer / management].',
      fields: [
        'Requesting department / person / date',
        'Name and provider of the AI system (incl. version, deployment form: cloud/on-premises)',
        'Intended purpose and expected benefit',
        'Categories of data processed (personal data? special categories? trade secrets?)',
        'Affected persons (employees, applicants, customers)',
        'Preliminary risk view (Annex III area affected? transparency triggers?)',
        'Provider documents available (instructions for use, DPA, certifications)',
        'Planned human oversight and responsible person',
      ],
      decision: 'Decision',
      decisionBody: '☐ approved  ☐ approved with conditions: _______________  ☐ rejected\n\nConditions/notes: _______________\n\nDate, signature (AI officer): _______________  Date, signature (management, where required): _______________\n\nAfter approval: enter the system in the AI inventory and run the risk assessment in this tool.',
    },
    fr: {
      title: 'Demande d’approbation d’un nouveau système d’IA (formulaire interne)',
      intro: 'À remplir par le service demandeur avant toute utilisation productive d’un nouveau système d’IA ou toute modification substantielle d’un système existant. L’approbation est délivrée par [référent IA / direction].',
      fields: [
        'Service demandeur / personne / date',
        'Nom et fournisseur du système d’IA (version incluse, mode de déploiement : cloud/sur site)',
        'Destination prévue et bénéfice attendu',
        'Catégories de données traitées (données personnelles ? catégories particulières ? secrets d’affaires ?)',
        'Personnes concernées (salariés, candidats, clients)',
        'Pré-évaluation du risque (domaine de l’annexe III concerné ? déclencheurs de transparence ?)',
        'Documents du fournisseur disponibles (notice d’utilisation, contrat de sous-traitance, certifications)',
        'Contrôle humain prévu et personne responsable',
      ],
      decision: 'Décision',
      decisionBody: '☐ approuvé  ☐ approuvé sous conditions : _______________  ☐ rejeté\n\nConditions/remarques : _______________\n\nDate, signature (référent IA) : _______________  Date, signature (direction, si nécessaire) : _______________\n\nAprès approbation : inscrire le système dans l’inventaire IA et effectuer l’évaluation des risques dans cet outil.',
    },
    it: {
      title: 'Richiesta di approvazione per un nuovo sistema di IA (modulo interno)',
      intro: 'Da compilare a cura del reparto richiedente prima di qualsiasi uso produttivo di un nuovo sistema di IA o di una modifica sostanziale di uno esistente. L’approvazione è rilasciata da [referente IA / direzione].',
      fields: [
        'Reparto richiedente / persona / data',
        'Nome e fornitore del sistema di IA (incl. versione, modalità di fornitura: cloud/on-premises)',
        'Finalità prevista e beneficio atteso',
        'Categorie di dati trattati (dati personali? categorie particolari? segreti commerciali?)',
        'Persone interessate (dipendenti, candidati, clienti)',
        'Valutazione preliminare del rischio (area dell’allegato III interessata? fattori che attivano obblighi di trasparenza?)',
        'Documenti del fornitore disponibili (istruzioni per l’uso, accordo sul trattamento dei dati, certificazioni)',
        'Sorveglianza umana prevista e persona responsabile',
      ],
      decision: 'Decisione',
      decisionBody: '☐ approvato  ☐ approvato con condizioni: _______________  ☐ respinto\n\nCondizioni/note: _______________\n\nData, firma (referente IA): _______________  Data, firma (direzione, ove necessario): _______________\n\nDopo l’approvazione: inserire il sistema nell’inventario IA ed eseguire la valutazione del rischio in questo strumento.',
    },
    es: {
      title: 'Solicitud de aprobación de un nuevo sistema de IA (formulario interno)',
      intro: 'A cumplimentar por el departamento solicitante antes de cualquier uso productivo de un nuevo sistema de IA o de un cambio sustancial en uno existente. La aprobación la concede [responsable de IA / dirección].',
      fields: [
        'Departamento solicitante / persona / fecha',
        'Nombre y proveedor del sistema de IA (incl. versión, forma de despliegue: nube/local)',
        'Finalidad prevista y beneficio esperado',
        'Categorías de datos tratados (¿datos personales? ¿categorías especiales? ¿secretos comerciales?)',
        'Personas afectadas (empleados, candidatos, clientes)',
        'Evaluación preliminar del riesgo (¿área del anexo III afectada? ¿desencadenantes de transparencia?)',
        'Documentos del proveedor disponibles (instrucciones de uso, contrato de encargo de tratamiento, certificaciones)',
        'Supervisión humana prevista y persona responsable',
      ],
      decision: 'Decisión',
      decisionBody: '☐ aprobado  ☐ aprobado con condiciones: _______________  ☐ rechazado\n\nCondiciones/observaciones: _______________\n\nFecha, firma (responsable de IA): _______________  Fecha, firma (dirección, cuando proceda): _______________\n\nTras la aprobación: registrar el sistema en el inventario de IA y realizar la evaluación de riesgos en esta herramienta.',
    },
    pl: {
      title: 'Wniosek o zatwierdzenie nowego systemu AI (formularz wewnętrzny)',
      intro: 'Do wypełnienia przez wnioskujący dział przed produkcyjnym użyciem nowego systemu AI lub istotną zmianą istniejącego. Zatwierdzenia udziela [pełnomocnik ds. AI / zarząd].',
      fields: [
        'Wnioskujący dział / osoba / data',
        'Nazwa i dostawca systemu AI (wraz z wersją, forma udostępnienia: chmura/on-premises)',
        'Przeznaczenie i oczekiwane korzyści',
        'Rodzaje przetwarzanych danych (osobowe? szczególne kategorie? tajemnice przedsiębiorstwa?)',
        'Osoby, których dotyczy (pracownicy, kandydaci, klienci)',
        'Wstępna ocena ryzyka (obszar załącznika III? przesłanki obowiązków przejrzystości?)',
        'Dostępne dokumenty dostawcy (instrukcja obsługi, umowa powierzenia przetwarzania, certyfikaty)',
        'Planowany nadzór człowieka i osoba odpowiedzialna',
      ],
      decision: 'Decyzja',
      decisionBody: '☐ zatwierdzono  ☐ zatwierdzono z warunkami: _______________  ☐ odrzucono\n\nWarunki/uwagi: _______________\n\nData, podpis (pełnomocnik ds. AI): _______________  Data, podpis (zarząd, o ile wymagane): _______________\n\nPo zatwierdzeniu: wpisać system do rejestru AI i przeprowadzić ocenę ryzyka w tym narzędziu.',
    },
    cs: {
      title: 'Žádost o schválení nového systému AI (interní formulář)',
      intro: 'Vyplní žádající oddělení před produktivním použitím nového systému AI nebo podstatnou změnou stávajícího. Schválení uděluje [pověřenec pro AI / vedení].',
      fields: [
        'Žádající oddělení / osoba / datum',
        'Název a poskytovatel systému AI (vč. verze, forma nasazení: cloud/on-premises)',
        'Zamýšlený účel a očekávaný přínos',
        'Kategorie zpracovávaných údajů (osobní údaje? zvláštní kategorie? obchodní tajemství?)',
        'Dotčené osoby (zaměstnanci, uchazeči, zákazníci)',
        'Předběžné posouzení rizika (dotčena oblast přílohy III? spouštěče povinností transparentnosti?)',
        'Dostupné podklady poskytovatele (návod k použití, smlouva o zpracování údajů, certifikace)',
        'Plánovaný lidský dohled a odpovědná osoba',
      ],
      decision: 'Rozhodnutí',
      decisionBody: '☐ schváleno  ☐ schváleno s podmínkami: _______________  ☐ zamítnuto\n\nPodmínky/poznámky: _______________\n\nDatum, podpis (pověřenec pro AI): _______________  Datum, podpis (vedení, je-li vyžadováno): _______________\n\nPo schválení: zapsat systém do inventáře AI a provést posouzení rizik v tomto nástroji.',
    },
    sk: {
      title: 'Žiadosť o schválenie nového systému AI (interný formulár)',
      intro: 'Vyplní žiadajúce oddelenie pred produktívnym použitím nového systému AI alebo podstatnou zmenou existujúceho. Schválenie udeľuje [zodpovedná osoba za AI / vedenie].',
      fields: [
        'Žiadajúce oddelenie / osoba / dátum',
        'Názov a poskytovateľ systému AI (vrát. verzie, forma nasadenia: cloud/on-premises)',
        'Zamýšľaný účel a očakávaný prínos',
        'Kategórie spracúvaných údajov (osobné údaje? osobitné kategórie? obchodné tajomstvá?)',
        'Dotknuté osoby (zamestnanci, uchádzači, zákazníci)',
        'Predbežné posúdenie rizika (dotknutá oblasť prílohy III? spúšťače povinností transparentnosti?)',
        'Dostupné podklady poskytovateľa (návod na použitie, zmluva o spracúvaní údajov, certifikácie)',
        'Plánovaný ľudský dohľad a zodpovedná osoba',
      ],
      decision: 'Rozhodnutie',
      decisionBody: '☐ schválené  ☐ schválené s podmienkami: _______________  ☐ zamietnuté\n\nPodmienky/poznámky: _______________\n\nDátum, podpis (zodpovedná osoba za AI): _______________  Dátum, podpis (vedenie, ak sa vyžaduje): _______________\n\nPo schválení: zapísať systém do inventára AI a vykonať posúdenie rizík v tomto nástroji.',
    },
    ro: {
      title: 'Cerere de aprobare pentru un nou sistem de IA (formular intern)',
      intro: 'Se completează de departamentul solicitant înainte de orice utilizare productivă a unui nou sistem de IA sau de o modificare substanțială a unuia existent. Aprobarea este acordată de [responsabil IA / conducere].',
      fields: [
        'Departament solicitant / persoană / dată',
        'Denumirea și furnizorul sistemului de IA (incl. versiunea, forma de furnizare: cloud/on-premises)',
        'Scopul preconizat și beneficiul așteptat',
        'Categorii de date prelucrate (date cu caracter personal? categorii speciale? secrete comerciale?)',
        'Persoane vizate (angajați, candidați, clienți)',
        'Evaluare preliminară a riscului (domeniu din anexa III vizat? factori care declanșează obligații de transparență?)',
        'Documente ale furnizorului disponibile (instrucțiuni de utilizare, acord de prelucrare a datelor, certificări)',
        'Supravegherea umană planificată și persoana responsabilă',
      ],
      decision: 'Decizie',
      decisionBody: '☐ aprobat  ☐ aprobat cu condiții: _______________  ☐ respins\n\nCondiții/observații: _______________\n\nData, semnătura (responsabil IA): _______________  Data, semnătura (conducere, dacă este necesar): _______________\n\nDupă aprobare: înregistrați sistemul în inventarul IA și efectuați evaluarea riscurilor în acest instrument.',
    },
  } as const;
  const T = T_ALL[locale];

  const lines = [head(T.title, pack, today, locale, profile)];
  lines.push(T.intro, '');
  T.fields.forEach((f, i) => {
    lines.push(`## ${i + 1}. ${f}`, '', s.todo, '');
  });
  lines.push(`## ${T.decision}`, '', T.decisionBody);
  return lines.join('\n');
}

/** Vordruck: Interne Audit-Checkliste KI-Compliance (periodische Selbstprüfung). */
export function auditChecklist(
  pack: ContentPack,
  today: string,
  profile?: CompanyProfile,
  locale: Locale = 'de',
): string {
  const T_ALL = {
    de: {
      title: 'Interne Audit-Checkliste KI-Compliance (periodische Selbstprüfung)',
      intro: 'Empfohlener Turnus: alle [6] Monate sowie nach wesentlichen Änderungen. Prüfer: [KI-Beauftragte/r]. Ergebnis an die Geschäftsleitung.',
      cols: '| # | Prüfpunkt | Ergebnis (OK / Lücke) | Maßnahme / Verantwortlich / Frist |',
      sep: '|---|---|---|---|',
      rows: [
        'KI-Inventar vollständig? (Schatten-IT-Check: neue Tools in Fachabteilungen, Browser-Erweiterungen, API-Nutzung)',
        'Risikoklassifizierungen noch zutreffend? (Zweck oder Umfang geändert? Neubewertung durchgeführt?)',
        'Alle Pflichten der Aufgabenliste abgearbeitet oder im Plan?',
        'KI-Kompetenz-Schulungen (Art. 4) für alle relevanten Beschäftigten durchgeführt und dokumentiert?',
        'Transparenzpflichten (Art. 50) in allen kundenseitigen Systemen umgesetzt?',
        'Protokolle der Hochrisiko-Systeme aufbewahrt (mind. 6 Monate) und zugänglich?',
        'Vorfallregister geführt; interne Melderichtlinie den Beschäftigten bekannt?',
        'Anbieterunterlagen (Betriebsanleitung, AVV, Zertifikate) aktuell und abgelegt?',
        'Betriebsvereinbarungen / Mitarbeiterinformationen auf aktuellem Stand?',
        'Änderungen der Länder-Module geprüft (neue Dekrete, Behördenleitlinien)?',
        'Backup der Daten dieses Tools exportiert und abgelegt?',
      ],
      result: 'Gesamtergebnis & Abzeichnung',
      resultBody: 'Festgestellte Lücken: _______________\n\nDatum, Unterschrift (Prüfer): _______________  Datum, Unterschrift (Geschäftsleitung): _______________',
    },
    en: {
      title: 'Internal AI compliance audit checklist (periodic self-review)',
      intro: 'Recommended interval: every [6] months and after material changes. Auditor: [AI officer]. Result to management.',
      cols: '| # | Check | Result (OK / gap) | Action / owner / due date |',
      sep: '|---|---|---|---|',
      rows: [
        'AI inventory complete? (shadow IT check: new tools in departments, browser extensions, API usage)',
        'Risk classifications still accurate? (purpose or scope changed? reassessment run?)',
        'All obligations in the task list processed or on schedule?',
        'AI literacy trainings (Art. 4) carried out and documented for all relevant staff?',
        'Transparency duties (Art. 50) implemented in all customer-facing systems?',
        'Logs of high-risk systems retained (min. 6 months) and accessible?',
        'Incident register maintained; internal reporting policy known to staff?',
        'Provider documents (instructions, DPA, certificates) current and on file?',
        'Works council agreements / employee information up to date?',
        'National module changes checked (new decrees, authority guidance)?',
        'Backup of this tool’s data exported and stored?',
      ],
      result: 'Overall result & sign-off',
      resultBody: 'Gaps found: _______________\n\nDate, signature (auditor): _______________  Date, signature (management): _______________',
    },
    fr: {
      title: 'Check-list d’audit interne — conformité IA (auto-contrôle périodique)',
      intro: 'Fréquence recommandée : tous les [6] mois ainsi qu’après des modifications importantes. Auditeur : [référent IA]. Résultat à la direction.',
      cols: '| # | Point de contrôle | Résultat (OK / lacune) | Mesure / responsable / échéance |',
      sep: '|---|---|---|---|',
      rows: [
        'Inventaire IA complet ? (contrôle de l’IA fantôme : nouveaux outils dans les services, extensions de navigateur, utilisation d’API)',
        'Classifications des risques toujours exactes ? (finalité ou périmètre modifiés ? réévaluation effectuée ?)',
        'Toutes les obligations de la liste des tâches traitées ou dans les délais ?',
        'Formations à la maîtrise de l’IA (art. 4) réalisées et documentées pour tout le personnel concerné ?',
        'Obligations de transparence (art. 50) mises en œuvre dans tous les systèmes orientés clients ?',
        'Journaux des systèmes à haut risque conservés (min. 6 mois) et accessibles ?',
        'Registre des incidents tenu ; politique interne de signalement connue du personnel ?',
        'Documents des fournisseurs (notices d’utilisation, contrat de sous-traitance, certificats) à jour et archivés ?',
        'Accords d’entreprise / informations aux salariés à jour ?',
        'Modifications des modules nationaux vérifiées (nouveaux décrets, lignes directrices des autorités) ?',
        'Sauvegarde des données de cet outil exportée et archivée ?',
      ],
      result: 'Résultat global & validation',
      resultBody: 'Lacunes constatées : _______________\n\nDate, signature (auditeur) : _______________  Date, signature (direction) : _______________',
    },
    it: {
      title: 'Checklist di audit interno — conformità IA (autoverifica periodica)',
      intro: 'Cadenza raccomandata: ogni [6] mesi e dopo modifiche sostanziali. Auditor: [referente IA]. Esito alla direzione.',
      cols: '| # | Punto di verifica | Esito (OK / lacuna) | Misura / responsabile / scadenza |',
      sep: '|---|---|---|---|',
      rows: [
        'Inventario IA completo? (controllo shadow AI: nuovi strumenti nei reparti, estensioni del browser, utilizzo di API)',
        'Classificazioni del rischio ancora corrette? (finalità o ambito modificati? nuova valutazione eseguita?)',
        'Tutti gli obblighi dell’elenco delle attività evasi o nei tempi previsti?',
        'Formazioni di alfabetizzazione IA (art. 4) svolte e documentate per tutto il personale rilevante?',
        'Obblighi di trasparenza (art. 50) attuati in tutti i sistemi rivolti ai clienti?',
        'Log dei sistemi ad alto rischio conservati (min. 6 mesi) e accessibili?',
        'Registro degli incidenti tenuto; policy interna di segnalazione nota al personale?',
        'Documenti dei fornitori (istruzioni per l’uso, accordo sul trattamento dei dati, certificati) aggiornati e archiviati?',
        'Accordi aziendali / informazioni ai dipendenti aggiornati?',
        'Modifiche dei moduli nazionali verificate (nuovi decreti, linee guida delle autorità)?',
        'Backup dei dati di questo strumento esportato e archiviato?',
      ],
      result: 'Esito complessivo e approvazione',
      resultBody: 'Lacune riscontrate: _______________\n\nData, firma (auditor): _______________  Data, firma (direzione): _______________',
    },
    es: {
      title: 'Lista de comprobación de auditoría interna — cumplimiento de IA (autoevaluación periódica)',
      intro: 'Periodicidad recomendada: cada [6] meses y tras cambios sustanciales. Auditor: [responsable de IA]. Resultado a la dirección.',
      cols: '| # | Punto de control | Resultado (OK / deficiencia) | Medida / responsable / plazo |',
      sep: '|---|---|---|---|',
      rows: [
        '¿Inventario de IA completo? (control de IA en la sombra: nuevas herramientas en los departamentos, extensiones de navegador, uso de API)',
        '¿Clasificaciones de riesgo todavía correctas? (¿finalidad o alcance modificados? ¿reevaluación realizada?)',
        '¿Todas las obligaciones de la lista de tareas completadas o dentro del plazo?',
        '¿Formaciones de alfabetización en IA (art. 4) realizadas y documentadas para todo el personal pertinente?',
        '¿Obligaciones de transparencia (art. 50) implementadas en todos los sistemas orientados al cliente?',
        '¿Registros de los sistemas de alto riesgo conservados (mín. 6 meses) y accesibles?',
        '¿Registro de incidentes al día? ¿Política interna de notificación conocida por el personal?',
        '¿Documentos del proveedor (instrucciones de uso, contrato de encargo de tratamiento, certificados) actualizados y archivados?',
        '¿Acuerdos de empresa / información a los empleados actualizados?',
        '¿Cambios en los módulos nacionales comprobados (nuevos decretos, directrices de las autoridades)?',
        '¿Copia de seguridad de los datos de esta herramienta exportada y archivada?',
      ],
      result: 'Resultado global y firma',
      resultBody: 'Deficiencias detectadas: _______________\n\nFecha, firma (auditor): _______________  Fecha, firma (dirección): _______________',
    },
    pl: {
      title: 'Wewnętrzna lista kontrolna audytu zgodności AI (okresowa samokontrola)',
      intro: 'Zalecana częstotliwość: co [6] miesięcy oraz po istotnych zmianach. Audytor: [pełnomocnik ds. AI]. Wynik przekazywany zarządowi.',
      cols: '| # | Punkt kontrolny | Wynik (OK / luka) | Działanie / odpowiedzialny / termin |',
      sep: '|---|---|---|---|',
      rows: [
        'Rejestr AI kompletny? (kontrola shadow AI: nowe narzędzia w działach, rozszerzenia przeglądarki, użycie API)',
        'Klasyfikacje ryzyka nadal trafne? (zmieniony cel lub zakres? przeprowadzono ponowną ocenę?)',
        'Wszystkie obowiązki z listy zadań wykonane lub zgodne z planem?',
        'Szkolenia z kompetencji w zakresie AI (art. 4) przeprowadzone i udokumentowane dla wszystkich właściwych pracowników?',
        'Obowiązki przejrzystości (art. 50) wdrożone we wszystkich systemach skierowanych do klientów?',
        'Logi systemów wysokiego ryzyka przechowywane (min. 6 miesięcy) i dostępne?',
        'Rejestr incydentów prowadzony; wewnętrzna polityka zgłaszania znana pracownikom?',
        'Dokumenty dostawców (instrukcje obsługi, umowa powierzenia przetwarzania, certyfikaty) aktualne i zarchiwizowane?',
        'Porozumienia zakładowe / informacje dla pracowników aktualne?',
        'Zmiany modułów krajowych sprawdzone (nowe dekrety, wytyczne organów)?',
        'Kopia zapasowa danych tego narzędzia wyeksportowana i zarchiwizowana?',
      ],
      result: 'Wynik ogólny i zatwierdzenie',
      resultBody: 'Stwierdzone luki: _______________\n\nData, podpis (audytor): _______________  Data, podpis (zarząd): _______________',
    },
    cs: {
      title: 'Interní auditní kontrolní seznam — compliance AI (pravidelná sebekontrola)',
      intro: 'Doporučený interval: každých [6] měsíců a po podstatných změnách. Auditor: [pověřenec pro AI]. Výsledek vedení.',
      cols: '| # | Kontrolní bod | Výsledek (OK / mezera) | Opatření / odpovědná osoba / termín |',
      sep: '|---|---|---|---|',
      rows: [
        'Inventář AI úplný? (kontrola stínové AI: nové nástroje v odděleních, rozšíření prohlížeče, používání API)',
        'Klasifikace rizik stále správné? (změněn účel nebo rozsah? provedeno nové posouzení?)',
        'Všechny povinnosti ze seznamu úkolů splněny nebo dle plánu?',
        'Školení gramotnosti v oblasti AI (čl. 4) provedena a dokumentována pro všechny relevantní zaměstnance?',
        'Povinnosti transparentnosti (čl. 50) zavedeny ve všech systémech směřujících k zákazníkům?',
        'Protokoly vysoce rizikových systémů uchovávány (min. 6 měsíců) a přístupné?',
        'Registr incidentů veden; interní politika hlášení známa zaměstnancům?',
        'Podklady poskytovatelů (návody k použití, smlouva o zpracování údajů, certifikáty) aktuální a uloženy?',
        'Podnikové dohody / informace pro zaměstnance aktuální?',
        'Změny národních modulů zkontrolovány (nové dekrety, pokyny úřadů)?',
        'Záloha dat tohoto nástroje exportována a uložena?',
      ],
      result: 'Celkový výsledek a schválení',
      resultBody: 'Zjištěné mezery: _______________\n\nDatum, podpis (auditor): _______________  Datum, podpis (vedení): _______________',
    },
    sk: {
      title: 'Interný auditný kontrolný zoznam — compliance AI (pravidelná samokontrola)',
      intro: 'Odporúčaný interval: každých [6] mesiacov a po podstatných zmenách. Audítor: [zodpovedná osoba za AI]. Výsledok vedeniu.',
      cols: '| # | Kontrolný bod | Výsledok (OK / medzera) | Opatrenie / zodpovedný / termín |',
      sep: '|---|---|---|---|',
      rows: [
        'Inventár AI úplný? (kontrola tieňovej AI: nové nástroje v oddeleniach, rozšírenia prehliadača, používanie API)',
        'Klasifikácie rizík stále správne? (zmenený účel alebo rozsah? vykonané nové posúdenie?)',
        'Všetky povinnosti zo zoznamu úloh splnené alebo podľa plánu?',
        'Školenia gramotnosti v oblasti AI (čl. 4) vykonané a zdokumentované pre všetkých relevantných zamestnancov?',
        'Povinnosti transparentnosti (čl. 50) zavedené vo všetkých systémoch orientovaných na zákazníkov?',
        'Protokoly vysokorizikových systémov uchovávané (min. 6 mesiacov) a prístupné?',
        'Register incidentov vedený; interná politika hlásenia známa zamestnancom?',
        'Podklady poskytovateľov (návody na použitie, zmluva o spracúvaní údajov, certifikáty) aktuálne a uložené?',
        'Podnikové dohody / informácie pre zamestnancov aktuálne?',
        'Zmeny národných modulov skontrolované (nové dekréty, usmernenia úradov)?',
        'Záloha údajov tohto nástroja exportovaná a uložená?',
      ],
      result: 'Celkový výsledok a schválenie',
      resultBody: 'Zistené medzery: _______________\n\nDátum, podpis (audítor): _______________  Dátum, podpis (vedenie): _______________',
    },
    ro: {
      title: 'Listă de verificare pentru audit intern — conformitate IA (autoevaluare periodică)',
      intro: 'Periodicitate recomandată: la fiecare [6] luni și după modificări substanțiale. Auditor: [responsabil IA]. Rezultatul se transmite conducerii.',
      cols: '| # | Punct de verificare | Rezultat (OK / lacună) | Măsură / responsabil / termen |',
      sep: '|---|---|---|---|',
      rows: [
        'Inventarul IA este complet? (verificare shadow AI: instrumente noi în departamente, extensii de browser, utilizare de API-uri)',
        'Clasificările de risc sunt încă corecte? (scop sau domeniu modificat? reevaluare efectuată?)',
        'Toate obligațiile din lista de sarcini îndeplinite sau conform planului?',
        'Instruirile de alfabetizare în domeniul IA (art. 4) efectuate și documentate pentru tot personalul relevant?',
        'Obligațiile de transparență (art. 50) implementate în toate sistemele orientate către clienți?',
        'Jurnalele sistemelor cu grad ridicat de risc păstrate (min. 6 luni) și accesibile?',
        'Registrul incidentelor ținut la zi; politica internă de raportare cunoscută de personal?',
        'Documentele furnizorilor (instrucțiuni de utilizare, acord de prelucrare a datelor, certificate) actuale și arhivate?',
        'Acordurile de întreprindere / informările angajaților actualizate?',
        'Modificările modulelor naționale verificate (decrete noi, orientări ale autorităților)?',
        'Copia de siguranță a datelor acestui instrument exportată și arhivată?',
      ],
      result: 'Rezultat general și semnare',
      resultBody: 'Lacune constatate: _______________\n\nData, semnătura (auditor): _______________  Data, semnătura (conducere): _______________',
    },
  } as const;
  const T = T_ALL[locale];

  const lines = [head(T.title, pack, today, locale, profile)];
  lines.push(T.intro, '', T.cols, T.sep);
  T.rows.forEach((row, i) => {
    lines.push(`| ${i + 1} | ${row} | | |`);
  });
  lines.push('', `## ${T.result}`, '', T.resultBody);
  return lines.join('\n');
}
