Como impedir que um POST altere colunas geradas pelo banco no EF Core: ViewModel só com o editável, entidade carregada do banco, SetAfterSaveBehavior e total recalculado no servidor.
Defina o que o seu banco guarda depois de integrar um SDK de pagamento: id da transação e status, nunca o número do cartão. Limpe o log, separe sandbox de produção e concilie pelo retorno do provedor.
Deixe o container privado, entregue anexos com URL assinada que expira depois de checar a permissão no seu sistema e teste o acesso anônimo antes que alguém liste os seus arquivos.
Antes de levar uma VM para outra zona, levante quem depende do endereço dela: DNS, IP de saída liberado em parceiros, SPF, firewall e configurações com IP fixo. E teste o destino antes de virar o nome.
Ligue o log de SQL do EF Core, conte as consultas de um request, troque o N+1 por projeção e só depois pense em microdetalhe. Com números antes e depois de cada mudança.
Descubra se o processo vaza ou só segura demais: meça o heap ao longo do dia, compare snapshots, ponha limite e expiração no cache e solte listeners. Restart diário não é correção.
Calcule quanto cada request pesado segura, gere o arquivo em stream em vez de montar tudo na memória, limite quantos rodam ao mesmo tempo e devolva 503 em vez de derrubar o processo.
Entenda por que dois SaveChanges em bancos diferentes não são atômicos, quando a transação cobre os dois de verdade e como usar uma tabela outbox com reprocessamento idempotente.
Use Vue por tag script com versão exata, hash de integridade e cópia própria do arquivo, conheça os limites do template no HTML e saiba os sinais de que a página virou aplicativo e precisa de build.
Troque o JWT no localStorage por cookie HttpOnly emitido pelo seu backend, ajuste o fetch e o guard do Vue Router para a sessão no servidor e proteja as rotas de escrita contra CSRF.
Cadastre a URI de retorno exata de cada ambiente, libere o CORS do endpoint de token para a origem certa, sirva a página de callback e evite o erro de state perdido no oidc-client-ts.
Faça a renovação silenciosa da sessão tentar uma vez, trate login_required indo para o login visível, impeça loops de redirecionamento e entenda por que o iframe falha quando o navegador bloqueia cookies de terceiros.