Esto no es un formato nuestro: es SHA-256, JSON canónico y OpenTimestamps sobre Bitcoin. Tres cosas públicas que cualquiera puede reproducir. Publicamos cómo las combinamos para que nadie tenga que fiarse de nosotros, y para que quien quiera pueda hacer lo mismo.
El documento se serializa como JSON canónico —claves ordenadas, sin espacios, UTF-8— y se calcula su SHA-256. Cambia una coma y la huella es otra.
canonical = json.dumps(payload, sort_keys=True, ensure_ascii=False, separators=(",", ":"))
fingerprint = sha256(canonical.encode("utf-8")).hexdigest()Si subes un PDF, también se registra el SHA-256 de los bytes tal cual llegaron. Así el fichero que tienes en el disco se puede comprobar directamente, sin reconstruir nada.
file_fingerprint = sha256(raw_bytes).hexdigest()
La huella se presenta a los calendarios públicos de OpenTimestamps, que la agregan en un árbol de Merkle y lo inscriben en un bloque de Bitcoin. La prueba resultante (.ots) contiene el camino desde tu huella hasta la raíz de ese bloque. No depende de ningún servidor, incluido el nuestro.
Descarga la prueba, instala el cliente oficial y ejecuta:
pip install opentimestamps-client curl -o proof.ots https://www.aim-codex.ai/v/<FINGERPRINT>/proof.ots ots verify proof.ots
Cualquiera puede pedir el estado de una huella sin cuenta. La respuesta es JSON con estos campos:
GET https://www.aim-codex.ai/api/v1/verify/<FINGERPRINT>
| authentic | true si la huella consta sellada y no ha sido revocada |
| status | sealed · revoked · draft |
| sealed_at | fecha y hora del sellado, UTC |
| valid_until | caducidad declarada por el emisor, o null |
| is_latest | si es la última versión del documento |
| revoked / revoke_reason | anulación y su motivo, si la hay |
| credential | datos del diploma, si lo es |
Un diploma emitido con CODEX se puede leer como Verifiable Credential, con la prueba apuntando al anclaje y no a una firma nuestra.
GET https://www.aim-codex.ai/v/<FINGERPRINT>/w3c.json