OpenAuditModel

Un único modelo de auditoría para todas las aplicaciones.

Un modelo de eventos de auditoría común, verificable e independiente del backend para aplicaciones de negocio. Define qué es un evento de auditoría: no dónde se almacena, cómo se transporta ni qué regulación satisface.

Esta página es una traducción informativa; la versión vinculante es la página en inglés. La especificación, los esquemas y los perfiles se publican en inglés.
Versión 0.1 · Experimental · No apto para producción · Sin garantía de cumplimiento. Los nombres de campo, las restricciones y los vocabularios pueden cambiar. La conformidad con esta especificación no es cumplimiento de ninguna ley, regulación, norma o contrato.

Por qué

Casi todas las aplicaciones registran operaciones auditables, y casi todas inventan su propia forma para esos registros. El resultado: registros que no pueden validarse hasta que aparece un defecto años después en datos retenidos; pistas de auditoría de dos sistemas que no pueden leerse juntas sin una traducción a medida; las mismas preguntas — qué es un actor, cómo se registra actuar en nombre de otro, dónde va una aprobación — reabiertas en cada aplicación nueva; y datos de auditoría que acumulan en silencio secretos y datos personales porque nadie decidió qué debía contener. OpenAuditModel responde esas preguntas una vez, en una forma que un validador puede comprobar.

Un evento mínimo

Siete campos obligatorios. Todo lo demás es contexto opcional.

{
  "specVersion": "0.1",
  "id": "018f1b5c-6d2a-7c3e-9a1b-4f5e6d7c8b9a",
  "time": "2026-03-14T09:24:31.412Z",
  "event": {
    "name": "data.record.update",
    "category": "data-modification",
    "outcome": "success"
  },
  "actor": {
    "type": "user",
    "id": "user-123"
  },
  "resource": {
    "type": "record",
    "id": "resource-123"
  },
  "application": {
    "name": "application-service",
    "environment": "production"
  }
}

Comprobar un evento

Sin instalación, sin checkout. Requiere Node.js 22 o posterior.

npx @openauditmodel/cli validate audit-event.json
npx @openauditmodel/cli lint-privacy audit-event.json
npx @openauditmodel/cli check-profile audit-event.json --profile financial-transaction-management

El código de salida 0 significa que se produjo un veredicto y fue favorable. 1: se produjo y falló. 2: la herramienta no pudo ejecutarse. 3: no se produjo veredicto — ninguna regla del perfil gobierna ese evento, o la entrada no era un evento de auditoría y nunca se analizó. 3 nunca es una aprobación.

Esquemas canónicos

Estas URL son los identificadores registrados en el $id de cada esquema. Son estables y los documentos versionados son inmutables. Nada necesita descargarlos: la validación es sin conexión y un identificador es un nombre, no una instrucción de descarga.

/schemas/audit-event/0.1/schema.json /schemas/profile-definition/0.1/schema.json

Perfiles de dominio

10 perfiles aplicables, 127 reglas — 113 aplicadas como errores, 14 consultivas. Un perfil solo añade requisitos al modelo base; ninguno lo relaja. Un evento no gobernado por regla alguna se informa como no aplicable, nunca como conforme.

Las direcciones siguientes sirven cada documento de perfil. Son direcciones, no identidades: un perfil lleva name y version, no un $id; estas URL no deben fijarse como identificadores canónicos.

PerfilReglasDocumento
api-and-integration-management13profile.json
backup-and-recovery13profile.json
customer-and-account-management13profile.json
deployment-and-change-management13profile.json
document-management11profile.json
financial-transaction-management12profile.json
identity-and-access-management11profile.json
incident-management15profile.json
message-broker-management12profile.json
secrets-and-key-management14profile.json

Adopción

Nada aquí exige cambiar dónde almacena sus datos. El camino de menor fricción es un mapper de exportación, que es además la forma que piden los clientes corporativos:

existing audit database → mapper → OpenAuditModel NDJSON → customer, archive or SIEM

Después: instrumente un servicio nuevo, valide fixtures en CI y diseñe eventos con un agente de IA a través del servidor MCP, que expone los mismos motores deterministas sobre Streamable HTTP:

claude mcp add --transport http openauditmodel https://mcp.openauditmodel.org/mcp

Es un servicio remoto: el contenido de los eventos de auditoría que se le envía sale de su máquina. Para datos regulados, construya y ejecute el servidor desde el repositorio fuente — es sin estado y no persiste nada en ambos casos.

Qué no es

No es un backend de almacenamiento de logs, ni una base de datos, ni un SIEM, ni una plataforma GRC, ni un motor de políticas, ni un sistema de autorización. No sustituye a OpenTelemetry, CloudEvents, ECS, OCSF, CADF ni OSCAL. Se compone con ellos.