Instale um GitHub App para Carimbar Seus Commits Automaticamente
Você já automatiza builds, testes, linting e deploy. Então por que ainda carimbaria commits manualmente quando precisa comprovar prior art? O caminho difícil é executar ferramentas de protocolo commit por commit e manter o controle dos arquivos de prova por conta própria. O Timestamp GIT substitui isso por um GitHub App gerenciado que carimba cada commit automaticamente e o ancora na blockchain do Bitcoin.
O fluxo de trabalho é deliberadamente monótono após a configuração: instale o GitHub App uma vez, selecione os repositórios que deseja monitorar e deixe o pipeline noturno criar recibos de prova .ots. Não há CLI para instalar nas máquinas dos desenvolvedores, nenhum comando manual para lembrar antes de um release e nenhum arquivo local frágil de timestamps.
Este artigo aborda a configuração única, o que acontece entre o commit e a âncora no Bitcoin, como monitorar as provas e as práticas que mantêm suas evidências seguras para uso judicial.
Configuração Única: Conecte o GitHub App
A automação começa com uma única instalação. Depois disso, o GitHub App para carimbar commits faz o trabalho repetitivo por você.
1. Instale o Timestamp GIT GitHub App
Instale o app na sua conta pessoal ou organização a partir do painel do Timestamp GIT. Durante a instalação, você concede acesso ao repositório como em qualquer outro GitHub App.
No modo padrão, o app requer:
- Acesso de leitura ao repositório de origem. O GitHub não oferece uma permissão apenas para hash de commit, então o app precisa de pelo menos acesso somente leitura para detectar hashes de commit.
- Acesso de escrita ao repositório ou branch de destino. Os arquivos de prova precisam de um lugar para existir. Pode ser um branch dedicado
timestampsno repositório de origem ou um repositório espelho separado.
Mesmo com acesso de leitura, o app lê apenas o hash do commit HEAD dos repositórios monitorados. Ele não lê arquivos de origem, diffs, issues ou conteúdo de pull requests.
2. Selecione os repositórios para monitorar
Após a instalação, escolha os repositórios que devem receber carimbo de tempo automático. Repositórios públicos estão disponíveis no plano gratuito. Repositórios privados requerem um plano pago Pro ou Enterprise, dependendo das suas necessidades de segurança e conformidade.
Não há alterações no código da aplicação. Você não instala nada nas máquinas dos desenvolvedores, e sua equipe não precisa mudar o fluxo de trabalho de commits.
3. Escolha a entrega das provas
Por padrão, o app cria um branch Git dedicado ou repositório espelho para os artefatos de prova. Isso mantém as evidências separadas do histórico principal do código-fonte e evita poluir pull requests com arquivos .ots.
Modo Enterprise ZK: zero acesso ao código
Se o seu código é proprietário, regulamentado ou isolado (air-gapped), o modo Enterprise ZK é a opção mais rigorosa. Um GitHub Action de 12 linhas roda na sua infraestrutura e envia apenas o hash do commit para a API do Timestamp GIT.
Nesse modo, o app Timestamp GIT não precisa de acesso de leitura ao seu repositório de origem. Você instala o GitHub Action e apenas hashes de commit saem do seu ambiente. Seu código-fonte nunca sai.
Opcional: modo self-hosted com Docker
Para controle máximo, o Timestamp GIT também está disponível como imagem Docker. Isso é útil para ambientes isolados ou organizações que precisam manter toda a infraestrutura on-premises.
Uma configuração mínima com Compose fica assim:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
Suba com:
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
A aplicação fica disponível em http://localhost:8080. No primeiro acesso, um assistente de configuração guia você pela conexão do seu GitHub App e pela configuração da instância.
O Pipeline Automatizado: Do Commit à Âncora no Bitcoin
Uma vez que o GitHub App está instalado, o processo de carimbo de tempo roda sozinho.
Passo 1: Detecção de commits
No modo padrão, o GitHub App detecta novos commits por meio de webhooks. No modo Enterprise ZK, seu GitHub Action envia hashes de commit para a API como parte do CI/CD.
De qualquer forma, o único dado que entra no pipeline do Timestamp GIT é o hash do commit.
Passo 2: Agrupamento noturno e ancoragem no Bitcoin
Os hashes de commit são armazenados em um armazenamento chave-valor em memória para agrupamento. Todas as noites, um worker cron:
- Agrupa todos os hashes de commit pendentes.
- Cria um arquivo de manifesto para cada repositório.
- Constrói uma árvore de Merkle a partir do lote diário.
- Cria provas OpenTimestamps usando calendários OTS públicos.
- Ancora a raiz da Merkle na blockchain do Bitcoin.
A raiz da Merkle por dia é o que é incorporado ao Bitcoin. Uma vez que essa transação é confirmada, o hash fica permanentemente congelado em um bloco específico do Bitcoin.
Passo 3: Entrega das provas
Após a confirmação da transação no Bitcoin, o Timestamp GIT envia o manifesto e os arquivos de recibo .ots de volta para o branch de timestamps dedicado ou repositório espelho.
A confirmação no Bitcoin normalmente leva cerca de três horas após o lote noturno ser submetido. Isso significa que um commit feito durante o dia normalmente terá um arquivo de prova disponível no dia seguinte.
Passo 4: Status e verificação
Você pode ver o histórico de âncoras no painel de status do repositório. O painel público mostra:
- Longevidade da prova
- Data da âncora mais antiga
- Regularidade diária de ancoragem
- Dados de bloco e transação do Bitcoin
- Um heatmap de calendário
- CSV de auditoria e certificado PDF para download
Para acesso programático, endpoints públicos de status estão disponíveis:
# Informações do último bloco Bitcoin ancorado
curl -s https://timestampgit.dev/api/statusLast/acme/payments-api
# Contagem total de commits commitados e carimbados
curl -s https://timestampgit.dev/api/statusCount/acme/payments-api
# Resumo combinado para badges do Shields.io
curl -s https://timestampgit.dev/api/statusSummary/acme/payments-api
O produto também fornece um endpoint de badge autenticado para que você possa gerar badges de README com uma única requisição. Para repositórios privados, as URLs de badge incluem um HMAC criptografado para que apenas usuários autorizados possam ver o status.
Monitoramento e Tratamento de Falhas
Automação não significa ignorar o sistema. Você deve monitorar a regularidade das âncoras da mesma forma que monitora a saúde do CI.
O painel de status é o lugar mais rápido para identificar um dia ausente. Se um lote noturno não produzir uma prova, a data ausente ficará visível como uma lacuna no heatmap de calendário e na visão de regularidade diária.
Para verificações programáticas, os mesmos endpoints acima podem alimentar seu monitoramento interno:
- Use
/api/statusLast/{user}/{repo}para confirmar a âncora mais recente no Bitcoin. - Use
/api/statusCount/{user}/{repo}para comparar commits carimbados com a contagem esperada de commits. - Use
/api/audit/{user}/{repo}para baixar o livro-razão completo de auditoria como CSV.
Exemplo:
# Baixar o livro-razão completo de auditoria
curl -OJ https://timestampgit.dev/api/audit/acme/payments-api
# Baixar um certificado PDF para uma data específica
curl -OJ https://timestampgit.dev/api/report/acme/payments-api/2026-09-13
Como o sistema agrupa hashes à meia-noite e a confirmação no Bitcoin leva cerca de três horas, não trate um commit recém-enviado como totalmente carimbado até que o arquivo de prova apareça no branch de timestamps.
Por fim, qualquer pessoa pode verificar independentemente um arquivo .ots contra a blockchain do Bitcoin. A prova depende de recibos OpenTimestamps padrão e dados de blocos do Bitcoin, então a verificação não depende do Timestamp GIT permanecer disponível.
Boas Práticas para Carimbo de Tempo Automatizado
1. Ative em todos os repositórios críticos
Carimbar apenas repositórios públicos deixa o trabalho interno privado desprotegido. Trolls de patentes e disputas entre funcionários frequentemente envolvem sistemas proprietários que nunca saem da sua infraestrutura. Use os planos de repositórios privados ou o modo Enterprise ZK para esses casos.
2. Use o modo Enterprise ZK para segredos comerciais
Se um repositório contém segredos comerciais ou código regulamentado, não conceda a nenhum app de terceiros acesso de leitura a ele. Use o GitHub Action para que apenas hashes de commit saiam do seu ambiente.
3. Proteja o branch de timestamps
Os recibos .ots e os arquivos de manifesto são suas evidências. Trate o branch de timestamps dedicado ou o repositório espelho como armazenamento imutável de evidências. Restrinja o acesso de escrita ao app e aos administradores necessários.
4. Arquive registros de auditoria regularmente
Baixe CSVs de auditoria e certificados PDF em uma programação, como trimestralmente ou antes de releases importantes. Mantenha cópias no seu arquivo de conformidade ou jurídico. A prova na blockchain existe de forma independente, mas ter a trilha de auditoria organizada facilita muito a revisão jurídica.
5. Adicione um badge de verificação ao seu README
Badges públicos de verificação são uma forma simples de sinalizar que um repositório tem carimbo de tempo automático ativado. Use o link do badge do painel ou da API autenticada para incorporar um badge do Shields.io no seu README.
FAQ
O GitHub App lê meu código-fonte?
Não. No modo padrão, o app lê apenas o hash do commit HEAD. No modo Enterprise ZK, um GitHub Action do seu lado envia apenas o hash do commit para a API, então o app nunca tem qualquer acesso ao seu repositório.
Quanto tempo leva para um commit ser carimbado?
Os commits são coletados ao longo do dia e ancorados no Bitcoin em um lote noturno. Após o lote ser submetido, a confirmação no Bitcoin normalmente leva cerca de 3 horas. Você recebe o arquivo de prova .ots após a confirmação.
Posso verificar o timestamp sem usar o Timestamp GIT?
Sim. As provas são arquivos .ots OpenTimestamps padrão. Qualquer pessoa pode baixar o arquivo e verificá-lo localmente contra a blockchain do Bitcoin usando ferramentas open-source. O Timestamp GIT também fornece um verificador baseado na web e certificados PDF.
Self-hosting está disponível?
Sim. O Timestamp GIT oferece uma imagem Docker para self-hosting, adequada para ambientes isolados ou altamente regulamentados. Uma licença demo com prazo limitado está disponível mediante solicitação.
Conclusão: Configure e Esqueça
O carimbo de tempo manual é frágil porque depende de alguém lembrar de fazê-lo. Um pipeline baseado em GitHub App remove esse modo de falha.
Com o Timestamp GIT, você instala uma vez, seleciona repositórios e deixa o worker noturno ancorar hashes de commit no Bitcoin. Sua equipe continua escrevendo código normalmente. As evidências se acumulam automaticamente como arquivos .ots, relatórios de auditoria e badges de status.
Instale o Timestamp GIT GitHub App hoje, ou comece com o plano gratuito para repositórios públicos. Planos Pro e Enterprise estão disponíveis para repositórios privados e implantações zero-knowledge mais rigorosas.
Posts relacionados
- Como Startups Podem Proteger Sua Propriedade Intelectual de Software Sem Patentes
- Carimbo de Tempo Git Open Source Gratuito com Timestamp GIT
- O Que É Carimbo de Tempo Criptográfico e Como Ele Protege Seu Código?