Experimente — grátisRetenção de logs por 7 dias
Voltar à visão geral Enterprise
Acesso a produção

Deixe o agente entrar na produção. Aprove antes que ele altere.

Depurar um incidente ao vivo ou rodar uma migração significa dar a um agente acesso real à produção — e acesso real à produção é exatamente o que você não pode entregar a um loop autônomo. O Bromure deixa o agente ler à vontade e então o detém na porta de cada ação que altera estado e pergunta a você primeiro.

O problema

Acesso de leitura tudo bem. São as escritas que acabam com carreiras.

Um agente que consegue consultar a produção é um superpoder de depuração. Um agente que consegue dar `DROP TABLE`, `terraform apply`, apagar um bucket ou subir um hotfix está a uma alucinação confiante de uma queda. O mesmo loop que lê os logs para achar o bug vai, sem ser solicitado, “consertá-lo” contra o sistema ao vivo.

Então os times fazem o seguro e mantêm os agentes totalmente fora da produção — e perdem o único lugar onde os agentes são mais úteis: o incidente ao vivo, o bug que tem o formato dos dados, a migração que só falha com dados reais. A escolha oferecida é autonomia em que você não pode confiar ou acesso que você não vai conceder.

A resposta do Bromure

As leituras fluem. As mutações param e esperam por um humano.

O Bromure roda o agente dentro de uma VM que alcança a produção apenas por um proxy de credenciais — e o proxy sabe a diferença entre uma leitura e uma escrita. Consultas, gets e describes passam direto. Qualquer coisa que altere estado — uma escrita, um delete, um comando DDL, um deploy, uma chamada de API destrutiva — pausa e mostra uma solicitação de permissão exibindo a operação exata, para o engenheiro aprovar ou negar antes que rode.

O agente mantém o ritmo em tudo que é seguro e bloqueia só onde importa. Você vê exatamente o que ele está prestes a fazer — o SQL, a chamada de API, o recurso — e nada toca a produção até você dizer sim. Negue e o agente recebe a recusa e se adapta, igual a qualquer outro erro de ferramenta.

Como funciona

Leitura passa, escrita é barrada

O proxy classifica cada operação. Chamadas somente leitura passam sem atrito; chamadas que alteram estado param para aprovação humana explícita. Velocidade de agente onde é seguro, uma parada total onde não é.

Veja exatamente o que ele vai fazer

Cada solicitação mostra a operação literal — o comando SQL, o verbo e o alvo da API, o recurso que será alterado — antes de executar. Sem “permitir tudo” às cegas.

As credenciais nunca chegam ao agente

O acesso à produção é injetado pelo proxy na camada de rede. O agente opera contra a produção sem nunca segurar uma credencial que pudesse vazar ou usar de forma indevida.

Cada decisão registrada

Aprovações, negações e as operações por trás delas são registradas por sessão e por engenheiro — um histórico completo do que o agente fez na produção e quem permitiu.

Na prática

Um agente em um incidente ao vivo, sem o suor frio

São 2 da manhã e um serviço está lançando erros em um subconjunto de linhas. Um engenheiro aponta seu agente para a réplica de produção pelo Bromure. O agente consulta os dados ao vivo, correlaciona com deploys recentes e estreita o bug a uma coluna malformada gravada por uma migração três horas atrás — tudo somente leitura, tudo fluindo sem interrupção.

O agente propõe a correção: um `UPDATE` nas linhas afetadas. Como isso altera a produção, o Bromure pausa. Uma solicitação de permissão mostra ao engenheiro o comando exato — tabela, predicado, contagem estimada de linhas — e espera. O engenheiro lê, aperta a cláusula `WHERE` e aprova. Só então a escrita chega ao banco de dados.

O incidente fecha em vinte minutos em vez de duas horas. O registro da sessão mostra cada consulta que o agente rodou, a única mutação que ele propôs, a edição do engenheiro e a aprovação — então o post-mortem se escreve sozinho, e ninguém precisa se perguntar se o agente fez silenciosamente mais alguma coisa.

Política como config

Defina o que é barrado em um único bloco de política

A classificação de leitura/escrita do proxy é declarativa. Passe uma política por perfil e o agente a herda em toda sessão. Veja como fica para os backends que os times mais barram.

MongoDB / ClickHouse

Leituras — finds, agregações, SELECTs — passam; inserts, updates, deletes e DDL são barrados por padrão. Opcionalmente, separe um banco de rascunho que o agente pode alterar à vontade.

[proxy.mongodb]
mode = "read-through"
# find / aggregate / count pass without prompting
gate = ["insert", "update", "delete", "drop"]

[proxy.clickhouse]
mode = "read-through"
# SELECT passes; writes and DDL gate
gate = ["INSERT", "ALTER", "DROP", "TRUNCATE"]
# allow unprompted writes only here
allow_write_databases = ["scratch"]

AWS, Kubernetes e APIs de nuvem

Chamadas describe / list / get passam; qualquer coisa que cria, altera ou apaga um recurso — um recurso de nuvem ou um objeto Kubernetes — solicita aprovação com a requisição completa exibida.

[proxy.aws]
mode = "read-through"
allow_verbs  = ["Describe*", "List*", "Get*"]
gate_verbs   = ["Create*", "Update*", "Put*", "Delete*", "Terminate*"]
show_request = true

[proxy.kubernetes]
mode = "read-through"
# get / list / watch pass
gate_verbs = ["create", "apply", "patch", "delete", "scale", "exec"]

