Un formato abierto para atestiguar riesgo humano fisiológico — verificable por cualquiera, sin confiar en nosotros. La verificación es matemática: si un dato cambió, la firma deja de coincidir. El verificador de referencia es open-source (MIT).
El motor de medición y el dato quedan cerrados — ahí está el valor. El formato y el verificador son abiertos, para que cualquier auditor, SIEM, aseguradora o regulador valide una attestation de BIGNOS de forma independiente, offline, para siempre — aunque BIGNOS desaparezca. El formato abierto crea ubicuidad; el motor cerrado captura el valor. Mismo modelo que Sigstore, JWT y los certificados SSL.
Una attestation es un objeto JSON (el artifact) más un sobre de firma. El mensaje firmado ata el id de clave y el timestamp al contenido:
message = keyId + "." + signedAt + "." + canonicalJSON(artifact)
signature = Ed25519_sign(privateKey, message) // base64
// envelope que acompaña al artifact:
{
"alg": "Ed25519",
"keyId": "b98c7b610c55b99c",
"signedAt": "2026-08-01T00:00:00.000Z",
"signature": "UgskkwNx45wSFrNOkdulA3DhMJeMuWvWU0A6geqx…"
}canonicalJSON ordena las keys de objetos recursivamente (el orden de arrays se preserva), para que la firma sobreviva a la re-serialización. Cambia cualquier dato y se rompe.
Isomórfico, cero dependencias, WebCrypto nativo (Ed25519). Corre en Node 18+ y navegadores modernos. Cópialo, audítalo, vendorízalo.
import { verifyOnline } from "./hrap-verify.mjs";
// { artifact, envelope } vienen con el documento (PDF, JSON, API).
const ok = await verifyOnline({ artifact, envelope });
// → true solo si la firma es válida y el contenido intacto
// → false si un solo dato cambió, o la clave no se reconoce
// Offline / con clave propia (sin tocar a BIGNOS):
import { verifyAttestation } from "./hrap-verify.mjs";
await verifyAttestation({ artifact, envelope, publicKeyPem });La clave pública actual y las previas se publican abiertamente. Resuelve la clave por el keyId del envelope — las attestations viejas siguen verificando tras una rotación.
GET https://bignos.app/api/v1/verify
{
"alg": "Ed25519",
"keys": [
{ "keyId": "b98c7b610c55b99c", "alg": "Ed25519", "current": true,
"publicKey": "-----BEGIN PUBLIC KEY-----\n…\n-----END PUBLIC KEY-----" }
]
}HRAP tiene licencia MIT y se apoya en Ed25519 estándar. Constrúyelo encima, verifica contra él, incrústalo en tu pipeline de auditoría. El motor fisiológico es nuestro; la prueba es de todos.