Automatize o carimbo de data/hora de código com um GitHub App
Se você já carimbou código manualmente com data/hora, conhece a rotina: gerar um hash, copiá-lo para algum lugar seguro, armazenar um recibo e repetir isso para cada commit relevante. É repetitivo, fácil de esquecer e frágil justamente quando você mais precisa. O carimbo automático de data/hora de código com um GitHub App elimina todo esse fardo manual.
O Timestamp GIT é um GitHub App gerenciado que ancora automaticamente cada hash de commit dos seus repositórios monitorados na blockchain do Bitcoin. Não há ferramenta de CLI para executar, nenhum recibo para arquivar manualmente e nenhum job em lote noturno para lembrar. Você instala o app uma única vez, e o sistema cuida da detecção de commits, da ancoragem criptográfica e da entrega das provas em segundo plano.
Este artigo aborda a configuração única, o pipeline noturno automatizado, o monitoramento e o tratamento de falhas, além das melhores práticas para construir uma trilha durável de anterioridade (prior art).
Configuração Única: Instale o GitHub App
Todo o processo de configuração acontece na interface do GitHub.
- Instale o Timestamp GIT GitHub App a partir do GitHub Marketplace.
- Selecione os repositórios que deseja monitorar. Repositórios públicos são suportados no plano gratuito Open Source; repositórios privados estão disponíveis nos planos Pro Agency e Enterprise ZK.
- Conceda as permissões necessárias.
Os requisitos de permissão dependem do modo de implantação:
- Modo Standard: O app precisa de acesso somente leitura ao repositório de origem. O GitHub não oferece uma permissão de “apenas hash de commit”, portanto o acesso de leitura é necessário para que o app veja o hash do commit HEAD. O app também precisa de acesso de leitura e gravação ao repositório de destino onde as provas serão armazenadas.
- Modo Enterprise ZK: O app não precisa de acesso de leitura ao repositório de origem. Um GitHub Action na sua infraestrutura envia apenas o hash do commit para a API do Timestamp GIT. Você concede apenas acesso de leitura e gravação ao repositório de destino das provas.
Não há ferramentas de CLI para instalar nem arquivos de configuração para manter. Após a instalação, o app está pronto.
Para ambientes air-gapped ou totalmente auto-hospedados, o Timestamp GIT também está disponível como imagem Docker. Se você precisa de controle on-premises, consulte o artigo dedicado sobre carimbo de data/hora auto-hospedado com Docker. Para a maioria das equipes, o GitHub App hospedado é o caminho mais rápido.
O Pipeline Automatizado: Do Commit à Âncora no Bitcoin
O núcleo do Timestamp GIT é um pipeline de automação noturno que exige zero entrada diária dos desenvolvedores.
O que acontece após cada commit
-
Detecção de commit
No Modo Standard, o GitHub App recebe um webhook sempre que você envia um novo commit para um repositório monitorado. No Modo Enterprise ZK, o seu GitHub Action envia o hash do commit para a API. -
Fila de hashes
Os hashes de commit são armazenados em um armazenamento chave-valor em memória e aguardam o agrupamento em lote. -
Worker cron da meia-noite
Todas as noites, um worker agrupa todos os hashes pendentes, cria um arquivo de manifesto para cada repositório, constrói uma árvore de Merkle nativamente e cria provas OpenTimestamps. A raiz de Merkle do lote diário é ancorada na blockchain do Bitcoin. -
Entrega das provas
O manifesto e os arquivos de recibo.otssão enviados de volta para um branch dedicado de timestamps ou para um repositório sombra. A confirmação no Bitcoin normalmente leva cerca de três horas, então os arquivos de prova aparecem algumas horas após a ancoragem noturna.
O processo é zero-knowledge por arquitetura. O Timestamp GIT vê apenas o hash do commit — uma impressão digital unidirecional — nunca o seu código-fonte. No Modo Standard, o app lê apenas o hash do commit HEAD. No Modo Enterprise ZK, o código-fonte nunca sai do seu ambiente porque o hash do commit é enviado a partir do seu próprio runner do GitHub Action.
Modo Enterprise ZK com um GitHub Action
Se você precisa de isolamento estrito do código-fonte, o Modo Enterprise ZK é a opção mais robusta. Um GitHub Action curto é executado na sua infraestrutura e envia apenas o hash do commit para a API do Timestamp GIT.
Um fluxo de trabalho típico se parece com isto:
name: Push commit hash to Timestamp GIT
on:
push:
branches:
- main
jobs:
timestamp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Send commit hash
run: |
curl -X POST "${{ secrets.TIMESTAMPGIT_SIGNED_URL }}" \
-H "Content-Type: application/json" \
-d "{\"commitId\":\"${{ github.sha }}\"}"
A URL assinada vem do assistente de configuração Enterprise e é armazenada como um segredo do GitHub. O action não possui etapa de inspeção de código-fonte nem uploads de arquivos.
Dois modos de implantação em resumo
| Modo | Acesso à origem | Armazenamento das provas | Ideal para |
|---|---|---|---|
| GitHub App Standard | Repositório de origem somente leitura | Branch dedicado ou repositório sombra | Automação rápida e sem configuração |
| Enterprise ZK | Sem acesso à origem | Repositório de destino que você controla | Segredos comerciais, conformidade, segurança estrita |
Em ambos os modos, a ancoragem subjacente no Bitcoin é idêntica: a raiz de Merkle diária é incorporada em uma transação Bitcoin usando o protocolo OpenTimestamps. Uma vez que a transação é confirmada em um bloco, o carimbo de data/hora não pode ser alterado por ninguém, incluindo o Timestamp GIT.
Monitoramento e Tratamento de Falhas
A automação só tem valor quando você pode confiar que ela ainda está funcionando. O Timestamp GIT oferece várias superfícies de monitoramento.
Painel de status público
Cada repositório tem uma página de status que mostra:
- A data de ancoragem mais antiga
- A regularidade diária das ancoragens
- Dados de bloco e transação do Bitcoin
- Um heatmap de calendário dos dias carimbados
- CSV de auditoria e certificado PDF para download
Você pode verificar o último bloco Bitcoin ancorado através da API pública de status:
curl https://timestampgit.dev/api/statusLast/your-org/your-repo
Uma resposta de exemplo se parece com isto:
{
"blockHeight": 862400,
"timestamp": "2026-09-25T00:37:00Z",
"status": "confirmed"
}
Para repositórios privados, as URLs de status incluem um HMAC criptografado para que apenas usuários autorizados possam visualizar o status do carimbo de data/hora. O HMAC é específico da instância do servidor.
O que acontece quando algo falha
Como o lote noturno é executado em uma programação, um job com falha não descarta silenciosamente a sua trilha de provas. O sistema tenta novamente o processo de ancoragem automaticamente. A página de status permite identificar lacunas na regularidade diária e investigar se um repositório parou de enviar novos hashes de commit.
Para conformidade e manutenção de registros, você pode baixar o livro-razão completo de auditoria como CSV e um certificado PDF para uma data específica:
GET /api/audit/{user}/{repo}— CSV completo de auditoriaGET /api/report/{user}/{repo}/{date}— certificado PDF para um único dia
Verificação independente
Qualquer pessoa pode verificar um carimbo de data/hora sem confiar no painel do Timestamp GIT. A página de verificação orienta a verificação da cadeia de Merkle em múltiplos níveis localmente no navegador. Para um repositório público, o arquivo de recibo .ots também pode ser verificado contra a blockchain do Bitcoin usando ferramentas padrão de verificação OpenTimestamps. Como a prova está incorporada no Bitcoin, ela permanece verificável mesmo que o serviço Timestamp GIT desapareça.
Melhores Práticas para Carimbo Automatizado de Data/Hora
A ancoragem automatizada funciona melhor quando se torna uma parte padrão do ciclo de vida do seu repositório.
- Ative-a para todos os repositórios ativos, não apenas os críticos. Uma trilha ampla de anterioridade é mais forte do que uma esparsa. O custo marginal de carimbar cada commit é baixo com automação.
- Use o Modo Enterprise ZK para código proprietário ou segredos comerciais. Se você deseja zero acesso à origem por parte do provedor de carimbo de data/hora, envie apenas hashes de commit a partir do seu próprio GitHub Action.
- Baixe CSVs de auditoria regularmente e armazene-os separadamente. Mantenha cópias redundantes fora do GitHub. Seus arquivos
.otsjá estão no seu repositório, mas uma cópia offline adicional é um seguro barato para auditorias legais. - Incorpore selos de verificação no seu README. Selos públicos dão a colaboradores, clientes e concorrentes um sinal claro de que o seu histórico de commits está ancorado. Eles apontam para o visualizador público de verificação e para o relatório em PDF.
- Envie certificados PDF aos clientes. Para agências e freelancers, um certificado PDF diário pode ser anexado a faturas ou entregas de marcos para comprovar datas de conclusão de trabalho.
- Considere a auto-hospedagem com Docker para ambientes air-gapped. Se você não pode usar um SaaS hospedado, a licença Docker auto-hospedada oferece a mesma automação na sua própria infraestrutura.
FAQ
O que exatamente é o carimbo automatizado de data/hora de código com um GitHub App?
O carimbo automatizado de data/hora de código com um GitHub App significa que cada commit que você faz em um repositório monitorado é automaticamente ancorado criptograficamente à blockchain do Bitcoin sem intervenção manual. O app detecta novos commits, agrupa-os em lote noturno e cria recibos de prova imutáveis. Nenhuma ferramenta de CLI ou etapa manual é necessária.
Como o Timestamp GIT garante que meu código-fonte nunca seja exposto?
O Timestamp GIT usa uma arquitetura zero-knowledge. No Modo Standard, o app lê apenas o hash do commit — uma impressão digital unidirecional — do seu repositório. No Modo Enterprise ZK, um GitHub Action na sua infraestrutura envia apenas o hash do commit para a API, de modo que o app nunca tem qualquer acesso ao seu código-fonte.
Posso usar o Timestamp GIT com repositórios privados?
Sim. O Timestamp GIT suporta repositórios privados nos planos Pro Agency e Enterprise ZK. Para repositórios privados, os selos de status e as URLs de verificação incluem um HMAC criptografado para que apenas usuários autorizados possam visualizar o status do carimbo de data/hora.
O que acontece se o serviço do Timestamp GIT ficar indisponível? Ainda posso verificar meus carimbos de data/hora?
Seus carimbos de data/hora permanecem totalmente verificáveis mesmo que o Timestamp GIT desapareça. As provas estão incorporadas na blockchain do Bitcoin usando o protocolo OpenTimestamps, e você pode verificá-las localmente com ferramentas padrão. Os arquivos de recibo .ots são armazenados no seu repositório, então você sempre mantém a evidência.
Conclusão: Configure e Esqueça
O carimbo manual de data/hora é um fardo que a automação elimina completamente. O Timestamp GIT transforma cada commit em uma prova de existência ancorada no Bitcoin, sem CLI, sem scripts noturnos e sem gerenciamento manual de recibos. Você instala o GitHub App uma única vez, e o sistema cuida do resto: detecção de commits, construção da árvore de Merkle, ancoragem no Bitcoin e entrega das provas.
Se você está pronto para proteger sua anterioridade sem adicionar outro processo manual ao seu fluxo de trabalho, instale o Timestamp GIT a partir do GitHub Marketplace. Os preços começam com um plano gratuito Open Source para repositórios públicos, Pro Agency a US$ 49/mês para repositórios privados e Enterprise ZK a US$ 199/mês para zero acesso à origem. Uma licença Docker auto-hospedada também está disponível para implantações air-gapped ou on-premises.
Posts relacionados
- O Melhor GitHub App para Carimbar Seus Commits
- Carimbo de Data/Hora no Bitcoin para Desenvolvedores: Um Guia para Iniciantes
- Carimbo de Data/Hora Auto-Hospedado com Docker: Timestamp GIT
- Como Provar Autoria de Software: Um Guia para Desenvolvedores
- Como Verificar um Carimbo de Data/Hora de Commit Git
- Carimbe Automaticamente Commits Git com um GitHub App