HTTP e serviços internos

GET e HEAD fluem; POST, PUT, PATCH e DELETE para hosts de produção são barrados. Defina o escopo por host para que o staging continue sem atrito.

[proxy.http]
read_methods = ["GET", "HEAD"]
gate_methods = ["POST", "PUT", "PATCH", "DELETE"]

[[proxy.http.hosts]]
match = "*.prod.internal"
gate  = true

[[proxy.http.hosts]]
match = "*.staging.internal"
gate  = false
Arquitetura e integração

Como é realmente construído

O marketing acaba aqui. O que segue é o substrato técnico sobre o qual cada implantação Bromure se apoia — o mesmo, quer você esteja protegendo uma força de trabalho BYOD ou segregando níveis de classificação dentro de uma agência regulada.

Isolamento aplicado pelo hypervisor

Cada perfil roda em sua própria VM Linux leve sobre o Virtualization.framework da Apple — kernel, sistema de arquivos e pilha de rede separados do host. A imagem base é um build Alpine assinado e reprodutível, clonado via copy-on-write do APFS na abertura da sessão (custo de disco próximo de zero). O host não consegue ler a memória da VM; a VM não consegue ler a área de transferência, o sistema de arquivos nem os adaptadores de rede do host, a menos que a política do perfil permita explicitamente.

Identidade: SSO para usuários, mTLS para dispositivos

Enrollment e abertura de sessão são gates de dois fatores que sua organização já opera. OIDC / SAML contra Google Workspace, Okta, Microsoft Entra ou Authentik identifica o usuário. Um certificado de cliente mTLS por dispositivo, emitido pelo seu PKI e vinculado à instalação, identifica a máquina. Revogue qualquer um e a próxima sessão não inicia — sem agente para ser adulterado, sem política local para ser contornada.

Perfil como código

O perfil de trabalho — lista de SaaS permitido, postura de download / área de transferência / capturas de tela, configuração de VPN, layout de teclado, CAs raiz, regras de saída de rede — é um artefato declarativo assinado. Versione-o no Git. Publique pelo seu MDM ou pelo endpoint de configuração do Bromure. Perfis adulterados falham na verificação de assinatura e a sessão se recusa a iniciar. O que roda na máquina do usuário é bit-a-bit o que você autorou.

Plano de rede por perfil

Cada perfil carrega sua própria NIC virtual. Escolha NAT pelo host, bridge para uma interface física, ou túnel por WireGuard, IKEv2 / IPsec ou Cloudflare WARP — todos terminados dentro da VM, invisíveis ao host. Some overrides de DNS, whitelists de portas de saída, isolamento de LAN e um proxy HTTP. A segmentação é aplicada pelo hypervisor, não por um adesivo no firewall.

Pipeline de auditoria

Cada requisição — timestamp, verbo, URL, status, usuário, perfil, dispositivo — é capturada fora da VM em um stream JSON Lines resistente a adulteração e entregue ao sink de logs que você já alimenta (SIEM, data lake, arquivo de retenção). Gravação de sessão opcional apenas-cabeçalhos ou corpo completo para tráfego suspeito. Esquema estável, campos documentados, sem vendor lock-in no formato.

Efêmero por padrão, persistente por opt-in

Feche a janela e a VM é destruída. Tokens, cookies, cache, downloads e qualquer malware que tenha aterrissado durante a sessão vão junto. Perfis que precisam de estado — um conjunto de favoritos, uma sessão salva, um SaaS logado — habilitam um disco persistente criptografado com LUKS e chave vinculada ao Keychain do macOS. A chave nunca sai do dispositivo do usuário.

Perguntas comuns

Como o Bromure sabe que uma chamada é uma mutação?

+

O proxy de credenciais entende os protocolos que intermedia — SQL, APIs de nuvem, verbos HTTP, Git. Ele classifica as operações pelo efeito: SELECT e GET passam; INSERT/UPDATE/DELETE/DDL, APIs de escrita e chamadas destrutivas são barradas. Ajuste a política por perfil — barre tudo, ou permita escritas em um schema de rascunho enquanto barra o resto.

A solicitação atrasa cada ação?

+

Só as mutações solicitam. A grande maioria do que um agente faz contra a produção ao depurar é somente leitura, e isso flui em velocidade máxima. O humano está no loop precisamente e apenas onde o estado muda.

O que o agente vê quando eu nego?

+

Uma rejeição normal de ferramenta. O agente trata como qualquer chamada que falhou — pode explicar, propor uma alternativa ou pedir orientação — sem que a mutação jamais tenha acontecido.

Posso aprovar um lote de operações de uma vez?

+

Sim. As aprovações podem ser concedidas por operação ou com escopo — aprove uma classe de operação para o resto da sessão, ou pré-autorize uma migração específica — com cada concessão registrada. O padrão é restrito; você o afrouxa deliberadamente.

Isso não é só um `--dry-run` sofisticado?

+

Não. Um dry-run mostra o que aconteceria e ainda precisa de uma reexecução real às cegas. O Bromure barra a própria chamada real: o agente está no meio da execução, você vê a operação exata e sua aprovação é o que a deixa prosseguir — ou não. Nada roda duas vezes, e nada roda sem aprovação.

Dê a produção ao agente. Mantenha a mão na chave.

Acesso com leitura passando e escrita barrada que deixa os agentes trabalharem em sistemas ao vivo sem nunca alterá-los às suas costas.