Template de Registo de Riscos

Ferramenta Centralizada para Documentação e Tracking de Riscos de Cibersegurança

Progresso: 0%

Registo de Riscos de Cibersegurança

Identificação, Avaliação e Tratamento de Riscos

Sobre este Registo de Riscos

Este registo centralizado permite documentar, acompanhar e gerir todos os riscos de cibersegurança identificados, conforme exigido pelo Artigo 21(2) da Diretiva NIS2. Essencial para:

  • Manter visibilidade completa sobre o landscape de riscos
  • Documentar controlos implementados e planeados
  • Acompanhar prazos e responsáveis por mitigação
  • Demonstrar conformidade em auditorias
  • Suportar decisões de gestão baseadas em risco

Dashboard de Riscos

12
Total de Riscos
2
Críticos
4
Altos
5
Médios
1
Baixos

Calculadora de Severidade de Risco

Calcule o nível de severidade combinando probabilidade e impacto (Matriz 5x5).

Registo Central de Riscos

# Identificação do Risco Descrição Categoria Probabilidade Impacto Severidade Controlos Existentes Mitigação Planeada Responsável Prazo Estado
1
2
3

Opções de Tratamento de Riscos

Conforme ISO 31000 e NIS2: Todos os riscos devem ter uma estratégia de tratamento definida.

Mitigar

Implementar controlos para reduzir probabilidade ou impacto.

Aceitar

Risco dentro do apetite de risco - aceitar conscientemente.

Transferir

Transferir através de seguros, contratos ou terceirização.

Evitar

Eliminar a atividade que gera o risco.

✓ Progresso guardado
' ], { type: 'application/msword' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'registo-riscos-nis2.doc'; a.click(); } // Show Save Indicator function showSaveIndicator() { const indicator = document.getElementById('save-indicator'); indicator.classList.add('show'); setTimeout(() => { indicator.classList.remove('show'); }, 2000); } // Calculate Severity function calculateSeverity() { const prob = parseInt(document.getElementById('calc-probabilidade').value) || 0; const imp = parseInt(document.getElementById('calc-impacto').value) || 0; if (prob === 0 || imp === 0) { alert('Por favor, selecione tanto a probabilidade quanto o impacto.'); return; } const score = prob * imp; const result = document.getElementById('severity-result'); const scoreEl = document.getElementById('severity-score'); const badgeEl = document.getElementById('severity-badge'); const descEl = document.getElementById('severity-description'); scoreEl.textContent = score; if (score >= 19) { badgeEl.textContent = 'Crítico (19-25)'; badgeEl.className = 'risk-badge risk-critico'; descEl.textContent = 'Requer ação imediata. Aprovação da gestão de topo necessária.'; } else if (score >= 13) { badgeEl.textContent = 'Alto (13-18)'; badgeEl.className = 'risk-badge risk-alto'; descEl.textContent = 'Requer plano de mitigação prioritário dentro de 30 dias.'; } else if (score >= 7) { badgeEl.textContent = 'Médio (7-12)'; badgeEl.className = 'risk-badge risk-medio'; descEl.textContent = 'Monitorizar e desenvolver plano de mitigação dentro de 90 dias.'; } else { badgeEl.textContent = 'Baixo (1-6)'; badgeEl.className = 'risk-badge risk-baixo'; descEl.textContent = 'Monitorizar regularmente. Mitigação pode ser adiada.'; } result.style.display = 'block'; } // Add Risk Row function addRiskRow() { const tbody = document.getElementById('risk-tbody'); const rowCount = tbody.rows.length + 1; const newRow = tbody.insertRow(); newRow.innerHTML = ` ${rowCount} `; updateProgress(); } // Update Progress function updateProgress() { const inputs = document.querySelectorAll('input, textarea, select'); let filled = 0; inputs.forEach(input => { if (input.value && input.value.trim() !== '') filled++; }); const percentage = Math.round((filled / inputs.length) * 100); document.getElementById('completion-percentage').textContent = percentage + '%'; } // Auto-save every 30 seconds setInterval(() => { if (editMode) { saveProgress(); } }, 30000); // Initial progress calculation updateProgress(); // Track changes for progress document.addEventListener('input', updateProgress); document.addEventListener('change', updateProgress);