Timestamp GIT Secure your prior art without exposing code

← Todos os artigos

2026-08-25

Como Carimbar Commits do Git com Data e Hora Criptográfica (Sem Ferramentas de CLI)

Como Carimbar Commits do Git com Data e Hora Criptográfica (Sem Ferramentas de CLI)
timestamp git blockchain proof

Como Carimbar Criptograficamente Commits do Git com Data e Hora (Sem Ferramentas de CLI)

A maioria dos desenvolvedores trata o git log como um registro confiável de quando o trabalho aconteceu. Mas o histórico padrão do Git não é criptograficamente confiável: as datas dos commits podem ser definidas para qualquer valor, o histórico pode ser reescrito com force-push, e um repositório hospedado no GitHub pode ser alterado por pessoas com acesso de administrador. Se um troll de patentes, um ex-contratado ou um concorrente pedir que você prove quando uma implementação específica existiu, seu git log local é frequentemente descartado como autointeressado.

Este guia mostra como carimbar criptograficamente commits do Git com data e hora sem instalar o OpenTimestamps, executar um nó Bitcoin ou aprender ferramentas de linha de comando cruas. Você usará o Timestamp GIT, um GitHub App gerenciado que lê apenas os hashes dos seus commits, agrupa-os todas as noites, ancora-os no Bitcoin e grava recibos de prova .ots de volta. Ao final, cada commit em um repositório monitorado será verificável contra a blockchain do Bitcoin.

Se você é novo no conceito subjacente, consulte Prova de Existência em Software: Um Guia para Iniciantes. Este artigo permanece focado na tarefa de configuração.

Pré-requisitos

Você não precisa de nenhuma expertise criptográfica, mas precisa de:

  • Uma conta no GitHub com pelo menos um repositório que você deseja proteger.
  • Acesso ao Timestamp GIT GitHub App, disponível no site do Timestamp GIT.
  • Familiaridade básica com fluxos de trabalho normais do Git, como commit e push.
  • Um repositório público se quiser começar gratuitamente. Repositórios privados estão disponíveis em planos pagos.

Nenhuma instalação local, cliente OpenTimestamps ou carteira Bitcoin é necessária para a configuração padrão.

Passo a Passo: Configurando o Carimbo de Data e Hora Automático

Passo 1: Instale o Timestamp GIT GitHub App

Comece pelo site do Timestamp GIT ou pelo GitHub Marketplace. Clique em Install GitHub App, escolha se o app deve ser instalado na sua conta pessoal ou em uma organização e conclua o fluxo de autorização do GitHub.

O app se torna um serviço gerenciado: após a instalação, ele monitora os repositórios selecionados e ancora commits automaticamente. Você não precisa adicionar hooks pós-commit nem alterar seu fluxo de trabalho de desenvolvimento.

Passo 2: Conceda as Permissões Necessárias

O Timestamp GIT funciona em dois modos:

  • Modo Padrão: O GitHub App lê apenas o hash do commit mais recente do seu repositório de origem. Como o sistema de permissões do GitHub não tem acesso “somente hash de commit”, o app requer acesso somente leitura ao repositório de origem. Ele também requer acesso de leitura e gravação ao repositório de destino onde os arquivos de prova serão gravados.
  • Modo Enterprise ZK: Uma GitHub Action curta é executada na sua infraestrutura e envia apenas o hash do commit para a API do Timestamp GIT. Nesse modo, nenhum acesso de leitura ao repositório de origem é necessário. Você só precisa de acesso de leitura e gravação ao repositório de destino onde as provas são armazenadas.

Para a maioria dos usuários, o Modo Padrão é o lugar certo para começar. O ponto importante é que o Timestamp GIT nunca lê seu código-fonte em nenhum dos modos.

Passo 3: Selecione os Repositórios a Monitorar

Durante a instalação, escolha se o app deve monitorar todos os repositórios atuais e futuros ou apenas repositórios selecionados. Se você estiver testando com um repositório público, selecione esse repositório agora.

