Timestamp GIT Secure your prior art without exposing code

← Todos os artigos

2026-09-27

Como provar que seu código existia antes de um pedido de patente

Como provar que seu código existia antes de um pedido de patente
timestamp git blockchain proof

Como Provar Que Seu Código Existia Antes de um Pedido de Patente

O cenário é brutal: você construiu uma funcionalidade inovadora, enviou-a dentro de um repositório privado e seguiu em frente. Dezoito meses depois, um concorrente registra uma patente sobre a mesma técnica. Se você não conseguir provar que sua implementação existia antes da data de depósito deles, a conversa muda de “nós construímos isso primeiro” para “prove”. Este guia mostra exatamente como provar que seu código existia antes de um pedido de patente usando o Timestamp GIT e seu GitHub App gerenciado. Ao final, você terá carimbos de tempo imutáveis, ancorados no Bitcoin, para seus commits do Git, prontos para apoiar uma defesa de estado da técnica.

O caminho difícil significaria aprender o protocolo OpenTimestamps, executar etapas manuais de ancoragem e manter seu próprio pipeline de provas. O Timestamp GIT elimina isso: instale o GitHub App uma vez, conecte um repositório e cada commit é agrupado e ancorado no blockchain do Bitcoin automaticamente todas as noites.

Pré-requisitos: O Que Você Precisa Antes de Começar

Você não precisa de uma carteira Bitcoin, um nó de blockchain ou qualquer ferramenta criptográfica. Você precisa de:

  • Uma conta no GitHub e pelo menos um repositório contendo o código que deseja proteger. Repositórios públicos podem usar o plano Open Source gratuito; repositórios privados exigem um plano pago.
  • Familiaridade básica com commits do Git e configurações de repositório do GitHub. Você deve saber como enviar commits, instalar um GitHub App e ler logs de workflow.
  • Uma conta no Timestamp GIT. O plano gratuito cobre repositórios públicos. Para repositórios privados, o plano Pro Agency custa US$ 49/mês e o Enterprise ZK Mode custa US$ 199/mês.
  • Opcional: para ambientes air-gapped ou auto-hospedados, um host Docker. O Timestamp GIT publica uma imagem Docker e fornece uma licença demo por tempo limitado.

Se você quiser avaliar o caminho auto-hospedado, o arquivo Compose de início rápido tem esta aparência:

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
  valkey:
    image: valkey/valkey:8
    restart: unless-stopped
docker compose pull
docker compose up -d
docker compose logs -f timestampgit

Para a maioria dos desenvolvedores, no entanto, o GitHub App gerenciado é a rota mais rápida. Este guia segue esse caminho gerenciado.

Passo a Passo: Ancorando Seu Código ao Bitcoin com o Timestamp GIT

Passo 1: Instale o GitHub App do Timestamp GIT

Comece pelo painel do Timestamp GIT e instale o GitHub App. Selecione o repositório de destino que deseja monitorar. No Modo Standard, o sistema de permissões do GitHub exige acesso de leitura ao repositório de origem porque o GitHub não pode expor apenas o hash de um commit. O Timestamp GIT lê apenas o hash do commit HEAD, não o conteúdo dos seus arquivos.

O app também precisa de acesso de escrita a um repositório de destino onde as provas serão armazenadas. Esse destino pode ser o mesmo repositório em uma branch dedicada ou um repositório-sombra separado.

Passo 2: Configure Quais Repositórios Monitorar

Após a instalação, abra a lista de repositórios no painel e ative o monitoramento para os repositórios que deseja proteger. Uma vez ativado, o GitHub App detecta novos commits via webhooks. Não há CLI para instalar, nenhum hook de pre-commit para configurar e nenhum comando OpenTimestamps para aprender.

Cada hash de commit detectado entra em uma fila em memória para processamento diário. O Timestamp GIT não armazena, copia ou lê seu código-fonte.

Passo 3: Mantenha o Modo Standard ou Mude para o Enterprise ZK Mode

O Modo Standard é suficiente para muitas equipes. O GitHub App lê o hash do commit HEAD automaticamente e grava os arquivos de prova de volta na branch de destino escolhida.

