Progity  / Desenvolvimento seguro assistido por IA

Desenvolvimento seguro assistido por IA

Hoje a IA produz boa parte do código e, no tipo de trabalho adequado, acelera o desenvolvimento várias vezes. Mas um protótipo que funciona ainda não é um sistema em que uma empresa se possa apoiar. Preparamos um ambiente onde pode desenvolver depressa com agentes de IA sem que uma alteração não verificada chegue a produção.

A IA sabe escrever código. Nós garantimos que a sua empresa se pode apoiar no software que daí resulta.

Três modalidades de colaboração

Diferem no quanto do desenvolvimento faz você e no quanto fazemos nós. É possível mudar de modalidade a meio do projeto.

Modalidade A
Desenvolvimento completo de raiz

Apresenta um problema, um processo ou uma necessidade de negócio. Fazemos a análise, desenhamos a arquitetura, escolhemos as tecnologias, construímos a aplicação, testamo-la, colocamo-la em produção e continuamos a desenvolvê-la e a operá-la conforme acordado.

A opção mais frequente e ainda o nosso serviço principal.
Modalidade B
Desenvolvimento conjunto

Mantemos a arquitetura, o modelo de dados e de segurança, a infraestrutura e as partes críticas do sistema. A sua equipa constrói funcionalidades selecionadas, com agentes de IA se lhe convier. Todas as alterações passam pelos mesmos testes e pela mesma revisão.

Para empresas com programador próprio ou uma equipa interna sólida.
Modalidade C
O seu desenvolvimento com IA, com limites claros

Desenvolve maioritariamente por conta própria. Nós preparamos um esqueleto seguro da aplicação, regras para os agentes de IA, testes automáticos, um ambiente de pré-visualização isolado e um processo de release. No âmbito contratado acrescentamos revisão de código, resolução de conflitos ou a gestão da produção.

Para empresas que querem experimentar depressa fora da produção.

O desenvolvimento à medida completo não desaparece. As outras duas modalidades são um complemento, não um substituto.

A IA acelera o desenvolvimento, mas não assume a responsabilidade

Usamos agentes de IA com regularidade e dizemo-lo abertamente. Cada resultado é, porém, avaliado no contexto do projeto concreto. A IA não conhece os seus processos, nem o histórico dos seus dados, nem o que acontece quando uma integração com um sistema vizinho se parte.

Onde a IA nos ajuda

Análise e investigação técnica, implementação, criação e extensão de testes, revisão de código, procura de erros, documentação e, onde faz sentido, migrações e refatorização.

O que fica com o programador sénior

A arquitetura, as decisões técnicas, o modelo de segurança, a revisão e a qualidade do código resultante, o âmbito dos testes e o juízo sobre se uma alteração está pronta para produção.

A IA não é um substituto barato de um júnior nem um fornecedor autónomo. É uma ferramenta potente nas mãos de um programador sénior. Não afirmamos que a IA nunca erra. Afirmamos que o seu resultado não chega a produção sem controlo.

O que preparamos para si

O âmbito é acordado consoante o projeto e o seu nível de risco. Os pontos seguintes são peças, não um pacote obrigatório.

  • Um esqueleto arquitetónico estável da aplicação
  • Modelo de dados e de segurança
  • Repositório e estratégia de ramos
  • Instruções e limites para os agentes de IA
  • Convenções de desenvolvimento e estrutura do projeto
  • Testes automatizados e quality gates
  • Ambiente de testes ou pré-visualização isolado
  • Pipeline de CI/CD
  • Imagens Docker versionadas ou outros artefactos de release
  • Implementação controlada, monitorização e cópias de segurança

Opcionalmente com supervisão sénior, revisão de código, desenvolvimento próprio e gestão da infraestrutura.

O caminho de uma alteração até à produção

A forma concreta varia com o projeto. O princípio não: nada chega a produção sem passar nos testes e ser aprovado.

Ramo principal protegido

Ninguém faz push direto para o ramo principal. Nem você, nem o programador, nem um agente de IA.

Um ramo curto por cada alteração

Cada tarefa ou execução de um agente tem o seu próprio ramo. Uma alteração pequena é mais fácil de avaliar e de reverter.

Pull request

A alteração é aberta como pull request, com a descrição do que muda e porquê.

Testes automáticos e verificações de segurança

Sobre cada pull request correm os testes, a análise estática e as verificações acordadas.

Ambiente de pré-visualização isolado

Abre a alteração e experimenta-a numa versão separada da aplicação, não sobre dados reais.

Aprovação e artefacto de release

Depois do seu teste e aprovação nasce um artefacto de release imutável, tipicamente uma imagem Docker versionada.

Implementação do mesmo artefacto

Para produção vai exatamente o artefacto que passou nos testes e na aprovação. Nada é reempacotado pelo caminho.

Não promovemos um modelo de ramos universal. Um projeto mais pequeno pede um fluxo mais simples, um sistema com dados sensíveis um mais rigoroso.

