> For the complete documentation index, see [llms.txt](https://guias.mosaico.gov.pt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guias.mosaico.gov.pt/guias-praticos/boas-praticas-para-a-publicacao-de-api-a-consumir-pela-administracao-publica/reforce-a-seguranca.md).

# Reforce a segurança

A utilização de HTTPS protege as comunicações com a API, preserva a privacidade do utilizador e garante a integridade dos dados. É importante que o serviço não permita que os dados sejam intercetados ou modificados por terceiros. Antes de qualquer operação verifique que a autenticação é feita com sucesso e que o sistema a aceder está autorizado a visualizar os dados. A autenticação baseada em token é recomendada para qualquer API, e um token deve expirar num prazo máximo de 24 horas. Habilite o Transport Layer Security (TLS) v1.2 ou versões subsequentes. Desenhe as API de forma a serem resistentes a ataques, ao tratar todos os dados enviados como não confiáveis e validá-los antes de os processar. Ao expor as API, use uma camada de gateway para ter um ponto de controlo de segurança.

De forma a garantir a robustez do código-fonte e de qualquer alteração futura, automatize testes de segurança, avalie o impacto da mudança e faça testes antes de disponibilizar as alterações.

O acesso a API com dados confidenciais e/ou pessoais deve ficar registado; para auditoria futura devem incluir-se nos logs o sistema e os identificadores individuais que tentam aceder à API em conjunto com a data/hora. Deve monitorizar-se também todas as atividades suspeitas, incluindo padrões de acesso anormais, como requisições de elevadas cargas de dados, acessos em horários fora do comum, etc.
