Instala una GitHub App para el sellado de tiempo automático del código
Instalar una GitHub App para el sellado de tiempo automático de código
Quieres instalar una GitHub App para el sellado de tiempo de código de modo que cada commit que hagas quede anclado automáticamente a la blockchain de Bitcoin—sin mantener scripts, ejecutar trabajos cron ni tocar OpenTimestamps tú mismo. Eso es exactamente lo que hace Timestamp GIT: instalas la GitHub App una vez, seleccionas qué repositorios proteger y cada commit se hashea, se agrupa en lotes y se ancla a Bitcoin cada noche. Sin pasos manuales después de la configuración.
Esta guía es transaccional. Estás listo para implementar, no solo para evaluar. Al final, tendrás la GitHub App de Timestamp GIT instalada, tu primer repositorio conectado y una insignia de verificación o un registro de auditoría en su lugar.
Podrías ejecutar OpenTimestamps manualmente, crear transacciones de Bitcoin a mano y vigilar trabajos cron—el camino difícil. O puedes instalar una GitHub App gestionada y dejar que Timestamp GIT oculte todo el protocolo detrás de un flujo de trabajo sin configuración. Este artículo recorre el primer camino.
Requisitos previos para instalar la GitHub App de Timestamp GIT
Antes de comenzar, asegúrate de tener:
- Derechos de administrador en GitHub sobre el repositorio u organización que quieres proteger. Necesitas permiso para instalar una GitHub App y otorgar acceso al repositorio.
- Una cuenta de Timestamp GIT en timestampgit.dev. Regístrate con tu identidad de GitHub.
- Comprensión de los dos modos de despliegue:
- Modo estándar (GitHub App): La app lee automáticamente el hash del commit HEAD de los repositorios monitoreados. Requiere acceso de solo lectura al repositorio de origen porque GitHub no ofrece permisos de solo hash de commit. También requiere acceso de lectura y escritura al repositorio de destino donde se almacenarán las pruebas.
- Modo Enterprise ZK (GitHub Action): Una GitHub Action de 12 líneas se ejecuta en tu propia infraestructura y envía solo los hashes de commit a la API de Timestamp GIT. La app no tiene ningún acceso a tu repositorio de origen. Solo necesitas acceso de lectura y escritura al repositorio de destino.
- Un plan de pago si vas a sellar repositorios privados. El plan gratuito Open Source cubre repositorios públicos. Los repositorios privados requieren Pro Agency ($49/mes) o Enterprise ZK ($199/mes). Las páginas de estado privadas y las insignias están protegidas con un token HMAC cifrado.
- Sin herramientas locales ni utilidades de CLI. Todo se gestiona a través de la aplicación web de Timestamp GIT y la GitHub App. No instalas nada en tus máquinas de desarrollo.
Paso a paso: Instalar y configurar la GitHub App
Paso 1: Inicia sesión en Timestamp GIT y abre la página de instalación de la GitHub App
Inicia sesión en timestampgit.dev. Una vez dentro, navega a la página de configuración de repositorios—normalmente Tus repositorios en el panel. Haz clic en la opción para instalar la GitHub App.
Paso 2: Autoriza Timestamp GIT en tu cuenta u organización de GitHub
Haz clic en Instalar GitHub App. GitHub te pedirá que elijas entre tu cuenta personal y cualquier organización que administres. Selecciona la cuenta propietaria de los repositorios que quieres proteger.
Paso 3: Selecciona los repositorios y establece los permisos de origen
Elige qué repositorios debe monitorear Timestamp GIT.
- En modo estándar, otorga acceso de solo lectura a los repositorios de origen. La GitHub App necesita este permiso porque GitHub no proporciona un permiso de solo hash de commit. Timestamp GIT solo extrae el hash del commit; nunca lee ni almacena tu código fuente.
- En modo Enterprise ZK, no otorgues ningún acceso al repositorio de origen. La GitHub Action se ejecuta en tu pipeline de CI y envía solo hashes a la API, por lo que la app nunca toca tu código.
Paso 4: Elige dónde se almacenarán las pruebas de sellado de tiempo
Selecciona el repositorio de destino. Puede ser el mismo repositorio que tu código fuente o un repositorio sombra separado. Timestamp GIT enviará archivos de manifiesto y recibos .ots a una rama dedicada de timestamps en el repositorio de destino.
Para el modo estándar, el repositorio de destino necesita acceso de lectura y escritura. Para el modo Enterprise ZK, solo necesitas acceso de lectura y escritura al repositorio de destino.
Paso 5: Para el modo Enterprise ZK, añade el workflow de GitHub Action
Si elegiste el modo Enterprise ZK, el panel de Timestamp GIT genera un fragmento YAML de 12 líneas para ti. Cópialo en un archivo de workflow en tu repositorio de origen, por ejemplo .github/workflows/timestampgit.yml.
Un workflow generado se parece a esto (usa el fragmento exacto de tu panel):
# Enterprise ZK Mode workflow generated by Timestamp GIT.
# This runs on your infrastructure and sends only commit hashes.
name: timestamp-git-zk
on:
push:
branches: [main]
jobs:
send-hash:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Send commit hash to Timestamp GIT
env:
TIMESTAMPGIT_HMAC: ${{ secrets.TIMESTAMPGIT_HMAC }}
run: |
# The exact command is generated by Timestamp GIT.
# It pushes the HEAD commit hash to the API endpoint.
La action envía solo el hash del commit. Tu código fuente nunca sale de tu entorno.
Paso 6: Confirma la configuración en el panel de Timestamp GIT
Vuelve a Timestamp GIT y confirma la instalación. En el modo estándar, la GitHub App comenzará a detectar commits a través de los webhooks de GitHub automáticamente. En el modo Enterprise ZK, la Action enviará los hashes de commit a la API en cada push.
En este punto deberías ver tu repositorio listado en Tus repositorios con un estado que muestra que está conectado.
Paso 7: Añade una insignia de verificación a tu README
Desde la página del repositorio conectado (https://timestampgit.dev/connected/{user}/{repo}), copia el fragmento de markdown para una insignia de Shields.io. Se ve así, con tus nombres reales de usuario y repositorio:
[](https://timestampgit.dev/status/your-user/your-repo)
Pégalo en tu README.md. Los visitantes públicos pueden hacer clic en la insignia para ver el estado de verificación público de tu repositorio.
Cómo confirmar que el sellado de tiempo funciona
Después de la instalación, espera al lote nocturno y a la confirmación de Bitcoin. Aquí te mostramos cómo verificar que tus primeros commits se anclaron correctamente.
-
Consulta la página de estado del repositorio. Abre
https://timestampgit.dev/status/{user}/{repo}. Muestra la fecha de anclaje más antigua, la regularidad diaria, los datos de bloques y transacciones de Bitcoin, y un mapa de calor de calendario con los commits sellados. -
Busca la rama de timestamps. En tu repositorio de destino, encuentra la rama dedicada de timestamps (o el repositorio sombra). Contiene archivos de manifiesto y archivos de recibo
.otspara cada lote diario. -
Ejecuta la verificación local en el navegador. Visita
https://timestampgit.dev/verification/{user}/{repo}/{date}. La página realiza una verificación paso a paso de la cadena de Merkle localmente en tu navegador—conocimiento cero, nadie ve lo que verificas. No necesitas instalar nada. -
Descarga registros de cumplimiento. Usa los endpoints de CSV de auditoría y certificado PDF. Por ejemplo:
https://timestampgit.dev/api/audit/{user}/{repo}descarga el libro de auditoría completo como CSV.https://timestampgit.dev/api/report/{user}/{repo}/{date}descarga un certificado PDF para un día específico.
-
Recuerda los tiempos. Los commits se agrupan en lotes cada noche mediante un trabajador cron. La raíz de Merkle se ancla luego en una transacción de Bitcoin. La confirmación de Bitcoin normalmente tarda alrededor de 3 horas, por lo que las pruebas suelen estar disponibles al día siguiente. Si no ves una prueba inmediatamente después de un commit, es lo esperado.
Solución de problemas comunes de instalación
Problema: No se está sellando ningún commit.
Comprueba que la GitHub App tenga los permisos correctos y que el repositorio esté seleccionado en el panel de Timestamp GIT. En el modo estándar, la app necesita acceso de solo lectura al repositorio de origen y acceso de lectura y escritura al repositorio de destino. En el modo Enterprise ZK, la GitHub Action debe estar instalada en el repositorio de origen y configurada para enviar a la API.
Problema: Las pruebas no aparecen después de un día.
Confirma que el trabajador cron nocturno se ejecutó y que la transacción de Bitcoin fue confirmada. La confirmación de Bitcoin normalmente tarda unas 3 horas después de procesar el lote. Consulta la página de estado del repositorio para ver la información del último bloque anclado. Si han pasado más de 24 horas, verifica que el repositorio de destino tenga una rama de timestamps y que la GitHub App aún tenga acceso de escritura.
Problema: El estado del repositorio privado no es visible.
Las páginas de estado y las insignias de repositorios privados están protegidas con un token HMAC cifrado. Asegúrate de usar la URL autenticada que contiene el valor HMAC. Confirma también que estás en un plan de pago (Pro Agency o Enterprise ZK). El plan gratuito Open Source no cubre repositorios privados.
Problema: El modo Enterprise ZK no envía hashes.
Verifica que el archivo de workflow de GitHub Action esté presente en .github/workflows/ y que el secreto TIMESTAMPGIT_HMAC esté configurado correctamente en la configuración de tu repositorio. Revisa los registros de ejecución del workflow en GitHub Actions para confirmar que el endpoint de la API es accesible y que la action se completó correctamente.
Problema: La verificación falla localmente en la página de verificación pública o con un archivo .ots descargado.
Asegúrate de estar usando el archivo .ots correcto para la fecha específica. Confirma también que tus herramientas locales de OpenTimestamps estén actualizadas si estás verificando fuera del navegador. La propia página de verificación realiza todo el cálculo localmente y debería funcionar con cualquier navegador moderno.
Preguntas frecuentes
¿La GitHub App de Timestamp GIT tiene acceso a mi código fuente?
En el modo estándar, la GitHub App requiere acceso de solo lectura al repositorio de origen porque GitHub no proporciona permisos de solo hash de commit. Sin embargo, Timestamp GIT solo extrae el hash del commit y nunca lee ni almacena tu código fuente. En el modo Enterprise ZK, la GitHub Action se ejecuta en tu infraestructura y envía solo el hash del commit a la API, por lo que la app no tiene ningún acceso a tu repositorio de origen.
¿Cuánto tarda un commit en sellarse en la blockchain de Bitcoin?
Los commits se agrupan en lotes cada noche. Después de procesar el lote, la raíz de Merkle se ancla en una transacción de Bitcoin. La confirmación de Bitcoin normalmente tarda alrededor de 3 horas, por lo que la prueba suele estar disponible al día siguiente. Puedes monitorear el estado en el panel de tu repositorio.
¿Puedo usar Timestamp GIT para repositorios privados?
Sí, los repositorios privados son compatibles con los planes Pro Agency ($49/mes) y Enterprise ZK ($199/mes). El plan gratuito Open Source está limitado a repositorios públicos. Las páginas de estado y las insignias de repositorios privados están protegidas con un token HMAC cifrado.
¿Qué pasa si Timestamp GIT cierra? ¿Puedo seguir verificando mis sellos de tiempo?
Tus pruebas se almacenan como archivos .ots en tu repositorio y están ancladas en la blockchain de Bitcoin. Puedes verificarlas de forma independiente usando herramientas estándar de OpenTimestamps y datos de bloques de Bitcoin. No se requiere tecnología propietaria, por lo que tu evidencia sigue siendo válida incluso sin Timestamp GIT.
Conclusión: Empieza a proteger tu código hoy
Instalar la GitHub App de Timestamp GIT lleva unos minutos. Después de eso, cada commit en un repositorio monitoreado se identifica, se agrupa en lotes y se ancla en la blockchain de Bitcoin automáticamente. Obtienes evidencia lista para tribunales, pruebas independientes del proveedor y cero esfuerzo continuo.
Si necesitas máxima seguridad en un entorno aislado o autoalojado, Timestamp GIT también está disponible como imagen Docker con una licencia de demostración limitada en el tiempo. Pero para la mayoría de los equipos, la GitHub App gestionada es el camino más rápido hacia el estado de la técnica criptográfico.
Comienza en Timestamp GIT, regístrate, instala la GitHub App y conecta tu primer repositorio hoy.