Timestamp GIT Secure your prior art without exposing code

← Todos los artículos

2026-08-25

Cómo poner marcas de tiempo criptográficas a los commits de Git (sin herramientas de CLI)

Cómo poner marcas de tiempo criptográficas a los commits de Git (sin herramientas de CLI)
timestamp git blockchain proof

Cómo sellar criptográficamente commits de Git (sin herramientas de CLI)

La mayoría de los desarrolladores tratan git log como un registro fiable de cuándo ocurrió el trabajo. Pero el historial estándar de Git no es criptográficamente confiable: las fechas de los commits pueden fijarse a cualquier valor, el historial puede reescribirse con force-push y un repositorio alojado en GitHub puede ser modificado por personas con acceso de administrador. Si un troll de patentes, un antiguo contratista o un competidor te pide que demuestres cuándo existió una implementación específica, tu git log local suele descartarse por considerarse interesado.

Esta guía te muestra cómo sellar criptográficamente commits de Git sin instalar OpenTimestamps, sin ejecutar un nodo de Bitcoin y sin aprender herramientas de línea de comandos en crudo. Usarás Timestamp GIT, una GitHub App gestionada que lee únicamente los hashes de tus commits, los agrupa cada noche, los ancla en Bitcoin y escribe de vuelta recibos de prueba .ots. Al final, cada commit en un repositorio monitorizado será verificable contra la cadena de bloques de Bitcoin.

Si eres nuevo en el concepto subyacente, consulta Prueba de existencia en software: una guía para principiantes. Este artículo se centra en la tarea de configuración.

Requisitos previos

No necesitas ninguna experiencia criptográfica, pero sí necesitas:

  • Una cuenta de GitHub con al menos un repositorio que quieras proteger.
  • Acceso a la GitHub App Timestamp GIT, disponible desde el sitio web de Timestamp GIT.
  • Familiaridad básica con flujos de trabajo normales de Git, como hacer commits y hacer push.
  • Un repositorio público si quieres empezar gratis. Los repositorios privados están disponibles en planes de pago.

No se requiere instalación local, cliente OpenTimestamps ni monedero de Bitcoin para la configuración estándar.

Paso a paso: configurar el sellado automático

Paso 1: Instala la GitHub App Timestamp GIT

Empieza desde el sitio web de Timestamp GIT o desde GitHub Marketplace. Haz clic en Install GitHub App, elige si la app debe instalarse en tu cuenta personal o en una organización y completa el flujo de autorización de GitHub.

La app se convierte en un servicio gestionado: tras la instalación, monitoriza los repositorios seleccionados y ancla los commits automáticamente. No necesitas añadir hooks post-commit ni cambiar tu flujo de trabajo de desarrollo.

Paso 2: Concede los permisos necesarios

Timestamp GIT funciona en dos modos:

  • Modo estándar: La GitHub App lee únicamente el último hash de commit de tu repositorio de origen. Como el sistema de permisos de GitHub no tiene un acceso de “solo hash de commit”, la app requiere acceso de solo lectura al repositorio de origen. También requiere acceso de lectura y escritura al repositorio de destino donde se escribirán los archivos de prueba.
  • Modo Enterprise ZK: Una breve GitHub Action se ejecuta en tu infraestructura y envía únicamente el hash del commit a la API de Timestamp GIT. En este modo, no se requiere acceso de lectura al repositorio de origen. Solo necesitas acceso de lectura y escritura al repositorio de destino donde se almacenan las pruebas.

Para la mayoría de los usuarios, el modo estándar es el punto de partida adecuado. El punto importante es que Timestamp GIT nunca lee tu código fuente en ninguno de los dos modos.

Paso 3: Selecciona los repositorios a monitorizar

Durante la instalación, elige si la app debe monitorizar todos los repositorios actuales y futuros o solo repositorios seleccionados. Si estás probando con un repositorio público, selecciona ese repositorio ahora.

Los archivos de prueba pueden escribirse en el mismo repositorio en una rama dedicada, o en un repositorio sombra separado. Usar el mismo repositorio es habitual en proyectos pequeños. Un repositorio sombra separado es útil si quieres mantener los archivos de prueba completamente fuera del repositorio principal.

Paso 4: Confirma la configuración en el panel

Después de la instalación, abre https://timestampgit.dev/repos. Deberías ver tus repositorios monitorizados listados allí.

Comprueba que:

  • El repositorio de origen aparece en la lista.
  • El destino de las pruebas está configurado como se esperaba.
  • El repositorio está marcado como activo.

Si el repositorio no aparece, revisa la configuración de instalación de la GitHub App y confirma que los repositorios correctos están seleccionados.

Paso 5: Haz un nuevo commit

Timestamp GIT solo procesa commits realizados después de que el repositorio esté conectado. Crea un commit normal y haz push:

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

No necesitas ejecutar nada más. La GitHub App detecta el nuevo commit automáticamente mediante webhooks.

Paso 6: Espera al proceso por lotes nocturno

Timestamp GIT no ancla cada commit inmediatamente. Los commits se recopilan en una cola, y un trabajador nocturno los agrupa poco después de la medianoche UTC.

El trabajador:

  1. Crea un archivo de manifiesto para cada repositorio.
  2. Construye un árbol de Merkle a partir de los hashes de commits pendientes.
  3. Crea pruebas OpenTimestamps.
  4. Ancla la raíz de Merkle en la cadena de bloques de Bitcoin.

La confirmación de Bitcoin normalmente tarda varias horas. El proceso completo de escritura de pruebas puede tardar unas horas en total, así que no esperes que una insignia o página de estado se actualice a los pocos minutos de hacer push de tu commit.

