Compare commits
1 Commits
feat/brand
...
feat/regis
| Author | SHA1 | Date | |
|---|---|---|---|
| 511ff97cf1 |
@ -1,5 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
||||
<!-- O quantum: anello + nucleo (dal wordmark NexStudio) -->
|
||||
<circle cx="16" cy="16" r="11.5" stroke="#B380FF" stroke-width="5" />
|
||||
<circle cx="16" cy="16" r="3.2" fill="#B380FF" />
|
||||
<rect width="32" height="32" rx="8" fill="url(#g)"/>
|
||||
<path fill="#fff" d="M8 22V10h3.2l4.1 6.1h.1L19.4 10H22.8v12h-3.1V15.5l-3.4 4.7h-1.8L11.1 15.5V22H8Z"/>
|
||||
<defs>
|
||||
<linearGradient id="g" x1="6" y1="4" x2="28" y2="28" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#38bdf8"/>
|
||||
<stop offset="1" stop-color="#a78bfa"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 452 B |
Binary file not shown.
|
Before Width: | Height: | Size: 9.0 KiB |
@ -1,28 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 140" fill="none" role="img" aria-label="NexStudio">
|
||||
<!-- Wordmark allineato al render di riferimento: Nex (grigio) + Studi (viola) + O quantum -->
|
||||
<g transform="translate(12, 8)">
|
||||
<text
|
||||
x="0"
|
||||
y="102"
|
||||
font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"
|
||||
font-weight="600"
|
||||
font-size="100"
|
||||
letter-spacing="-0.03em"
|
||||
fill="#E6E6E6"
|
||||
>Nex</text>
|
||||
<text
|
||||
x="178"
|
||||
y="102"
|
||||
font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"
|
||||
font-weight="500"
|
||||
font-size="100"
|
||||
letter-spacing="-0.03em"
|
||||
fill="#B380FF"
|
||||
>Studi</text>
|
||||
<!-- O = anello + nucleo, integrata come lettera finale -->
|
||||
<g transform="translate(448, 52)">
|
||||
<circle cx="40" cy="22" r="34" fill="none" stroke="#B380FF" stroke-width="14" />
|
||||
<circle cx="40" cy="22" r="9" fill="#B380FF" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1006 B |
@ -37,7 +37,7 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
|
||||
it: {
|
||||
page: {
|
||||
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',
|
||||
lead: 'Documenti complementari al Codice Etico. Ciascun allegato è un template da personalizzare e adottare secondo le esigenze operative.',
|
||||
backLabel: '← Torna al Codice Etico',
|
||||
@ -690,12 +690,166 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
|
||||
],
|
||||
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 dall’allegato 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 dell’allegato 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: {
|
||||
page: {
|
||||
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',
|
||||
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',
|
||||
@ -1348,12 +1502,166 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
|
||||
],
|
||||
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: {
|
||||
page: {
|
||||
title: 'ภาคผนวกประมวลจริยธรรม — NexStudio',
|
||||
description: 'เทมเพลตปฏิบัติการแนบท้ายประมวลจริยธรรม NexStudio: การยอมรับ, NDA, เช็กลิสต์, DPIA, ความเป็นส่วนตัว, SBOM, การเก็บรักษา, AI impact, แผนการฝึกอบรม, responsible disclosure',
|
||||
description: 'เทมเพลตปฏิบัติการแนบท้ายประมวลจริยธรรม NexStudio: การยอมรับ, NDA, เช็กลิสต์, DPIA, ความเป็นส่วนตัว, SBOM, การเก็บรักษา, AI impact, แผนการฝึกอบรม, responsible disclosure, ทะเบียนปฏิบัติการ',
|
||||
heading: 'ภาคผนวกและแบบฟอร์มปฏิบัติการ',
|
||||
lead: 'เอกสารเสริมประมวลจริยธรรม แต่ละภาคผนวกเป็นเทมเพลตที่ต้องปรับแต่งและนำไปใช้ตามความต้องการเชิงปฏิบัติการ',
|
||||
backLabel: '← กลับไปประมวลจริยธรรม',
|
||||
@ -2004,6 +2312,160 @@ const allegatiByLocale: Record<SupportedLocale, AllegatiLocale> = {
|
||||
],
|
||||
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 _______ · วันที่ _______',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
@ -177,6 +177,7 @@ type CodiceEticoLocale = {
|
||||
title: string;
|
||||
intro: string;
|
||||
items: readonly string[];
|
||||
registersLinkLabel: string;
|
||||
};
|
||||
allegati: { title: string; items: readonly string[]; linkLabel: string };
|
||||
approvazione: {
|
||||
@ -608,6 +609,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'contratti con fornitori e sub-processori;',
|
||||
'record di formazione e dichiarazioni di adesione al Codice.',
|
||||
],
|
||||
registersLinkLabel: 'Apri i template dei registri operativi →',
|
||||
},
|
||||
allegati: {
|
||||
title: '18. Allegati e moduli (inclusi)',
|
||||
@ -624,6 +626,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'Template per valutazione d’impatto AI/ML.',
|
||||
'Piano di formazione — onboarding 90 giorni e formazione annuale.',
|
||||
'Policy di responsible disclosure e segnalazione vulnerabilità.',
|
||||
'Registri operativi — template di riga (trattamenti, incidenti, SBOM, retention, sub-processori).',
|
||||
],
|
||||
},
|
||||
approvazione: {
|
||||
@ -665,7 +668,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
items: [
|
||||
'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.',
|
||||
'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: [
|
||||
@ -1103,6 +1106,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'contracts with vendors and sub-processors;',
|
||||
'training records and Code adhesion declarations.',
|
||||
],
|
||||
registersLinkLabel: 'Open the operational registers templates →',
|
||||
},
|
||||
allegati: {
|
||||
title: '18. Annexes and forms (included)',
|
||||
@ -1119,6 +1123,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'AI/ML impact assessment template.',
|
||||
'Training plan — 90-day onboarding and annual refresh.',
|
||||
'Responsible disclosure and vulnerability reporting policy.',
|
||||
'Operational registers — row templates (processing, incidents, SBOM, retention, sub-processors).',
|
||||
],
|
||||
},
|
||||
approvazione: {
|
||||
@ -1160,7 +1165,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
items: [
|
||||
'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.',
|
||||
'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: [
|
||||
@ -1598,6 +1603,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'สัญญากับผู้ให้บริการและผู้ประมวลผลช่วง;',
|
||||
'บันทึกการฝึกอบรมและการประกาศยอมรับประมวล',
|
||||
],
|
||||
registersLinkLabel: 'เปิดเทมเพลตทะเบียนปฏิบัติการ →',
|
||||
},
|
||||
allegati: {
|
||||
title: '18. ภาคผนวกและแบบฟอร์ม (รวมอยู่)',
|
||||
@ -1614,6 +1620,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
'เทมเพลตการประเมินผลกระทบ AI/ML',
|
||||
'แผนการฝึกอบรม — ปฐมนิเทศ 90 วัน และการทบทวนประจำปี',
|
||||
'นโยบาย responsible disclosure และการรายงานช่องโหว่',
|
||||
'ทะเบียนปฏิบัติการ — เทมเพลตแถว (การประมวลผล เหตุการณ์ SBOM retention ผู้ประมวลผลช่วง)',
|
||||
],
|
||||
},
|
||||
approvazione: {
|
||||
@ -1655,7 +1662,7 @@ const codiceEticoByLocale: Record<SupportedLocale, CodiceEticoLocale> = {
|
||||
items: [
|
||||
'ปรับแต่งเอกสารด้วยชื่อบริษัทอย่างเป็นทางการ (หากต่างจากแบรนด์ปฏิบัติการ) ลายเซ็น และการอ้างอิงทางกฎหมายท้องถิ่นในกรุงเทพฯ',
|
||||
'จัดทำช่องทางเทคนิคสำหรับการรายงานจริยธรรม (แพลตฟอร์มนิรนาม); นโยบาย responsible disclosure (security@) อยู่ในภาคผนวกแล้ว',
|
||||
'ใช้แผนการฝึกอบรม (ภาคผนวกปฏิบัติการ): ปฐมนิเทศ 90 วัน และการทบทวนประจำปี; HR รักษาทะเบียนการสำเร็จ',
|
||||
'ใช้แผนการฝึกอบรมและกรอกทะเบียนปฏิบัติการ (ภาคผนวก): การประมวลผล เหตุการณ์ SBOM retention ผู้ประมวลผลช่วง',
|
||||
],
|
||||
},
|
||||
notePraticheDPIA: [
|
||||
|
||||
@ -284,6 +284,14 @@ const isLabeled = (item: string | { label: string; text: string }): item is { la
|
||||
<ul>
|
||||
{c.documentazione.items.map((item) => <li>{item}</li>)}
|
||||
</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>
|
||||
<p class="mb-4 text-sm">
|
||||
|
||||
@ -78,15 +78,11 @@ const langMeta = {
|
||||
<div
|
||||
class="mx-auto flex max-w-6xl items-center justify-between gap-4 px-4 py-3 sm:px-6"
|
||||
>
|
||||
<a href={localize('/')} class="group no-underline" aria-label={navigation.brandName}>
|
||||
<img
|
||||
src="/logos/nexstudio.png"
|
||||
alt={navigation.brandName}
|
||||
class="h-7 w-auto sm:h-8"
|
||||
width="168"
|
||||
height="30"
|
||||
decoding="async"
|
||||
/>
|
||||
<a href={localize('/')} class="group no-underline">
|
||||
<span
|
||||
class="text-2xl font-semibold tracking-tight text-nx-fg group-hover:text-white sm:text-3xl"
|
||||
>{navigation.brandName}</span
|
||||
>
|
||||
</a>
|
||||
|
||||
<nav
|
||||
|
||||
Reference in New Issue
Block a user