Registri operativi Codice Etico (template di riga) #31

Open
javaxman wants to merge 1 commits from feat/registri-operativi-codice-etico into main
3 changed files with 483 additions and 6 deletions

View File

@ -37,7 +37,7 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
it: { it: {
page: { page: {
title: 'Allegati al Codice Etico — NexStudio', title: 'Allegati al Codice Etico — NexStudio',
description: 'Template operativi allegati al Codice Etico NexStudio: adesione, NDA, checklist, DPIA, privacy, SBOM, retention, AI impact, piano formazione, responsible disclosure.', description: 'Template operativi allegati al Codice Etico NexStudio: adesione, NDA, checklist, DPIA, privacy, SBOM, retention, AI impact, piano formazione, responsible disclosure, registri operativi.',
heading: 'Allegati e moduli operativi', heading: 'Allegati e moduli operativi',
lead: 'Documenti complementari al Codice Etico. Ciascun allegato è un template da personalizzare e adottare secondo le esigenze operative.', lead: 'Documenti complementari al Codice Etico. Ciascun allegato è un template da personalizzare e adottare secondo le esigenze operative.',
backLabel: '← Torna al Codice Etico', backLabel: '← Torna al Codice Etico',
@ -690,12 +690,166 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
], ],
footer: 'Approvazione policy: CISO _______ · CTO _______ · Legal _______ · Data _______', footer: 'Approvazione policy: CISO _______ · CTO _______ · Legal _______ · Data _______',
}, },
{
id: 'registri-operativi',
heading: 'Registri operativi — template di riga',
description: 'Schemi minimi per registro trattamenti, incidenti/breach, inventario SBOM operativo e log di retention/cancellazione.',
intro:
'Documento collegato alla sezione 17 del Codice Etico. Ogni registro può vivere in foglio condiviso, HRIS o ticket system; i campi sotto sono obbligatori per audit. Complementare a: modello DPIA, template SBOM, policy retention, flowchart incidenti.',
sections: [
{
title: '1. Principi comuni',
content: [
'Owner del registro: ruolo nominato (DPO, CISO, CTO o Legal) con backup.',
'Aggiornamento: a ogni nuovo trattamento / incidente / release / cancellazione rilevante; revisione periodica almeno trimestrale.',
'Conservazione: allineata alla policy di retention; export disponibile per autorità e audit.',
'Formato: una riga = un record; ID univoco; data ultimo aggiornamento obbligatoria.',
],
},
{
title: '2. Registro dei trattamenti (RoPA / art. 30 GDPR / PDPA)',
content: [
{
label: 'Campi riga',
fields: [
'ID trattamento (es. TRT-001)',
'Nome / descrizione',
'Perimetro (piattaforma / LexAura / MediAura)',
'Titolare',
'Responsabile / sub-responsabili',
'Categorie interessati',
'Categorie dati (comuni / particolari)',
'Finalità',
'Base giuridica',
'Trasferimenti extra-TH/UE (Sì/No + strumento)',
'Misure di sicurezza (rif.)',
'Retention (rif. policy)',
'DPIA (Sì/No + link)',
'Owner',
'Ultimo aggiornamento',
],
},
],
note: 'Per trattamenti ad alto rischio: collegare ID DPIA dallallegato modello DPIA. Non inserire dati personali degli interessati nel registro.',
},
{
title: '3. Registro incidenti e violazioni dei dati',
content: [
{
label: 'Campi riga',
fields: [
'ID incidente (INC-YYYY-NNN)',
'Data/ora rilevazione',
'Data/ora contenimento',
'Severità',
'Tipo (breach dati / accesso non auth / malware / altro)',
'Perimetro',
'Sistemi coinvolti',
'Categorie dati / n. interessati stimato',
'Notifica autorità (Sì/No/N.A. + data)',
'Notifica interessati (Sì/No/N.A. + data)',
'Stato (aperto / in corso / chiuso)',
'Root cause (sintesi)',
'Azioni correttive',
'Owner',
'Link post-mortem',
],
},
],
note: 'Usare il template di notifica dellallegato gestione incidenti come allegato al record. SLA ack esterni: allineati a PDPA/GDPR e policy disclosure.',
},
{
title: '4. Registro SBOM / inventario componenti (operativo)',
content: [
{
label: 'Campi riga (per release o componente critico)',
fields: [
'ID release / commit',
'Prodotto (piattaforma / LexAura / MediAura)',
'Data generazione SBOM',
'Formato (CycloneDX / SPDX)',
'Link artefatto SBOM',
'N. componenti',
'N. vulnerabilità aperte (CVSS ≥ 7)',
'N. licenze copyleft / review IP',
'Owner tecnico',
'Esito gate pre-release (OK / blocco)',
'Note',
],
},
],
note: 'Il dettaglio componente resta nel file SBOM; questo registro traccia le generazioni e i gate. Allineare alla checklist pre-release.',
},
{
title: '5. Registro retention e cancellazioni',
content: [
{
label: 'Campi riga',
fields: [
'ID job (RET-001)',
'Categoria dati (rif. policy retention)',
'Sistema / datastore',
'Periodo di retention applicato',
'Trigger (scadenza / richiesta interessato / fine contratto)',
'Azione (anonimizzazione / cancellazione logica / fisica)',
'Data esecuzione',
'Evidenza (log / ticket / certificato)',
'N. record coinvolti (aggregato)',
'Esecutore',
'Verifica DPO/CISO (data)',
],
},
],
note: 'Non elencare identificativi degli interessati; solo aggregati e riferimenti tecnici. Allineare alla policy di retention allegata.',
},
{
title: '6. Registro contratti fornitori e sub-processori (minimo)',
content: [
{
label: 'Campi riga',
fields: [
'ID fornitore',
'Nome / servizio',
'Ruolo (sub-processore / vendor)',
'Dati trattati (categorie)',
'Sede / trasferimenti',
'DPA / NDA (link + data firma)',
'Misure sicurezza equivalenti (Sì/No)',
'Data revisione',
'Owner Legal',
'Stato (attivo / in uscita / terminato)',
],
},
],
},
{
title: '7. Owner e KPI',
content: [
{ label: 'Registro trattamenti + DPIA', fields: ['DPO (backup: Legal)'] },
{ label: 'Registro incidenti', fields: ['CISO (backup: CTO)'] },
{ label: 'Registro SBOM', fields: ['CTO / engineering lead'] },
{ label: 'Registro retention', fields: ['DPO + engineering'] },
{ label: 'Registro sub-processori', fields: ['Legal (backup: DPO)'] },
{
label: 'KPI esempio',
fields: [
'% trattamenti con owner e data aggiornamento < 90 gg',
'Incidenti aperti > SLA',
'Release senza SBOM allegato = 0',
'Job retention eseguiti vs pianificati',
],
},
],
},
],
footer: 'Approvazione registri: DPO _______ · CISO _______ · Legal _______ · Data _______',
},
], ],
}, },
en: { en: {
page: { page: {
title: 'Code of Ethics Annexes — NexStudio', title: 'Code of Ethics Annexes — NexStudio',
description: 'Operational templates annexed to the NexStudio Code of Ethics: adhesion, NDA, checklist, DPIA, privacy, SBOM, retention, AI impact, training plan, responsible disclosure.', description: 'Operational templates annexed to the NexStudio Code of Ethics: adhesion, NDA, checklist, DPIA, privacy, SBOM, retention, AI impact, training plan, responsible disclosure, operational registers.',
heading: 'Annexes and operational forms', heading: 'Annexes and operational forms',
lead: 'Complementary documents to the Code of Ethics. Each annex is a template to be customized and adopted according to operational needs.', lead: 'Complementary documents to the Code of Ethics. Each annex is a template to be customized and adopted according to operational needs.',
backLabel: '← Back to Code of Ethics', backLabel: '← Back to Code of Ethics',
@ -1348,12 +1502,166 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
], ],
footer: 'Policy approval: CISO _______ · CTO _______ · Legal _______ · Date _______', footer: 'Policy approval: CISO _______ · CTO _______ · Legal _______ · Date _______',
}, },
{
id: 'registri-operativi',
heading: 'Operational registers — row templates',
description: 'Minimum schemas for records of processing, incidents/breaches, operational SBOM inventory and retention/deletion log.',
intro:
'Document linked to section 17 of the Code of Ethics. Each register may live in a shared sheet, HRIS or ticket system; fields below are mandatory for audit. Complementary to: DPIA model, SBOM template, retention policy, incident flowchart.',
sections: [
{
title: '1. Common principles',
content: [
'Register owner: named role (DPO, CISO, CTO or Legal) with a backup.',
'Updates: on every new processing / incident / release / material deletion; periodic review at least quarterly.',
'Retention: aligned with the retention policy; export available for authorities and audits.',
'Format: one row = one record; unique ID; last-updated date mandatory.',
],
},
{
title: '2. Records of processing (RoPA / GDPR Art. 30 / PDPA)',
content: [
{
label: 'Row fields',
fields: [
'Processing ID (e.g. TRT-001)',
'Name / description',
'Perimeter (platform / LexAura / MediAura)',
'Controller',
'Processor / sub-processors',
'Data subject categories',
'Data categories (regular / special)',
'Purposes',
'Legal basis',
'Transfers outside TH/EU (Yes/No + tool)',
'Security measures (ref.)',
'Retention (policy ref.)',
'DPIA (Yes/No + link)',
'Owner',
'Last update',
],
},
],
note: 'For high-risk processing: link DPIA ID from the DPIA model annex. Do not put data subjects personal data in the register.',
},
{
title: '3. Incident and data-breach register',
content: [
{
label: 'Row fields',
fields: [
'Incident ID (INC-YYYY-NNN)',
'Detection date/time',
'Containment date/time',
'Severity',
'Type (data breach / unauthorized access / malware / other)',
'Perimeter',
'Systems involved',
'Data categories / estimated data subjects',
'Authority notification (Yes/No/N.A. + date)',
'Data subject notification (Yes/No/N.A. + date)',
'Status (open / in progress / closed)',
'Root cause (summary)',
'Corrective actions',
'Owner',
'Post-mortem link',
],
},
],
note: 'Use the incident notification template from the incident-management annex as an attachment to the record.',
},
{
title: '4. SBOM / component inventory register (operational)',
content: [
{
label: 'Row fields (per release or critical component set)',
fields: [
'Release ID / commit',
'Product (platform / LexAura / MediAura)',
'SBOM generation date',
'Format (CycloneDX / SPDX)',
'SBOM artifact link',
'Component count',
'Open vulns (CVSS ≥ 7)',
'Copyleft licenses / IP review',
'Technical owner',
'Pre-release gate result (OK / blocked)',
'Notes',
],
},
],
note: 'Component detail stays in the SBOM file; this register tracks generations and gates. Align with the pre-release checklist.',
},
{
title: '5. Retention and deletion register',
content: [
{
label: 'Row fields',
fields: [
'Job ID (RET-001)',
'Data category (retention policy ref.)',
'System / datastore',
'Retention period applied',
'Trigger (expiry / data subject request / end of contract)',
'Action (anonymization / logical / physical deletion)',
'Execution date',
'Evidence (log / ticket / certificate)',
'Records affected (aggregate)',
'Executor',
'DPO/CISO verification (date)',
],
},
],
note: 'Do not list data subject identifiers; aggregates and technical refs only. Align with the retention policy annex.',
},
{
title: '6. Vendor and sub-processor register (minimum)',
content: [
{
label: 'Row fields',
fields: [
'Vendor ID',
'Name / service',
'Role (sub-processor / vendor)',
'Data processed (categories)',
'Location / transfers',
'DPA / NDA (link + signature date)',
'Equivalent security measures (Yes/No)',
'Review date',
'Legal owner',
'Status (active / exiting / terminated)',
],
},
],
},
{
title: '7. Owners and KPIs',
content: [
{ label: 'Processing + DPIA register', fields: ['DPO (backup: Legal)'] },
{ label: 'Incident register', fields: ['CISO (backup: CTO)'] },
{ label: 'SBOM register', fields: ['CTO / engineering lead'] },
{ label: 'Retention register', fields: ['DPO + engineering'] },
{ label: 'Sub-processor register', fields: ['Legal (backup: DPO)'] },
{
label: 'Sample KPIs',
fields: [
'% processings with owner and update < 90 days',
'Open incidents past SLA',
'Releases without SBOM = 0',
'Retention jobs run vs planned',
],
},
],
},
],
footer: 'Registers approval: DPO _______ · CISO _______ · Legal _______ · Date _______',
},
], ],
}, },
th: { th: {
page: { page: {
title: 'ภาคผนวกประมวลจริยธรรม — NexStudio', title: 'ภาคผนวกประมวลจริยธรรม — NexStudio',
description: 'เทมเพลตปฏิบัติการแนบท้ายประมวลจริยธรรม NexStudio: การยอมรับ, NDA, เช็กลิสต์, DPIA, ความเป็นส่วนตัว, SBOM, การเก็บรักษา, AI impact, แผนการฝึกอบรม, responsible disclosure', description: 'เทมเพลตปฏิบัติการแนบท้ายประมวลจริยธรรม NexStudio: การยอมรับ, NDA, เช็กลิสต์, DPIA, ความเป็นส่วนตัว, SBOM, การเก็บรักษา, AI impact, แผนการฝึกอบรม, responsible disclosure, ทะเบียนปฏิบัติการ',
heading: 'ภาคผนวกและแบบฟอร์มปฏิบัติการ', heading: 'ภาคผนวกและแบบฟอร์มปฏิบัติการ',
lead: 'เอกสารเสริมประมวลจริยธรรม แต่ละภาคผนวกเป็นเทมเพลตที่ต้องปรับแต่งและนำไปใช้ตามความต้องการเชิงปฏิบัติการ', lead: 'เอกสารเสริมประมวลจริยธรรม แต่ละภาคผนวกเป็นเทมเพลตที่ต้องปรับแต่งและนำไปใช้ตามความต้องการเชิงปฏิบัติการ',
backLabel: '← กลับไปประมวลจริยธรรม', backLabel: '← กลับไปประมวลจริยธรรม',
@ -2004,6 +2312,160 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
], ],
footer: 'การอนุมัตินโยบาย: CISO _______ · CTO _______ · Legal _______ · วันที่ _______', footer: 'การอนุมัตินโยบาย: CISO _______ · CTO _______ · Legal _______ · วันที่ _______',
}, },
{
id: 'registri-operativi',
heading: 'ทะเบียนปฏิบัติการ — เทมเพลตแถว',
description: 'โครงขั้นต่ำสำหรับทะเบียนการประมวลผล เหตุการณ์/breach บัญชี SBOM ปฏิบัติการ และบันทึก retention/การลบ',
intro:
'เอกสารเชื่อมกับหมวด 17 ของประมวลจริยธรรม แต่ละทะเบียนอาจอยู่ในชีตแชร์ HRIS หรือระบบตั๋ว; ฟิลด์ด้านล่างจำเป็นสำหรับ audit เสริมกับ: แบบ DPIA เทมเพลต SBOM นโยบาย retention แผนภูมิเหตุการณ์',
sections: [
{
title: '1. หลักการร่วม',
content: [
'เจ้าของทะเบียน: บทบาทที่ระบุชื่อ (DPO CISO CTO หรือ Legal) พร้อมตัวสำรอง',
'การอัปเดต: ทุกครั้งที่มีการประมวลผลใหม่ / เหตุการณ์ / การปล่อย / การลบสำคัญ; ทบทวนอย่างน้อยรายไตรมาส',
'การเก็บรักษา: ตามนโยบาย retention; export ได้สำหรับหน่วยงานและ audit',
'รูปแบบ: หนึ่งแถว = หนึ่งรายการ; ID ไม่ซ้ำ; วันที่อัปเดตล่าสุดบังคับ',
],
},
{
title: '2. ทะเบียนการประมวลผล (RoPA / GDPR ม.30 / PDPA)',
content: [
{
label: 'ฟิลด์แถว',
fields: [
'รหัสการประมวลผล (เช่น TRT-001)',
'ชื่อ / คำอธิบาย',
'ขอบเขต (แพลตฟอร์ม / LexAura / MediAura)',
'ผู้ควบคุม',
'ผู้ประมวลผล / ผู้ประมวลผลช่วง',
'หมวดหมู่เจ้าของข้อมูล',
'หมวดหมู่ข้อมูล (ทั่วไป / พิเศษ)',
'วัตถุประสงค์',
'ฐานทางกฎหมาย',
'การโอนนอก TH/EU (ใช่/ไม่ + เครื่องมือ)',
'มาตรการความปลอดภัย (อ้างอิง)',
'Retention (อ้างอิงนโยบาย)',
'DPIA (ใช่/ไม่ + ลิงก์)',
'เจ้าของ',
'อัปเดตล่าสุด',
],
},
],
note: 'สำหรับการประมวลผลความเสี่ยงสูง: เชื่อมรหัส DPIA จากภาคผนวกแบบ DPIA อย่าใส่ข้อมูลส่วนบุคคลของเจ้าของข้อมูลในทะเบียน',
},
{
title: '3. ทะเบียนเหตุการณ์และการละเมิดข้อมูล',
content: [
{
label: 'ฟิลด์แถว',
fields: [
'รหัสเหตุการณ์ (INC-YYYY-NNN)',
'วันเวลาที่ตรวจพบ',
'วันเวลาที่กักกัน',
'ความรุนแรง',
'ประเภท (breach / เข้าถึงโดยไม่ได้รับอนุญาต / มัลแวร์ / อื่นๆ)',
'ขอบเขต',
'ระบบที่เกี่ยวข้อง',
'หมวดหมู่ข้อมูล / จำนวนเจ้าของข้อมูลโดยประมาณ',
'แจ้งหน่วยงาน (ใช่/ไม่/N.A. + วันที่)',
'แจ้งเจ้าของข้อมูล (ใช่/ไม่/N.A. + วันที่)',
'สถานะ (เปิด / กำลังดำเนินการ / ปิด)',
'สาเหตุต้นตอ (สรุป)',
'การแก้ไข',
'เจ้าของ',
'ลิงก์ post-mortem',
],
},
],
note: 'ใช้เทมเพลตการแจ้งจากภาคผนวกจัดการเหตุการณ์แนบกับรายการ',
},
{
title: '4. ทะเบียน SBOM / บัญชีส่วนประกอบ (ปฏิบัติการ)',
content: [
{
label: 'ฟิลด์แถว (ต่อ release หรือชุดส่วนประกอบวิกฤต)',
fields: [
'รหัส release / commit',
'ผลิตภัณฑ์ (แพลตฟอร์ม / LexAura / MediAura)',
'วันที่สร้าง SBOM',
'รูปแบบ (CycloneDX / SPDX)',
'ลิงก์ไฟล์ SBOM',
'จำนวนส่วนประกอบ',
'ช่องโหว่เปิด (CVSS ≥ 7)',
'ใบอนุญาต copyleft / ทบทวน IP',
'เจ้าของเทคนิค',
'ผล gate ก่อนปล่อย (OK / บล็อก)',
'หมายเหตุ',
],
},
],
note: 'รายละเอียดส่วนประกอบอยู่ในไฟล์ SBOM; ทะเบียนนี้ติดตามการสร้างและ gate ให้สอดคล้องกับเช็กลิสต์ก่อนปล่อย',
},
{
title: '5. ทะเบียน retention และการลบ',
content: [
{
label: 'ฟิลด์แถว',
fields: [
'รหัสงาน (RET-001)',
'หมวดหมู่ข้อมูล (อ้างอิงนโยบาย retention)',
'ระบบ / datastore',
'ระยะเวลา retention ที่ใช้',
'ตัวกระตุ้น (ครบกำหนด / คำขอเจ้าของข้อมูล / สิ้นสุดสัญญา)',
'การดำเนินการ (ทำให้ไม่ระบุตัวตน / ลบตรรกะ / ลบกายภาพ)',
'วันที่ดำเนินการ',
'หลักฐาน (บันทึก / ตั๋ว / ใบรับรอง)',
'จำนวน record (รวม)',
'ผู้ดำเนินการ',
'การตรวจสอบ DPO/CISO (วันที่)',
],
},
],
note: 'อย่าระบุตัวตนเจ้าของข้อมูล; ใช้เฉพาะค่าสรุปและอ้างอิงทางเทคนิค ให้สอดคล้องกับนโยบาย retention',
},
{
title: '6. ทะเบียนผู้ให้บริการและผู้ประมวลผลช่วง (ขั้นต่ำ)',
content: [
{
label: 'ฟิลด์แถว',
fields: [
'รหัสผู้ให้บริการ',
'ชื่อ / บริการ',
'บทบาท (ผู้ประมวลผลช่วง / vendor)',
'ข้อมูลที่ประมวลผล (หมวดหมู่)',
'ที่ตั้ง / การโอน',
'DPA / NDA (ลิงก์ + วันที่ลงนาม)',
'มาตรการความปลอดภัยเทียบเท่า (ใช่/ไม่)',
'วันที่ทบทวน',
'เจ้าของ Legal',
'สถานะ (ใช้งาน / กำลังออก / สิ้นสุด)',
],
},
],
},
{
title: '7. เจ้าของและ KPI',
content: [
{ label: 'ทะเบียนการประมวลผล + DPIA', fields: ['DPO (สำรอง: Legal)'] },
{ label: 'ทะเบียนเหตุการณ์', fields: ['CISO (สำรอง: CTO)'] },
{ label: 'ทะเบียน SBOM', fields: ['CTO / engineering lead'] },
{ label: 'ทะเบียน retention', fields: ['DPO + engineering'] },
{ label: 'ทะเบียนผู้ประมวลผลช่วง', fields: ['Legal (สำรอง: DPO)'] },
{
label: 'KPI ตัวอย่าง',
fields: [
'% การประมวลผลที่มีเจ้าของและอัปเดต < 90 วัน',
'เหตุการณ์เปิดเกิน SLA',
'release ที่ไม่มี SBOM = 0',
'งาน retention ที่ทำ vs ที่วางแผน',
],
},
],
},
],
footer: 'การอนุมัติทะเบียน: DPO _______ · CISO _______ · Legal _______ · วันที่ _______',
},
], ],
}, },
}; };