Os arquivos de prova podem ser gravados no mesmo repositório em uma branch dedicada, ou em um repositório sombra separado. Usar o mesmo repositório é comum para projetos pequenos. Um repositório sombra separado é útil se você quiser manter os arquivos de prova completamente fora do repositório principal.

Passo 4: Confirme a Configuração no Painel

Após a instalação, abra https://timestampgit.dev/repos. Você deve ver seus repositórios monitorados listados lá.

Verifique se:

  • O repositório de origem aparece na lista.
  • O destino da prova está configurado conforme esperado.
  • O repositório está marcado como ativo.

Se o repositório não aparecer, revise as configurações de instalação do GitHub App e confirme que os repositórios corretos estão selecionados.

Passo 5: Faça um Novo Commit

O Timestamp GIT processa apenas commits feitos após o repositório ser conectado. Crie um commit normal e envie-o:

git add src/validation.js
git commit -m "Add payment validation logic"
git push origin main

Você não executa mais nada. O GitHub App detecta o novo commit automaticamente por meio de webhooks.

Passo 6: Aguarde o Processo de Lote Noturno

O Timestamp GIT não ancora cada commit imediatamente. Os commits são coletados em uma fila, e um worker noturno os agrupa logo após a meia-noite UTC.

O worker:

  1. Cria um arquivo de manifesto para cada repositório.
  2. Constrói uma árvore de Merkle a partir dos hashes de commit pendentes.
  3. Cria provas OpenTimestamps.
  4. Ancora a raiz de Merkle na blockchain do Bitcoin.

A confirmação do Bitcoin normalmente leva várias horas. O processo completo de gravação de provas pode levar algumas horas no total, então não espere que um selo ou página de status seja atualizado minutos após enviar seu commit.

Passo 7: Verifique a Entrega da Prova

Uma vez que o lote é confirmado, o Timestamp GIT envia os arquivos de prova de volta para o destino escolhido. Você verá uma branch dedicada timestamps ou um repositório sombra contendo:

manifests/2026-08-25.txt
proofs/2026-08-25.ots

O arquivo .ots é seu recibo criptográfico. Você pode mantê-lo, publicá-lo ou entregá-lo a um auditor. A prova é independente da infraestrutura do Timestamp GIT.

Como Confirmar que Funcionou (Verificação)

A maneira mais rápida de confirmar que o carimbo de data e hora está ativo é abrir a página de status do repositório:

https://timestampgit.dev/status/{user}/{repo}

Substitua {user} e {repo} pelo seu nome de usuário ou organização do GitHub e o nome do repositório. A página de status mostra a data de ancoragem mais antiga, regularidade diária, dados de bloco e transação do Bitcoin e um mapa de calor de calendário.

Para uma verificação legível por máquina, você pode chamar a API pública de status:

curl -s https://timestampgit.dev/api/statusLast/octocat/hello-world

A resposta contém as informações do último bloco Bitcoin ancorado. Para repositórios privados, a URL inclui um HMAC criptografado para que apenas usuários autorizados possam acessar o status.

Para exibir o status da prova diretamente no seu README, abra o painel do repositório e copie o markdown do selo incorporável. Ele será semelhante a isto:

