Docs
Empieza a preservar evidencia digital verificable.
OTSkit crea pruebas OpenTimestamps portables para archivos, carpetas y paquetes de preservación: hashea localmente, sella contra calendarios, actualiza a confirmación Bitcoin y verifica después sin necesidad de confiar en OTSkit.
Por dónde empezar
Elige tu camino
Cada paquete tiene una responsabilidad distinta. No son intercambiables — elige según lo que necesitas hacer.
Quiero que un agente AI preserve archivos
Skills + MCP
Best for: "preserve this folder"
Ver documentación
Quiero integrar timestamps en mi app
@otskit/client
Best for: Node.js / TypeScript apps
Ver documentación
Quiero control a nivel de protocolo
@otskit/core
Best for: .ots, merkle, attestations, serialization
Ver documentación
Quiero dar herramientas OTS a un agente
@otskit/mcp
Best for: Claude, Claude Code, Codex
Ver documentación
Ciclo de vida
Cómo funciona una prueba
- Archivo o carpeta
- El punto de partida. El archivo nunca sale de tu máquina.
- SHA-256 local
- Se calcula el hash localmente. Solo este hash viaja a los calendarios.
- Prueba pending
- Los calendarios registran el hash y devuelven una prueba pendiente de Bitcoin.
- Upgrade
- Bitcoin incluye el hash en un bloque. Se fusiona la attestation en la prueba.
- Prueba confirmed
- La prueba es completa: tiene una attestation Bitcoin verificable offline.
- Verify
- Cualquier cliente OTS puede verificar la prueba. Sin confiar en OTSkit.
Quick starts
Empieza en minutos
Con un agente AI
Luego instala la skill preserve en Claude Code:
Y dile al agente:
preserve this folder
stamp this document
archive this: contract.pdfCon el SDK TypeScript
import { OpenTimestampsClient, hashFile } from '@otskit/client'
const client = new OpenTimestampsClient()
const hash = await hashFile('document.pdf')
const proof = await client.stamp(hash)
// ~60 min later:
const upgraded = await client.upgrade(proof)
const result = await client.verify(upgraded, hash)
console.log(result.valid, result.blockHeight)Con la CLI de MCP
Archivos
Qué significa cada archivo
.otsPrueba OpenTimestamps
El árbol de prueba binario. Portable, verificable offline con cualquier cliente OTS compatible.
.sha256Hash del objeto sellado
El SHA-256 exacto que está anclado en el .ots. En Skills, es el hash del ZIP final — no checksums internos.
.stamp-id.txtReferencia local OTSkit
El ID que usa @otskit/mcp para lookup, upgrade y verify. No es la prueba — es el puntero local.
.zipPaquete de preservación
Solo cuando usas Skills. El ZIP contiene la estructura BagIt completa: data/, manifests, PREMIS y OAIS.
Trust model
Modelo de confianza
Paquetes
Mapa de paquetes
@otskit/corePrimitivas del protocolo
DetachedTimestampFile, Timestamp, Ops, Attestations, Merkle, Serialización
@otskit/clientSDK para apps TypeScript
stamp(), upgrade(), verify(), circuit breaker, retry, AbortController
@otskit/mcpHerramientas MCP para agentes
hash_file, stamp_file, upgrade_timestamp, verify_timestamp, list_pending
preserve@otskit-skillsWorkflows de preservación
BagIt + OAIS + PREMIS + OpenTimestamps. "preserve this" → 4 archivos. Plugin para Claude Code.
FAQ
Preguntas frecuentes
¿Qué significa pending?
Que la prueba se ha enviado a los calendarios OpenTimestamps pero Bitcoin aún no ha incluido el hash en un bloque. Es el estado normal después de stamp(). Pending no es un error.
¿OTSkit sube mis archivos?
No. El hash SHA-256 se calcula localmente. Solo el hash (32 bytes) viaja a los calendarios públicos. El archivo nunca sale de tu máquina.
¿Puedo verificar sin OTSkit?
Sí. El archivo .ots es un formato abierto. Cualquier cliente OpenTimestamps compatible puede verificar la prueba directamente contra Bitcoin.
¿Cuál es la diferencia entre .ots y .stamp-id.txt?
.ots es la prueba criptográfica portable — el artefacto permanente. .stamp-id.txt es la referencia local que usa @otskit/mcp para lookup, upgrade y verify. El .stamp-id.txt no es la prueba.
¿Esto es notarización legal?
No. OTSkit prueba que un hash existía antes de un bloque Bitcoin. No prueba autoría, propiedad ni tiene validez legal equivalente a una notaría.
Siguiente paso