View File

@ -177,6 +177,7 @@ type CodiceEticoLocale = {
title: string; title: string;
intro: string; intro: string;
items: readonly string[]; items: readonly string[];
registersLinkLabel: string;
}; };
allegati: { title: string; items: readonly string[]; linkLabel: string }; allegati: { title: string; items: readonly string[]; linkLabel: string };
approvazione: { approvazione: {
@ -608,6 +609,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'contratti con fornitori e sub-processori;', 'contratti con fornitori e sub-processori;',
'record di formazione e dichiarazioni di adesione al Codice.', 'record di formazione e dichiarazioni di adesione al Codice.',
], ],
registersLinkLabel: 'Apri i template dei registri operativi →',
}, },
allegati: { allegati: {
title: '18. Allegati e moduli (inclusi)', title: '18. Allegati e moduli (inclusi)',
@ -624,6 +626,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'Template per valutazione dimpatto AI/ML.', 'Template per valutazione dimpatto AI/ML.',
'Piano di formazione — onboarding 90 giorni e formazione annuale.', 'Piano di formazione — onboarding 90 giorni e formazione annuale.',
'Policy di responsible disclosure e segnalazione vulnerabilità.', 'Policy di responsible disclosure e segnalazione vulnerabilità.',
'Registri operativi — template di riga (trattamenti, incidenti, SBOM, retention, sub-processori).',
], ],
}, },
approvazione: { approvazione: {
@ -665,7 +668,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
items: [ items: [
'Personalizzare il documento con il nome ufficiale della società (se diverso dal marchio operativo), firme e riferimenti legali locali a Bangkok.', 'Personalizzare il documento con il nome ufficiale della società (se diverso dal marchio operativo), firme e riferimenti legali locali a Bangkok.',
'Implementare i canali tecnici per segnalazioni etiche (piattaforma anonima); la policy di responsible disclosure (security@) è già in allegato.', 'Implementare i canali tecnici per segnalazioni etiche (piattaforma anonima); la policy di responsible disclosure (security@) è già in allegato.',
'Applicare il Piano di formazione (allegato operativo): onboarding 90 giorni e refresh annuale; HR tiene il registro di completamento.', 'Applicare Piano di formazione e popolare i registri operativi (allegati): trattamenti, incidenti, SBOM, retention, sub-processori.',
], ],
}, },
notePraticheDPIA: [ notePraticheDPIA: [
@ -1103,6 +1106,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'contracts with vendors and sub-processors;', 'contracts with vendors and sub-processors;',
'training records and Code adhesion declarations.', 'training records and Code adhesion declarations.',
], ],
registersLinkLabel: 'Open the operational registers templates →',
}, },
allegati: { allegati: {
title: '18. Annexes and forms (included)', title: '18. Annexes and forms (included)',
@ -1119,6 +1123,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'AI/ML impact assessment template.', 'AI/ML impact assessment template.',
'Training plan — 90-day onboarding and annual refresh.', 'Training plan — 90-day onboarding and annual refresh.',
'Responsible disclosure and vulnerability reporting policy.', 'Responsible disclosure and vulnerability reporting policy.',
'Operational registers — row templates (processing, incidents, SBOM, retention, sub-processors).',
], ],
}, },
approvazione: { approvazione: {
@ -1160,7 +1165,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
items: [ items: [
'Customize the document with the official company name (if different from the operating brand), signatures and local legal references in Bangkok.', 'Customize the document with the official company name (if different from the operating brand), signatures and local legal references in Bangkok.',
'Implement technical channels for ethics reporting (anonymous platform); the responsible disclosure policy (security@) is already in the annexes.', 'Implement technical channels for ethics reporting (anonymous platform); the responsible disclosure policy (security@) is already in the annexes.',
'Apply the Training plan (operational annex): 90-day onboarding and annual refresh; HR keeps the completion register.', 'Apply the Training plan and populate the operational registers (annexes): processing, incidents, SBOM, retention, sub-processors.',
], ],
}, },
notePraticheDPIA: [ notePraticheDPIA: [
@ -1598,6 +1603,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'สัญญากับผู้ให้บริการและผู้ประมวลผลช่วง;', 'สัญญากับผู้ให้บริการและผู้ประมวลผลช่วง;',
'บันทึกการฝึกอบรมและการประกาศยอมรับประมวล', 'บันทึกการฝึกอบรมและการประกาศยอมรับประมวล',
], ],
registersLinkLabel: 'เปิดเทมเพลตทะเบียนปฏิบัติการ →',
}, },
allegati: { allegati: {
title: '18. ภาคผนวกและแบบฟอร์ม (รวมอยู่)', title: '18. ภาคผนวกและแบบฟอร์ม (รวมอยู่)',
@ -1614,6 +1620,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
'เทมเพลตการประเมินผลกระทบ AI/ML', 'เทมเพลตการประเมินผลกระทบ AI/ML',
'แผนการฝึกอบรม — ปฐมนิเทศ 90 วัน และการทบทวนประจำปี', 'แผนการฝึกอบรม — ปฐมนิเทศ 90 วัน และการทบทวนประจำปี',
'นโยบาย responsible disclosure และการรายงานช่องโหว่', 'นโยบาย responsible disclosure และการรายงานช่องโหว่',
'ทะเบียนปฏิบัติการ — เทมเพลตแถว (การประมวลผล เหตุการณ์ SBOM retention ผู้ประมวลผลช่วง)',
], ],
}, },
approvazione: { approvazione: {
@ -1655,7 +1662,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
items: [ items: [
'ปรับแต่งเอกสารด้วยชื่อบริษัทอย่างเป็นทางการ (หากต่างจากแบรนด์ปฏิบัติการ) ลายเซ็น และการอ้างอิงทางกฎหมายท้องถิ่นในกรุงเทพฯ', 'ปรับแต่งเอกสารด้วยชื่อบริษัทอย่างเป็นทางการ (หากต่างจากแบรนด์ปฏิบัติการ) ลายเซ็น และการอ้างอิงทางกฎหมายท้องถิ่นในกรุงเทพฯ',
'จัดทำช่องทางเทคนิคสำหรับการรายงานจริยธรรม (แพลตฟอร์มนิรนาม); นโยบาย responsible disclosure (security@) อยู่ในภาคผนวกแล้ว', 'จัดทำช่องทางเทคนิคสำหรับการรายงานจริยธรรม (แพลตฟอร์มนิรนาม); นโยบาย responsible disclosure (security@) อยู่ในภาคผนวกแล้ว',
'ใช้แผนการฝึกอบรม (ภาคผนวกปฏิบัติการ): ปฐมนิเทศ 90 วัน และการทบทวนประจำปี; HR รักษาทะเบียนการสำเร็จ', 'ใช้แผนการฝึกอบรมและกรอกทะเบียนปฏิบัติการ (ภาคผนวก): การประมวลผล เหตุการณ์ SBOM retention ผู้ประมวลผลช่วง',
], ],
}, },
notePraticheDPIA: [ notePraticheDPIA: [

View File

@ -284,6 +284,14 @@ const isLabeled = (item: string | { label: string; text: string }): item is { la
<ul> <ul>
{c.documentazione.items.map((item) => <li>{item}</li>)} {c.documentazione.items.map((item) => <li>{item}</li>)}
</ul> </ul>
<p class="mt-3 text-sm">
<a
class={link}
href={`/${currentLocale === 'it' ? '' : currentLocale + '/'}allegati#registri-operativi`}
>
{c.documentazione.registersLinkLabel}
</a>
</p>
<h2 id="allegati">{c.allegati.title}</h2> <h2 id="allegati">{c.allegati.title}</h2>
<p class="mb-4 text-sm"> <p class="mb-4 text-sm">