[![Timestamp GIT](YOUR_BADGE_URL)](https://timestampgit.dev/status/YOUR_USER/YOUR_REPO)

O painel fornece o trecho completo, incluindo a URL correta do selo Shields.io para o seu repositório.

Para uma verificação de prova mais profunda, visite:

https://timestampgit.dev/verification/{user}/{repo}/{date}

Essa página percorre a verificação da cadeia de Merkle localmente no seu navegador. Você também pode baixar um certificado em PDF para uma data específica ou exportar o livro-razão de auditoria completo como CSV a partir do painel de status.

Se você quiser verificar o arquivo .ots de forma totalmente independente, pode baixá-lo e verificá-lo contra a blockchain do Bitcoin usando ferramentas open-source do OpenTimestamps. O Timestamp GIT não exige que você faça isso manualmente, mas a opção existe porque a prova é independente de fornecedor. Para um passo a passo dedicado, consulte Como Verificar os Carimbos de Data e Hora dos Seus Commits do Git.

Solução de Problemas Comuns

Problema: Nenhuma prova aparece após um commit.

Solução: Confirme que o repositório ainda está selecionado nas configurações de instalação do GitHub App. Confirme também que o commit foi feito após a instalação. Commits feitos antes do app ser conectado não são processados retroativamente.

Problema: A branch de prova não foi criada.

Solução: Verifique se o app tem acesso de gravação ao repositório de destino. Se você estiver gravando provas em um repositório diferente, esse destino deve ter acesso de leitura e gravação. Usar um repositório sombra geralmente resolve isso de forma limpa.

Problema: O selo de verificação mostra um status desconhecido ou desatualizado.

Solução: Aguarde o lote noturno ser concluído e a confirmação do Bitcoin ocorrer. Isso normalmente leva várias horas após a meia-noite UTC. Atualize o selo após os arquivos de prova terem sido gravados de volta.

Problema: O status do repositório privado não é visível para outros.

Solução: As URLs de status de repositórios privados incluem um HMAC criptografado. Use o link de selo autenticado do painel do Timestamp GIT em vez do endpoint de status público.

Problema: Você precisa de uma implantação air-gapped ou auto-hospedada.

Solução: O Timestamp GIT está disponível como uma licença Docker auto-hospedada. Uma configuração mínima de Docker Compose se parece com isto:

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
      - ./license.lic:/app/license.lic:ro
    restart: unless-stopped

  valkey:
    image: valkey/valkey:8
    restart: unless-stopped

Após a inicialização, o aplicativo está disponível em http://localhost:8080, e um assistente de configuração o guia pela conexão do seu GitHub App. Uma licença de demonstração por tempo limitado está disponível na página de licença Docker.

Perguntas Frequentes

Como o Timestamp GIT carimba criptograficamente meus commits do Git com data e hora?

O Timestamp GIT extrai o hash SHA-1 ou SHA-256 de cada commit, agrupa esses hashes diariamente, constrói uma árvore de Merkle e ancora a raiz de Merkle na blockchain do Bitcoin usando o protocolo OpenTimestamps. Isso cria uma prova imutável de que o commit existia naquele momento.

Preciso executar alguma ferramenta de CLI ou entender o OpenTimestamps?

Não. O Timestamp GIT é um GitHub App gerenciado. Uma vez instalado, ele monitora automaticamente seus repositórios e ancora commits todas as noites. Você não precisa executar nenhum comando nem gerenciar o protocolo subjacente.

Meu código-fonte é exposto durante o carimbo de data e hora?

Não. O Timestamp GIT lê apenas o hash do commit, que é uma impressão digital criptográfica, não o código real. No modo Enterprise ZK, até mesmo o hash do commit é enviado da sua infraestrutura por meio de uma GitHub Action, então seu código-fonte nunca sai do seu ambiente.

Posso verificar o carimbo de data e hora de forma independente, sem depender do Timestamp GIT?

Sim. A prova é armazenada como um arquivo de recibo .ots padrão. Qualquer pessoa pode baixá-lo e verificá-lo contra a blockchain do Bitcoin usando ferramentas open-source do OpenTimestamps. A prova permanece válida mesmo se o Timestamp GIT desaparecer.

Conclusão

Agora você tem carimbo de data e hora criptográfico automático para seus commits do Git. Após uma instalação única do GitHub App, cada commit em um repositório monitorado é agrupado todas as noites, ancorado no Bitcoin e convertido em um recibo de prova .ots verificável. O processo não requer ferramentas de CLI locais, nenhum comando manual do OpenTimestamps e nenhuma expertise em Bitcoin.

Repositórios públicos podem começar gratuitamente. Repositórios privados estão disponíveis em planos pagos. Instale o GitHub App hoje e torne seu histórico de commits legalmente defensável.

Posts relacionados

EU label: AI-generated content