Saltar para o conteúdo principal
Corre localmente

Segurança e privacidade do agente de IA

Corre na sua própria máquina. O seu código, tickets e definições ficam numa base de dados SQLite local, ou no seu próprio MySQL ou MariaDB. É você quem decide que passos precisam da sua aprovação e que fornecedor de IA faz o trabalho.

Local primeiro

O Volath corre na sua própria máquina. O seu código, tickets e definições ficam numa base de dados SQLite local, ou no seu próprio MySQL ou MariaDB.

  • Corre na sua própria máquina

    O Volath é um painel local. O seu código, tickets e definições ficam numa base de dados SQLite local, no seu computador, ou numa base de dados MySQL ou MariaDB que gere.

  • As credenciais ficam cifradas na sua máquina

    Os tokens e as chaves de API que introduz ficam cifrados na pasta de dados do Volath, com uma chave gerada no seu computador. Faça uma cópia de segurança da base de dados se lhe interessar o histórico.

  • Cópia do SQLite antes de cada migração

    Antes de uma atualização alterar a base de dados SQLite, o Volath copia-a para a pasta de cópias de segurança dentro da sua pasta de dados e guarda as últimas 10. Para desfazer uma atualização, feche o Volath e volte a colocar essa cópia como database.db. Com MySQL ou MariaDB não é feita nenhuma cópia automática, por isso faça uma cópia da base de dados com mysqldump antes de atualizar o Volath.

Controlo

Por omissão o pipeline corre sozinho. Estas definições deixam-no reter, limitar e observar o que a IA faz.

  • Retenha passos até um humano aprovar

    As políticas podem exigir aprovação antes de a IA começar a desenvolver, antes de o pull request ser aberto ou antes da integração em staging. Nada fica retido até ligar uma política.

  • Execução automática só do que permitir

    As políticas podem deixar correr automaticamente apenas tickets com uma etiqueta como safe, e só enquanto o gasto de IA no ticket ficar abaixo de um limite.

  • Webhooks assinados

    Com um segredo definido, cada webhook leva X-Volath-Signature: sha256=<HMAC-SHA256 do corpo em bruto>, para que quem o recebe o possa verificar.

  • Desligue a memória

    A Memory aprende lições com tickets integrados, pull requests rejeitados e comentários de revisão. A aprendizagem pode ser desligada por projeto (Settings › AI › Project memory) e por ticket (Options › Learn from this ticket). Pode rever, editar ou apagar as lições.

Confiança nos plugins

Os plugins são opcionais. Quando os usa, estas regras decidem o que um plugin pode e não pode fazer.

  • O código dos plugins corre num processo próprio

    O código de um plugin corre num processo Node próprio, com o modelo de permissões do Node: sem processos filhos, workers, módulos nativos nem acesso a ficheiros fora da pasta do plugin, com 256 MB de memória e nada do ambiente do Volath, por isso os tokens e as chaves não lhe chegam. Isto exige o Node 22 ou mais recente. Sem ele o código é recusado, a menos que a sandbox seja desligada, e a aplicação avisa-o.

  • Aceita o que um plugin pede

    Cada chamada passa pelo Volath, que a verifica contra as permissões que o administrador aceitou, lidas em palavras simples no ecrã de instalação. Um plugin fica desligado até elas serem aceites, e uma nova versão que peça mais fica desligada até serem aceites outra vez.

  • Os plugins têm limites rígidos

    Um plugin não recebe os eventos que as suas próprias alterações causaram, está limitado a 120 alterações por minuto e uma chamada expira ao fim de 60 segundos. Um que falhe cinco vezes em dez minutos é desligado. Nunca pode apagar tickets, projetos ou campos personalizados, ler definições de projetos ou de tickets, mudar o email ou a palavra-passe de ninguém nem criar contas de início de sessão, e o email de uma pessoa nunca lhe chega.

  • As instalações do marketplace são verificadas

    Cada transferência do marketplace tem de trazer um sha256 que corresponda à lista, e o pacote tem de ter o id da entrada, ou a instalação é recusada. Uma política para administradores pode recusar instalações por zip (marketplace only), e o auto-update só atualiza os plugins do marketplace quando a nova versão não pede mais nada.

  • Vê de onde veio um plugin

    Tudo o que um plugin cria mostra "from plugin X". Cada plugin diz se veio do marketplace ou de um zip que o Volath não reviu. O ecrã de instalação avisa quando um plugin parece reimplementar uma funcionalidade de um plano pago, ou pede acesso admin ou um anfitrião de rede com wildcard, e as vistas Health e Logs mostram o que um plugin fez.

  • O limite honesto dos plugins

    O Node não consegue fechar a rede a um processo, por isso o código de um plugin podia abrir uma ligação sem passar pelo Volath. Instale código de plugins só de pessoas em quem confia, prefira plugins do marketplace e use a política marketplace only numa instância partilhada. Os plugins declarativos não têm código.

