Pular para o conteúdo principal

Segurança

A segurança é tratada em camadas: autenticação, autorização, auditoria, isolamento de dados e integridade. Toda ação relevante passa por elas.

Autenticação

  • Devise cuida do login dos usuários (com devise-encryptable em alguns projetos).
  • APIs usam JWT para autenticar requisições (reports, cpe-console).
  • O reports também tem cadastro por convite (devise_invitable) e recuperação de senha.

Autorização

  • O Syens usa CanCan (abilities por papel); a Chamada Escolar (cpe-console) usa Pundit (policies por recurso).
  • Antes de expor qualquer action ou elemento de UI, verifique a permissão. Ao criar um recurso novo, defina a ability/policy correspondente.
  • No Syens, novos recursos são adicionados em config/locales/roles.yml e registrados com:
bundle exec rake roles:update

Auditoria

A trilha de auditoria registra quem mudou o quê:

  • audited no educacao e no cpe-console.
  • paper_trail no saude.

Mantenha as ações sensíveis auditadas — isso é parte do atendimento à LGPD.

Isolamento de dados (multitenancy)

No Syens, todo dado é isolado por escola/cliente. Consultas e regras sempre escopadas ao tenant; nunca escreva algo que possa vazar dados entre escolas. Veja Arquitetura e padrões.

Integridade e entrada de dados

  • Validações de modelo e constraints de banco (veja Banco de dados).
  • Atenção à versão do Rails: projetos legados (Rails 3, como o Syens) usam attr_accessible em vez de params.permit. Confirme o padrão antes de mexer.

Segredos e configuração

  • Segredos e configs vão em variáveis de ambiente (e em objetos de configuração, como o Settings no cpe-console). Nunca versione segredos.
  • Toda comunicação é por HTTPS.

LGPD

Os sistemas seguem a LGPD (Lei 13.709/2018): consentimento de uso de dados, exportação dos dados pessoais, correção/exclusão sob solicitação e trilha de auditoria. O acesso assistido (ver o sistema como outro usuário, para suporte) é feito sem expor credenciais. No Syens, esses fluxos estão descritos no manual de Acesso e segurança.