Paso 7: Comprueba la entrega de las pruebas

Una vez que el lote está confirmado, Timestamp GIT hace push de los archivos de prueba de vuelta al destino elegido. Verás una rama dedicada timestamps o un repositorio sombra que contiene:

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

El archivo .ots es tu recibo criptográfico. Puedes conservarlo, publicarlo o entregárselo a un auditor. La prueba es independiente de la infraestructura de Timestamp GIT.

Cómo confirmar que funcionó (verificación)

La forma más rápida de confirmar que el sellado está activo es abrir la página de estado del repositorio:

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

Sustituye {user} y {repo} por tu nombre de usuario u organización de GitHub y el nombre del repositorio. La página de estado muestra la fecha de anclaje más antigua, la regularidad diaria, los datos de bloque y transacción de Bitcoin, y un mapa de calor de calendario.

Para una comprobación legible por máquina, puedes llamar a la API pública de estado:

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

La respuesta contiene la información del último bloque de Bitcoin anclado. Para repositorios privados, la URL incluye un HMAC cifrado para que solo los usuarios autorizados puedan acceder al estado.

Para mostrar el estado de la prueba directamente en tu README, abre el panel del repositorio y copia el markdown de la insignia incrustable. Se verá similar a esto:

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

El panel proporciona el fragmento completo, incluida la URL correcta de la insignia Shields.io para tu repositorio.

Para una comprobación de prueba más profunda, visita:

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

Esa página recorre la verificación de la cadena de Merkle localmente en tu navegador. También puedes descargar un certificado PDF para una fecha específica o exportar el libro de auditoría completo como CSV desde el panel de estado.

Si quieres verificar el archivo .ots de forma totalmente independiente, puedes descargarlo y comprobarlo contra la cadena de bloques de Bitcoin usando herramientas OpenTimestamps de código abierto. Timestamp GIT no te exige hacerlo manualmente, pero la opción existe porque la prueba es independiente del proveedor. Para una guía dedicada, consulta Cómo verificar los sellos de tiempo de tus commits de Git.

Solución de problemas comunes

Problema: No aparece ninguna prueba después de un commit.

Solución: Confirma que el repositorio sigue seleccionado en la configuración de instalación de la GitHub App. Confirma también que el commit se realizó después de la instalación. Los commits realizados antes de conectar la app no se procesan retroactivamente.

Problema: La rama de pruebas no se creó.

Solución: Comprueba que la app tiene acceso de escritura al repositorio de destino. Si estás escribiendo pruebas en un repositorio diferente, ese destino debe tener acceso de lectura y escritura. Usar un repositorio sombra suele resolver esto de forma limpia.

Problema: La insignia de verificación muestra un estado desconocido u obsoleto.

Solución: Espera a que el lote nocturno se complete y a que se produzca la confirmación de Bitcoin. Esto normalmente tarda varias horas después de la medianoche UTC. Actualiza la insignia después de que los archivos de prueba se hayan escrito de vuelta.

Problema: El estado del repositorio privado no es visible para otros.

Solución: Las URL de estado de repositorios privados incluyen un HMAC cifrado. Usa el enlace de insignia autenticado del panel de Timestamp GIT en lugar del endpoint de estado público.

Problema: Necesitas un despliegue aislado o autoalojado.

Solución: Timestamp GIT está disponible como licencia Docker autoalojada. Una configuración mínima de Docker Compose se ve así:

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

Después del arranque, la aplicación está disponible en http://localhost:8080, y un asistente de configuración te guía para conectar tu GitHub App. Hay una licencia de demostración por tiempo limitado disponible en la página de licencias de Docker.

Preguntas frecuentes

¿Cómo sella criptográficamente Timestamp GIT mis commits de Git?

Timestamp GIT extrae el hash SHA-1 o SHA-256 de cada commit, agrupa esos hashes diariamente, construye un árbol de Merkle y ancla la raíz de Merkle en la cadena de bloques de Bitcoin usando el protocolo OpenTimestamps. Esto crea una prueba inmutable de que el commit existía en ese momento.

¿Necesito ejecutar herramientas de CLI o entender OpenTimestamps?

No. Timestamp GIT es una GitHub App gestionada. Una vez instalada, monitoriza automáticamente tus repositorios y ancla los commits cada noche. No necesitas ejecutar ningún comando ni gestionar el protocolo subyacente.

¿Se expone mi código fuente durante el sellado?

No. Timestamp GIT solo lee el hash del commit, que es una huella criptográfica, no el código real. En el modo Enterprise ZK, incluso el hash del commit se envía desde tu infraestructura mediante una GitHub Action, por lo que tu código fuente nunca sale de tu entorno.

¿Puedo verificar el sello de tiempo de forma independiente sin depender de Timestamp GIT?

Sí. La prueba se almacena como un archivo de recibo .ots estándar. Cualquiera puede descargarlo y verificarlo contra la cadena de bloques de Bitcoin usando herramientas OpenTimestamps de código abierto. La prueba sigue siendo válida incluso si Timestamp GIT desaparece.

Conclusión

Ahora tienes sellado criptográfico automático para tus commits de Git. Después de una instalación única de la GitHub App, cada commit en un repositorio monitorizado se agrupa cada noche, se ancla en Bitcoin y se convierte en un recibo de prueba .ots verificable. El proceso no requiere herramientas de CLI locales, ni comandos manuales de OpenTimestamps, ni experiencia en Bitcoin.

Los repositorios públicos pueden empezar gratis. Los repositorios privados están disponibles en planes de pago. Instala la GitHub App hoy y haz que tu historial de commits sea legalmente defendible.

Publicaciones relacionadas

EU label: AI-generated content