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
.otscontendo 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:
[](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
- Timestamp Git Commits to Defend Against Patent Trolls
- Automate Code Timestamping with a GitHub App
- The Best GitHub App for Timestamping Your Commits