Medidas Técnicas e Organizativas (TOMs)

Medidas ao abrigo do Art. 32.o RGPD que garantem a segurança do tratamento de dados pessoais na plataforma NISD2.eu.

Última atualização: junho de 2026.

Síntese

Este documento descreve as medidas técnicas e organizativas efetivamente implementadas por Simon Orzel na qualidade de operador da plataforma NISD2.eu. Trata-se de um inventário honesto, não de uma lista de desejos. Listamos apenas o que já está implementado.

As medidas estão alinhadas com o IT-Grundschutz (BSI) e serão alargadas à medida que a plataforma cresce.

Alojamento na UE

O tratamento em produção de dados pessoais ocorre exclusivamente dentro da UE:

  • Servidores de aplicação e base de dados PostgreSQL: Hetzner Online GmbH, centro de dados Falkenstein/Nuremberga, Alemanha
  • Armazenamento de documentos de prova carregados: AWS S3, região UE
  • Nenhum tratamento de dados de produção fora da UE. Os subserviços dos EUA (Resend para email transacional, xAI para preenchimento prévio opcional por IA) tratam apenas os dados necessários à sua função.
Cifragem (Art. 32.o, n.o 1, alínea a) RGPD)
  • Cifragem em trânsito: TLS para todas as ligações à plataforma (HTTPS)
  • Cifragem em repouso: cifragem do lado do servidor do AWS S3 (AES256, definida explicitamente em cada carregamento via PutObject); dados PostgreSQL na infraestrutura Hetzner
  • As credenciais e chaves de API são geridas através de variáveis de ambiente do servidor, não armazenadas no código-fonte nem em bases de dados
Confidencialidade (Art. 32.o, n.o 1, alínea b) RGPD)

Medidas que garantem a confidencialidade:

  • Controlo de acesso físico: os centros de dados dos fornecedores de alojamento (Hetzner, AWS) possuem certificações ISO 27001
  • Medidas relativas ao pessoal: o acesso aos sistemas de produção e aos dados pessoais está limitado a um grupo reduzido e nominal, vinculado por confidencialidade. O acesso segue o princípio do menor privilégio e é revogado quando uma função termina.
  • Autenticação: início de sessão com endereço de e-mail e palavra-passe ou através de Google OAuth 2.0. As palavras-passe são guardadas exclusivamente como hash bcrypt com fator de custo 12, nunca em texto simples. No registo com palavra-passe, o endereço de e-mail é confirmado uma vez através de um código de utilização única, e as tentativas falhadas de início de sessão estão limitadas a 10 em 15 minutos por instância da aplicação. A plataforma não oferece um segundo fator na via da palavra-passe. Quem inicia sessão com Google utiliza a MFA da própria conta Google.
  • Permissões baseadas em funções: administrador, revisor, membro; aplicadas na camada de aplicação através de middleware tRPC
  • Isolamento multilocatário: cada consulta que transporta dados filtra na camada da base de dados pelo ID da empresa do utilizador autenticado; não existem conjuntos de dados partilhados entre clientes
  • As palavras-passe nunca são guardadas em texto simples. Cada início de sessão é comparado com um hash bcrypt, mesmo quando não existe qualquer conta para o endereço indicado, para que o tempo de resposta não revele quem está registado.
Integridade (Art. 32.o, n.o 1, alínea b) RGPD)
  • Controlo de entrada: registo de auditoria de todas as alterações, capturando o ID do utilizador, a ação, o tipo de entidade, a data e hora, o endereço IP, o agente do utilizador e os valores antes/depois
  • Deteção de adulteração no registo de auditoria: cada linha de auditoria contém uma soma de verificação SHA-256 sobre o seu conteúdo, de modo a que as alterações a uma linha sejam detetáveis
  • Controlo de transferência: transmissão de dados apenas via TLS; todos os pontos de extremidade autenticados exigem uma sessão válida
  • Documentos de prova: o local de armazenamento e os metadados são gravados no carregamento; um hash SHA-256 opcional fornecido pelo cliente pode ser armazenado junto com o ficheiro
  • Mecanismo de aprovação: no momento da aprovação, o estado do requisito é fotografado para uma tabela de histórico de aprovações cujas entradas formam uma cadeia SHA-256 (a soma de verificação de cada entrada cobre a anterior). A adulteração do histórico é detetável de ponta a ponta
Disponibilidade (Art. 32.o, n.o 1, alínea b) RGPD)
  • Cópias de segurança da base de dados de acordo com as predefinições do serviço Hetzner Cloud; os detalhes sobre a configuração atual das cópias de segurança estão disponíveis mediante pedido
  • Armazenamento dos documentos de prova no AWS S3 com as garantias de durabilidade de objetos fornecidas pela AWS
  • Limitação de taxa nas tentativas de início de sessão, nos pontos de extremidade públicos (verificação de aplicabilidade, portal de fornecedores) e nos pontos de extremidade autenticados com utilização intensiva de recursos (exportações PDF, geração de certificados)
  • Os ficheiros carregados estão limitados a 50 MB por ficheiro
  • Indicador de disponibilidade: nisd2.eu/status verifica em cada pedido a acessibilidade da base de dados e mostra o resultado publicamente, em cache durante 30 segundos. Não operamos monitorização contínua com alerta automático.
Procedimento de revisão regular (Art. 32.o, n.o 1, alínea d) RGPD)
  • Estas TOMs são revistas mediante a ocorrência de um evento e, pelo menos, uma vez por ano
  • Atualizações de dependências e de bibliotecas relevantes para a segurança: o Dependabot está ativado para apresentar correções de segurança e atualizações de versão como pull requests com periodicidade semanal
  • Obrigações de comunicação: as violações de dados pessoais serão comunicadas à autoridade de controlo competente no prazo de 72 horas, nos termos do Art. 33.o RGPD
  • Prática de desenvolvimento: as alterações ao código passam por pull requests; as verificações de tipos em modo estrito do TypeScript são aplicadas; testes automatizados direcionados cobrem a lógica crítica para a segurança (por exemplo, a classificação de aplicabilidade)
Subcontratantes ulteriores

Todos os subcontratantes ulteriores estão vinculados por contratos ao abrigo do Art. 28.o RGPD. A lista completa consta do documento DPA.

Ver lista completa de subcontratantes ulteriores (DPA)

Contacto para proteção de dados

As questões sobre estas TOMs ou sobre o nosso tratamento de dados devem ser enviadas para:

contact@nisd2.eu