O que acontece quando as alterações entram em conflito

Quando várias pessoas e agentes trabalham num projeto ao mesmo tempo, os conflitos surgem. Não prometemos que uma ferramenta os resolva sempre. Prometemos que não serão resolvidos em silêncio e mal.

Conflito mecânico

Duas alterações no mesmo ponto do código sem ligação de significado. Este pode ser tentado por um agente de IA. Depois do merge, todos os testes relevantes têm de correr outra vez.

Conflito semântico

As alterações tocam na mesma lógica de negócio, modelo de dados, migrações, permissões ou arquitetura. O código junta-se sem erro, mas o resultado faz algo diferente do previsto. Isto é avaliado e aprovado por um programador sénior.

A resolução de conflitos e a supervisão sénior contínua podem ser contratadas dentro de um pacote de suporte. O ramo de produção não pode ser contornado por um push direto de um agente de IA.

Implementação, versões e regresso

Consoante o âmbito do projeto pode receber uma interface simples onde controla as implementações sem saber Git nem gerir servidores:

  • Abrir a versão de testes da aplicação
  • Ver o estado das verificações e testes automáticos
  • Aprovar uma release concreta
  • Colocar o artefacto aprovado em produção
  • Repor a versão compatível anterior
Regresso à versão anterior

Em sistemas adequadamente desenhados é possível repor com segurança a versão compatível anterior. É exatamente por isso que se implementa um artefacto imutável: sabemos com precisão ao que estamos a voltar.

Onde o regresso tem limites

O regresso depende da compatibilidade das alterações de base de dados, das integrações externas, das operações irreversíveis e da natureza de cada release. Por isso tratamos as alterações de base de dados e as irreversíveis com um procedimento próprio de migração e recuperação.

Segurança e fiabilidade

Segurança não é uma verificação acrescentada sobre uma aplicação já pronta. O âmbito das medidas acompanha o risco do projeto e o âmbito acordado do serviço. Uma ferramenta interna para cinco pessoas pede algo diferente de um sistema com dados pessoais de milhares de clientes.

Desenho e acessos

Desenho de autenticação e permissões, separação de papéis e tenants, gestão de segredos e um ambiente de testes seguro sem dados reais.

Código e dependências

Gestão de dependências, análise estática automática, verificação de vulnerabilidades conhecidas, secret scanning e verificação de contentores.

Testes de cenários

Testes de cenários aplicacionais e de API, security scanning automatizado contínuo e, se acordado, um teste de intrusão.

Operação

Monitorização, registo e alertas, cópias de segurança e recuperação, desenho de infraestrutura e consultoria sobre o uso seguro da IA no desenvolvimento.

Não afirmamos que todos estes controlos fazem automaticamente parte de cada projeto. O que aplicamos em concreto consta sempre da proposta.

Para que servem os testes automatizados

Os testes não são um número de cobertura para marketing. Existem para proteger os cenários cuja falha doeria a sério:

  • Início de sessão e gestão de contas
  • Permissões e visibilidade dos dados
  • Tratamento de dados importantes
  • Regras de negócio essenciais
  • Integrações com os sistemas em redor
  • Migrações de base de dados
  • Fluxos de utilizador fundamentais
  • Smoke test após a implementação

O âmbito dos testes acompanha o projeto. Não prometemos à partida uma percentagem concreta de cobertura de código. Um número alto por si só não significa que a aplicação esteja bem.

Testes de intrusão

Fazemos testes de intrusão, mas não fazem parte automática de cada projeto.

  • Podem integrar a entrega de um esqueleto seguro se estiverem expressamente na proposta
  • Podem ser contratados em separado a qualquer momento, com custo adicional
  • O âmbito do teste é sempre definido antecipadamente
  • A par deles oferecemos security scanning automatizado contínuo

Não chamamos teste de intrusão a uma análise automática de vulnerabilidades. A análise procura vulnerabilidades conhecidas numa base de dados; o teste de intrusão é trabalho humano dirigido.

Quem opera a infraestrutura

Há três variantes e nenhuma é obrigatória. Escolhemos consoante as suas regras internas e o local onde os dados têm de ficar.

Infraestrutura da Progity

Operamos a aplicação na nossa própria infraestrutura Docker, incluindo monitorização, cópias e atualizações. Não tem de lidar com servidores.

A sua infraestrutura, gerida por nós

O sistema corre em sua casa ou no seu fornecedor de cloud. A operação e a manutenção ficam connosco, conforme acordado.

A sua infraestrutura, gerida por si

Entregamos documentação, processo de release e configuração. A operação fica consigo e nós continuamos disponíveis para desenvolvimento e consultoria.

Que modelos de IA usamos

Não usamos um único modelo para tudo. Consoante o tipo de tarefa escolhemos um modelo na nuvem ou executado localmente: um para tarefas agênticas longas, outro para implementação rápida, revisão de código ou processamento auxiliar de dados. Entre os modelos na nuvem trabalhamos atualmente, por exemplo, com Claude e OpenAI GPT-5.6.