Para operação com máximo conhecimento zero, escolha o Enterprise ZK Mode. Um GitHub Action curto é executado na sua infraestrutura e envia apenas o hash do commit e o ID do commit para a API do Timestamp GIT. Nesse modo, o Timestamp GIT não precisa de acesso de leitura ao repositório de origem. Seu código-fonte nunca sai do seu ambiente.

Seu painel fornece o trecho exato do action. Conceitualmente, o workflow envia apenas metadados — nunca arquivos, caminhos, blobs ou conteúdo do repositório.

Passo 4: Deixe o Cron Worker Noturno Ancorar Seus Hashes

O Timestamp GIT processa hashes pendentes uma vez por dia. À meia-noite, um cron worker:

  • Agrupa hashes de commit pendentes por repositório.
  • Cria arquivos de manifesto para cada repositório.
  • Constrói uma árvore Merkle nativamente.
  • Cria provas OpenTimestamps usando calendários OTS públicos.
  • Ancora a raiz Merkle no blockchain do Bitcoin.

Após a ancoragem diária, a criação das provas continua em segundo plano. A confirmação do Bitcoin normalmente leva cerca de três horas, então as provas aparecem algumas horas após o início do lote noturno. Você não precisa monitorar esse processo nem acioná-lo manualmente.

Passo 5: Receba os Arquivos de Prova Imutáveis

Assim que a confirmação for concluída, o Timestamp GIT envia os artefatos de prova de volta ao seu repositório. Você verá:

  • Um arquivo de manifesto descrevendo o lote e os commits cobertos.
  • Um ou mais arquivos de recibo .ots contendo a prova criptográfica de carimbo de tempo.

Os arquivos ficam em uma branch de timestamps dedicada ou em um repositório-sombra, dependendo da sua configuração. São arquivos comuns no Git, portanto fáceis de preservar, copiar e entregar a um advogado.

Passo 6: Adicione um Selo de Verificação ao Seu README

Na página Repository Connected, copie o código de incorporação do selo gerado. Ele segue o padrão markdown estilo Shields.io:

