Menu da documentação
Primeiros passos
Painel e análises
- Painel em resumo
- Análise de custo
- Desempenho de pipeline
- Insights de otimização
- Knowledge Base
- Conecte seu agente de IA
Runners gerenciados
- Visão geral dos runners
- Execute seu primeiro job
- A página de Runners
- Runners personalizados (AI Scan)
- Autorreparo
- Imagem e software do runner
- Limites e concorrência
Cache
Equipe e notificações
Faturamento e planos
Ajuda
Segurança e permissões do GitHub
Exatamente o que o GitHub App do Latchkey pode ler e alterar, como a infraestrutura de runners é isolada e como funciona a exclusão.
Esta página descreve o que o Latchkey pode e não pode acessar, em termos claros, para que sua revisão de segurança tenha uma resposta direta. Ela cobre quatro coisas: o que o GitHub App lê, quando o Latchkey escreve nos seus repositórios, como a infraestrutura de runners é isolada e como funciona a exclusão de dados.
O que o Latchkey lê, e o que nunca toca#
O Latchkey lê
- Metadados de execução de workflow e de job: nomes, tempos, status, labels de runner
- Arquivos YAML de workflow em
.github/workflows/ - Metadados de repositório (nomes, visibilidade, branch padrão) para repos habilitados
- O plano da sua conta GitHub, para modelar os custos de runner do GitHub com precisão
O Latchkey nunca lê
- O código-fonte da sua aplicação além dos arquivos de workflow
- Segredos e valores de variáveis de ambiente
- Issues e discussões de pull request
A fronteira é deliberada: tudo à esquerda existe para alimentar um recurso específico, e nada além disso é solicitado. Metadados de execução e de job são a matéria-prima dos painéis de análise; o YAML de workflow é o que a IA lê para propor otimizações, e o único tipo de arquivo que um PR de otimização edita; metadados de repositório orientam a lista de repositórios no modal de Monitoramento; e o seu plano GitHub alimenta o modelo de custo do lado do GitHub na página de Análise de custos.
Quando o Latchkey escreve nos seus repositórios#
Apenas por meio de pull requests, e apenas em duas situações:
- Você clica em aplicar em uma recomendação de otimização: o Latchkey abre um PR (branch
latchkey/optimize-...) alterando o arquivo de workflow. - A auto-recuperação propõe uma correção durável: um PR de recuperação descrevendo a causa-raiz e a mudança.
| Momento de escrita | O que o dispara | O que você vê no GitHub |
|---|---|---|
| PR de otimização | Você clica em aplicar em uma recomendação na página Optimization Insights | Um pull request intitulado "latchkey AI: Optimize <workflow> workflow" em uma branch chamada latchkey/optimize-... |
| PR de recuperação | A auto-recuperação diagnostica uma causa-raiz que precisa de uma correção durável no repositório | Um pull request comum descrevendo o que falhou, por quê, e o que a mudança faz |
| Gerenciamento do grupo de runners | Instalar o app, para que jobs latchkey-* possam rotear para runners gerenciados | O app gerencia seu próprio grupo de runners na sua organização; nenhum conteúdo de repositório muda |
Ambos os tipos de PR são pull requests comuns para sua equipe revisar, editar ou fechar. O Latchkey nunca faz push diretamente para suas branches e nunca mescla nada, então se você nunca mesclar um PR do Latchkey, nada no seu repositório muda. Pull requests de forks nunca são tocados. O grupo de runners que o app gerencia é encanamento de CI da organização, não conteúdo de repositório.
Isolamento de runners#
Runners gerenciados executam seu código, então seu modelo de isolamento importa mais do que qualquer outra coisa nesta página. Quatro propriedades trabalham juntas:
- Um job por runner. Todo runner gerenciado executa um único job e é destruído depois; nada persiste entre jobs ou entre clientes. O que quer que um job grave, instale ou quebre desaparece com a máquina.
- Rede privada. Runners vivem em subnets privadas sem IP público e sem acesso de entrada: o runner alcança o exterior para fazer seu trabalho, mas nada na internet pode iniciar uma conexão com ele.
- Padrões de instância reforçados, incluindo proteções obrigatórias de metadados de instância e discos criptografados.
- O registro é just-in-time. Runners novos se registram para exatamente um job com credenciais de uso único, então não há credenciais de runner de longa duração para roubar; uma credencial é gasta assim que seu job é concluído.
A auto-recuperação e seus segredos#
O diagnóstico de auto-recuperação roda localmente no runner, contra a saída do passo que seu job já imprime, então nada novo é exposto: segredos mascarados pelo GitHub Actions permanecem mascarados, e o runner, incluindo tudo o que o diagnóstico viu, é destruído após o job. Correções durante a execução só tocam o runner efêmero; correções duráveis sempre chegam apenas como pull requests para revisão, e pull requests de forks nunca são tocados. O modelo completo está em Auto-recuperação.
Chaves de API e o servidor MCP#
Se você conectar um agente de IA por MCP, a chave de API é a credencial a considerar:
- Escopo somente leitura. As chaves podem ler dados de falha de CI; não podem alterar nada no Latchkey ou no GitHub.
- Com escopo de workspace. O workspace é derivado da própria chave, então uma chave só pode ver os dados do seu próprio workspace.
- Exibida uma vez. A chave completa (começa com
lk_live_) é exibida apenas na criação; depois disso a interface mostra um placeholder. - Revogável. Revogue qualquer chave instantaneamente em Settings, API Keys; chaves revogadas permanecem listadas para auditoria.
Qualquer pessoa que possua uma chave pode ler seus dados de falha de CI, incluindo trechos de log, então trate as chaves como senhas: armazene-as na configuração do seu agente, não em um repositório, e rotacione qualquer chave que possa ter vazado.
Tratamento de dados#
- Os dados são criptografados em trânsito (TLS) e em repouso.
- Dados de análise têm escopo do seu workspace e são isolados por organização: cada workspace tem seu próprio plano, equipe, repositórios e dados, e ser membro de um workspace nunca concede visibilidade sobre outro.
- Os diagnósticos de auto-recuperação trabalham sobre logs de passo dentro do runner; os relatórios de recuperação exibidos no seu painel contêm o diagnóstico e a ação tomada.
Excluindo seus dados#
- Desabilitar um repositório: a ingestão para imediatamente; seus dados são arquivados para fora do seu painel. Reabilitar depois inicia um novo backfill. Veja Gerenciando repositórios.
- Cancelar sua assinatura: o acesso é bloqueado, mas seus dados são retidos para que reassinar os restaure.
- Excluir o workspace (Settings, Account; apenas dono): remove permanentemente repositórios, dados de workflow e recursos de runner gerenciado, e cancela a cobrança.
- Excluir sua conta: remove sua conta Latchkey e os workspaces que você possui. Seus repositórios e workflows do GitHub nunca são afetados por nenhuma dessas ações.