Claude Fable 5 Anthropic
Claude Opus 5 Anthropic
Claude Sonnet 5 Anthropic
OpenAI GPT-5.6 Sol OpenAI
OpenAI GPT-5.6 Terra OpenAI
OpenAI GPT-5.6 Luna OpenAI
Modelos open-weight executados localmente

Para tarefas auxiliares, de baixa latência ou sensíveis em termos de dados podemos recorrer a modelos open-weight executados localmente, por exemplo das famílias Qwen, Gemma, GPT-OSS ou Llama. Consoante o projeto correm na nossa infraestrutura ou na sua. Não os usamos em todos os projetos e, para o trabalho mais exigente, mantêm-se os modelos na nuvem mais fortes. A execução local também não é, por si só, uma garantia de segurança: continua a exigir acessos bem configurados, isolamento, registo, atualizações e regras de tratamento de dados.

Qwen
Gemma
GPT-OSS
Llama

Leia a lista como o estado atual das nossas ferramentas, não como um compromisso tecnológico permanente. Os modelos mudam depressa e a razão para trabalhar connosco deve ser a forma como trabalhamos, não o nome de um modelo.

Perguntas frequentes sobre desenvolvimento assistido por IA

Vão substituir os programadores por inteligência artificial?
Não. A IA encurta o tempo de escrita de código, mas a arquitetura, o modelo de segurança, a revisão e a decisão de implementar ficam com um programador sénior. Nos tipos de trabalho adequados a produção de código é várias vezes mais rápida; numa integração complexa ou num modelo de dados não trivial a diferença é bem menor. O resultado depende sempre do tipo de projeto.
O que acontece quando as alterações criadas pela IA entram em conflito?
Um conflito mecânico simples pode ser tentado por um agente de IA, mas depois do merge todos os testes relevantes têm de correr outra vez. Se as alterações tocam na mesma lógica de negócio, modelo de dados, migrações, permissões ou arquitetura, trata-se de um conflito semântico e é uma pessoa que o avalia e aprova. É precisamente aí que está a diferença face a gerar alterações diretamente para produção.
O teste de intrusão faz parte de todos os projetos?
Não. Um teste de intrusão pode integrar a entrega de um esqueleto seguro se constar expressamente da proposta, ou pode ser contratado em separado a qualquer momento com custo adicional. O seu âmbito é sempre definido antecipadamente. O security scanning automatizado contínuo é outra coisa: procura vulnerabilidades conhecidas numa base de dados e não substitui o trabalho humano dirigido.
Podemos voltar à versão anterior se algo correr mal?
Em sistemas adequadamente desenhados, sim. É implementado um artefacto imutável e versionado, pelo que é claro ao que estamos a voltar. Mas o regresso depende da compatibilidade das alterações de base de dados, das integrações externas e das operações irreversíveis. Para essas temos um procedimento próprio de migração e recuperação e não prometemos um rollback imediato em todas as circunstâncias.
Podem desenvolver com IA pessoas que não são programadores?
Conseguem mais do que esperariam, mas não diretamente em produção. Preparamos o esqueleto da aplicação, as regras para os agentes, os testes e um ambiente de pré-visualização onde experimentar é seguro. O que passa nos testes e na aprovação segue para produção; o que não passa fica no ramo. A revisão de código e a supervisão sénior acrescentam-se no âmbito contratado.
Isto significa que já não fazem desenvolvimento à medida completo?
Pelo contrário. O desenvolvimento de software à medida de raiz continua a ser o nosso serviço principal: análise, arquitetura, desenvolvimento, testes, implementação, monitorização e evolução. O desenvolvimento seguro assistido por IA é uma oferta para empresas que querem manter parte do trabalho em casa, e é possível mudar de modalidade durante a colaboração.
Também usam modelos de IA locais?
Sim, em casos selecionados. Em tarefas auxiliares, de baixa latência ou sensíveis em termos de dados podemos usar modelos open-weight executados localmente, por exemplo das famílias Qwen, Gemma, GPT-OSS ou Llama. Consoante o projeto correm na nossa infraestrutura ou na sua. Não os usamos em todos os projetos, não dependemos apenas deles para a implementação principal dos sistemas dos clientes e, para o trabalho mais exigente, mantêm-se os modelos na nuvem mais fortes. Além disso, a execução local não torna uma solução segura por si só: os acessos, o isolamento, o registo, as atualizações e as regras de tratamento de dados continuam a ter de estar bem configurados.
Quer perceber o que isto significaria no seu caso?

Fale connosco e percorremos o seu objetivo, os seus processos e quanto do desenvolvimento quer manter em casa. A consulta é gratuita e sem compromisso. Se o desenvolvimento seguro com IA não fizer sentido para si, dizemos-lho diretamente.