[![Timestamp status](https://timestampgit.dev/api/statusSummary/{user}/{repo})](https://timestampgit.dev/status/{user}/{repo})

Substitua {user} e {repo} pelo seu nome de usuário e nome do repositório reais no GitHub. O selo leva ao painel de status público, onde qualquer pessoa pode inspecionar a data de ancoragem mais antiga, a regularidade diária e os dados do bloco Bitcoin.

Para repositórios privados, a URL do selo inclui um HMAC criptografado para que apenas usuários autorizados possam visualizar o status.

Passo 7: Baixe o Certificado PDF ou o CSV de Auditoria

Para registros legais, abra o painel Repository Status e baixe:

  • Um certificado PDF para uma data específica.
  • Um CSV de auditoria completo listando o livro-razão completo de commits com carimbo de tempo.

Ambos são úteis quando você precisa de um registro legível por humanos para um advogado, um investidor ou um processo judicial. O arquivo .ots subjacente permanece como a prova matematicamente independente.

Como Verificar se Seu Carimbo de Tempo Realmente Funcionou

Verifique o Painel de Status do Repositório

A página de status pública é o sinal mais rápido. Ela exibe:

  • Longevidade da prova e data de ancoragem mais antiga.
  • Regularidade da ancoragem diária.
  • Altura do bloco Bitcoin e dados da transação.
  • Um mapa de calor em calendário dos dias com carimbo de tempo.

Se você vir a data do commit atual com um bloco Bitcoin confirmado, a ancoragem foi bem-sucedida.

Execute a Verificação Local no Seu Navegador

A página de verificação em /verification/{user}/{repo}/{date} realiza uma verificação passo a passo da cadeia Merkle localmente no seu navegador. Isso significa que o cálculo de verificação não depende do servidor do Timestamp GIT para provar seu próprio resultado. Você segue o caminho criptográfico do hash do seu commit até o bloco Bitcoin.

Verifique Independentemente o Recibo .ots

Como a prova usa apenas SHA-256 e dados de bloco do Bitcoin, você não fica preso ao Timestamp GIT. Você pode baixar o recibo .ots e verificá-lo com ferramentas padrão de verificação OpenTimestamps contra o blockchain do Bitcoin. Nenhum software proprietário é necessário, então a prova permanece válida mesmo que a empresa desapareça.

Confirme o Selo do README

Por fim, confirme que o selo no seu README exibe um estado verificado e leva de volta à página de status pública. Esse selo é um sinal externo leve para colegas, auditores e mantenedores.

Solução de Problemas Comuns

Nenhum commit está sendo carimbado

Verifique primeiro as permissões do GitHub App. No Modo Standard, o Timestamp GIT deve ter acesso de leitura ao repositório de origem e acesso de escrita ao repositório ou branch de destino. Se qualquer permissão estiver ausente, os hashes de commit não podem ser lidos e as provas não podem ser gravadas.

As provas demoram muito

Um carimbo de tempo não é instantâneo. O Timestamp GIT agrupa hashes à noite e depois ancora a raiz Merkle no Bitcoin. A confirmação do Bitcoin normalmente leva cerca de três horas após a transmissão da transação. As provas são gravadas após a confirmação, então um atraso de várias horas é esperado.

O status do repositório privado não está visível

As URLs de status de repositórios privados usam um HMAC criptografado vinculado à instância do servidor Timestamp GIT. Se a página de status estiver em branco ou não autorizada, verifique se você está autenticado na mesma instância e usando o link gerado para seu repositório privado.

A configuração auto-hospedada falha

Para auto-hospedagem com Docker, verifique se o arquivo Compose é válido, se o arquivo de licença está montado corretamente e se o serviço valkey está em execução. Os logs do Timestamp GIT em docker compose logs -f timestampgit são o primeiro lugar a verificar.

Perguntas Frequentes

Um carimbo de tempo Bitcoin é legalmente reconhecido como estado da técnica?

Embora as leis variem conforme a jurisdição, carimbos de tempo criptográficos fornecem evidência forte de existência em um ponto específico no tempo. O Timestamp GIT usa o protocolo OpenTimestamps, que ancora dados no blockchain do Bitcoin, tornando-os extremamente difíceis de contestar. Consulte sempre um advogado para seu caso específico.

Preciso expor meu código-fonte ao Timestamp GIT?

Não. O Timestamp GIT processa apenas hashes de commit do Git, nunca seu código-fonte. No Modo Standard, o GitHub App lê apenas o hash do commit HEAD. No Enterprise ZK Mode, um GitHub Action na sua infraestrutura envia apenas o hash para a API, então seu código nunca sai do seu ambiente.

E se o Timestamp GIT sair do mercado? Minhas provas ainda serão válidas?

Sim. Suas provas estão ancoradas no blockchain do Bitcoin e podem ser verificadas independentemente usando ferramentas OpenTimestamps padrão. A prova depende apenas de SHA-256 e dados de bloco do Bitcoin, sem tecnologia proprietária ou aprisionamento.

Posso usar o Timestamp GIT para repositórios privados?

Sim, com o plano Pro Agency a US$ 49/mês ou o plano Enterprise ZK a US$ 199/mês. As URLs de status de repositórios privados são protegidas com um HMAC criptografado, então apenas usuários autorizados podem visualizar o status do carimbo de tempo.

Conclusão: Proteja Seu Estado da Técnica Hoje

Você agora tem um fluxo de trabalho repetível para provar que o código existia antes de um pedido de patente. Conecte o GitHub App, deixe a ancoragem noturna rodar e colete os recibos .ots, certificados PDF e logs de auditoria. O resultado é um escudo criptográfico de estado da técnica que não depende dos seus próprios logs, de um servidor de terceiros ou da existência contínua do Timestamp GIT.

Instale o GitHub App do Timestamp GIT agora e conecte seu primeiro repositório. Repositórios públicos podem começar gratuitamente; repositórios privados são cobertos pelos planos Pro Agency ou Enterprise ZK. Para ambientes air-gapped, solicite uma licença demo Docker e auto-hospede o mesmo pipeline. O próximo pedido de patente deve encontrar sua prova antes de escalar.

Para uma visão mais ampla de por que isso importa em litígios e pressão de licenciamento, veja Timestamp Git Commits to Defend Against Patent Trolls.

Posts relacionados

EU label: AI-generated content