Timestamp GIT Secure your prior art without exposing code

← Todos os artigos

2026-09-25

Automatize o carimbo de data/hora do código com um GitHub App

Automatize o carimbo de data/hora do código com um GitHub App
timestamp git blockchain proof

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.

  1. Instale o Timestamp GIT GitHub App a partir do GitHub Marketplace.
  2. 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.
  3. 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

  1. 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.

  2. Fila de hashes
    Os hashes de commit são armazenados em um armazenamento chave-valor em memória e aguardam o agrupamento em lote.

  3. 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.

  4. Entrega das provas
    O manifesto e os arquivos de recibo .ots sã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 auditoria
  • GET /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 .ots já 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

EU label: AI-generated content