Saiba antes de o executar

O que o Volath pode fazer na sua máquina, para decidir onde o usar.

  • Os agentes podem escrever na pasta do seu projeto

    O Volath corre agentes de IA com acesso de escrita à pasta do projeto. Use-o em repositórios em que confia.

  • O token do seu serviço Git abre pull requests

    O Volath pode enviar branches e abrir pull requests com o seu token do GitHub. Reveja os pull requests que ele abre.

  • Repor as definições por omissão

    Feche o Volath e apague a sua pasta de dados para recomeçar pelo assistente de configuração. Isto remove a base de dados e as capturas de ecrã guardadas, por isso tickets, projetos, programadores, tokens de API e todas as definições desaparecem, e não pode ser desfeito. Exporte antes uma cópia de segurança se quiser guardar alguma coisa.

Fornecedores de IA

É você que escolhe o fornecedor de IA

Use uma CLI ou uma chave de API. O fornecedor e o modelo são configuráveis globalmente, por projeto e por ticket.

  • Claude CodeclaudeCLI
  • CodexcodexCLI
  • GitHub CopilotcopilotCLI
  • OpenCodeopencodeCLI
  • Anthropic APIAPI
  • OpenAI APIAPI

Perguntas frequentes

Perguntas sobre segurança e privacidade

O Volath corre na minha própria máquina?

Sim. O Volath é uma aplicação que instala e corre na sua própria máquina. O seu código, tickets e definições ficam numa base de dados SQLite local, no seu computador, por omissão, ou no seu próprio MySQL ou MariaDB.

Posso escolher o fornecedor de IA e o modelo?

Sim. O fornecedor e o modelo são configuráveis globalmente, por projeto e por ticket. Um campo vazio no projeto usa o valor geral.

Como mantenho o controlo do que a IA faz?

Acompanha cada ticket num quadro Kanban. Em Project settings › Policies pode reter passos até um humano aprovar: antes de a IA começar a desenvolver, antes de o pull request ser aberto ou antes da integração em staging. Por omissão o pipeline corre sozinho e nada fica retido até ligar uma política.

É seguro correr o Volath nos meus repositórios?

O Volath corre agentes de IA com acesso de escrita à pasta do projeto e pode enviar branches e abrir pull requests com o seu token do GitHub. Use-o em repositórios em que confia e reveja os pull requests que ele abre.

A IA aprende com o meu projeto?

Sim. A Memory guarda lições por projeto com tickets integrados, pull requests rejeitados e comentários de revisão. As lições ativas são acrescentadas aos prompts de análise e de desenvolvimento. Pode rever, editar ou apagar as lições e desligar a aprendizagem por projeto e por ticket.

Os plugins são seguros?

O código de um plugin corre num processo Node próprio, com o modelo de permissões do Node e sem nada do ambiente do Volath, e cada chamada é verificada contra as permissões que o administrador aceitou. Um plugin fica desligado até elas serem aceites e nunca pode apagar tickets nem projetos. O Node não consegue fechar a rede a um processo, no entanto, por isso instale código de plugins só de pessoas em quem confia. Os plugins declarativos não têm código.

O Volath pode usar MySQL ou MariaDB?

Sim. O SQLite é o padrão e não precisa de configuração. Para usar MySQL 8 ou mais recente, ou MariaDB, crie uma base de dados vazia e defina as variáveis VOLATH_DB_ em backend/.env. As migrações versionadas e a cópia automática antes de uma migração são só para SQLite, por isso faça uma cópia da base de dados MySQL com mysqldump antes de atualizar o Volath, e tenha em conta que os dados SQLite existentes não são transferidos.

O Volath pode avisar outras ferramentas?

Sim. Os webhooks enviam eventos como ticket.status_changed, pr.opened, ci.failed e deploy.finished num POST JSON, assinado com HMAC-SHA256 quando define um segredo. Defina Send as como Slack ou Teams para receber uma mensagem legível.

Corra o Volath na sua própria máquina

Corre na sua própria máquina. O seu código, tickets e definições ficam numa base de dados SQLite local, ou no seu próprio MySQL ou MariaDB.