Modelo de Amenaza Arxi
Resumen
Arxi es el plano de datos de evidencia determinista para sistemas de gobernanza. Ingiere eventos de frontera no sellados, los sella en sobres encadenados por hash, los persiste en segmentos de solo adición y exporta paquetes verificables para comprobaciones fuera de línea.
Arxi está compuesto por:
- Core contracts (
arxi-core): identity, hash/signature abstractions, Contratos principales (arxi-core): abstracciones de identidad, hash/firma, tipos de filtro/cursores, álgebra de errores. - Envelope model (
arxi-envelope): canonical encoding, envelope/segment/bundle Modelo de sobre (arxi-envelope): codificación canónica, tipos de sobre/segmento/lote, álgebra de resultados de verificación. - Decision Gate integration adapter (
arxi-decision-gate-adapter): deterministic MCP/runpack transcript mapping, runpack integrity policy, and Adaptador de integración de Decision Gate (arxi-decision-gate-adapter): mapeo determinista de transcripciones de MCP/runpack, política de integridad de runpack y aplicación de la política de redacción/límites de transcripciones. - Recorder runtime (
arxi-recorder): ingest validation, segment lifecycle, Tiempo de ejecución del grabador (arxi-recorder): validación de ingestión, ciclo de vida de segmentos, constructor de paquetes, verificador offline, implementaciones de proveedor/adaptador. - Storage backends (
arxi-store): SQLite and in-memory implementations of Almacenamiento de backends (arxi-store): implementaciones de SQLite y en memoria de almacenes de sobres, adjuntos y segmentos. - Sidecar config authority (
arxi-sidecar-config): canonical sidecar config model, fail-closed validation, and deterministic config projection artifacts Autoridad de configuración de sidecar (arxi-sidecar-config): modelo de configuración de sidecar canónico, validación de fallo cerrado y artefactos de proyección de configuración determinista (schema/compat/example/docs) consumidos por la generación de contratos y las puertas de CI. - Sidecar service surface (
arxi-sidecar): HTTP/JSON runtime exposing recorder/query/bundle/config workflows over Unix/TCP with auth/bounds/ controles de idempotencia. - CLI surface (
arxi-cli): local operator commands for record/query/bundle/ Superficie de CLI (arxi-cli): comandos de operador local para flujos de trabajo de registro/búsqueda/paquete/configuración/médico, además de la ingesta de accesorios de Decision Gate.
Arxi ahora admite tanto flujos de trabajo de proceso local como un límite de servicio HTTP sidecar integrado. Los envoltorios externos (por ejemplo, puentes MCP o puertas de enlace API) siguen siendo considerados límites hostiles.
Documentación relacionada
- Descripción general del repositorio:
README.md. - Postura de seguridad y requisitos:
Docs/Standards/codebase_engineering_standards.md. - Architecture references: Docs/architecture/arxi_system_architecture.md, Docs/architecture/arxi_evidence_model_and_integrity_architecture.md, Docs/architecture/arxi_recorder_runtime_and_bundle_architecture.md, Docs/architecture/arxi_storage_architecture.md, Docs/architecture/arxi_sidecar_architecture.md, Docs/architecture/arxi_cli_and_operator_workflows_architecture.md, Docs/architecture/arxi_system_test_and_validation_architecture.md.
- Design references:
Docs/design/recorder_core_math_evidence_observability_and_verification.md, Referencias de diseño:Docs/design/recorder_core_math_evidence_observability_and_verification.md,Docs/design/dg_proof_recorder_and_mobile_edge_interaction_model.md.
Objetivos de Seguridad
- Resultados de integridad de sobre y paquete determinísticos y reproducibles.
- Historial de solo anexado a prueba de manipulaciones con aplicación de continuidad de cadena.
- Comportamiento de fallo cerrado en datos malformados, faltantes, ambiguos o no verificables.
- Portabilidad de paquetes verificables sin conexión sin dependencias en vivo de confianza.
- Clear trust boundaries between adapters, recorder runtime, stores, and Límites de confianza claros entre adaptadores, tiempo de ejecución del grabador, almacenes y consumidores.
- Exposición limitada de entradas/recursos en los puntos de entrada del operador.
- Strong adversary posture: designs must remain defensible against compromised Postura de adversario fuerte: los diseños deben permanecer defendibles contra internos comprometidos y operadores capaces de actuar como estados-nación.
Non-Goals / Fuera de Alcance
- Garantías de confidencialidad después de que se divulgue la evidencia a sistemas posteriores.
- Defensa contra el compromiso total del host/kernel sin controles de plataforma externos.
- Key custody/HSM/remote attestation infrastructure (beyond current local key Infraestructura de custodia de claves/HSM/atención remota (más allá de los ganchos de uso de claves locales actuales).
- Built-in transport security for remote deployment wrappers (mTLS/authn/authz Seguridad de transporte incorporada para envolturas de implementación remota (mTLS/authn/authz son responsabilidades de implementación hoy en día).
- Non-repudiation signing of bundle archives at rest (external signing/WORM is Firma de no repudio de archivos de paquete en reposo (se requiere firma externa/WORM).
Activos
- Unsealed and sealed envelope data (event type, actor, environment, payload, Datos de sobres no sellados y sellados (tipo de evento, actor, entorno, carga útil, tiempo, IDs de correlación).
- Envelope integrity material (
content_hash,chain_hash, sequence position, Material de integridad del sobre (content_hash,chain_hash, posición de secuencia, enlace de segmentos). - Metadatos del segmento (
SegmentGenesis, enlace de predecesores, registros de sellos). - Bytes de adjunto y hashes de contenido.
- Contenidos del paquete (segmentos, sobres, adjuntos, anclajes de prueba).
- Manifiestos de verificación y artefactos de veredicto.
- Recorder runtime configuration (
recorder_id, schema version, auto-seal, Configuración de tiempo de ejecución del grabador (recorder_id, versión del esquema, auto-sellado, profundidad de verificación al inicio). - Archivo de almacenamiento SQLite y estado en memoria.
- Material de clave de firma e identificadores de clave derivados cuando se configuran los firmantes.
- Persisted signer-rotation state (
store_metakeys for current key, epoch, Estado de rotación de firmantes persistido (store_metaclaves para la clave actual, época y marcador del último evento de rotación). - Generated contract artifacts under Docs/generated/arxi/** and manifest authority Docs/generated/arxi/index.json, including sidecar API artifacts (Docs/generated/arxi/apis/sidecar.*) and sidecar config artifacts (Docs/generated/arxi/config/sidecar.*).
- CLI artifacts (selector JSON, payload JSON, attachment file/inline payloads, Artefactos de CLI (selector JSON, payload JSON, archivo de adjunto/payloads en línea, JSON de fixture de Decision Gate, JSON de configuración, JSON de paquete).
- Container deployment artifacts and runtime bind mounts (Dockerfile image outputs, compose/env definitions, mounted sidecar config/token/data/run rutas).
Modelo de Adversario
- Adversarios de estados-nación con visibilidad completa del código y persistencia a largo plazo.
- Adaptadores/clientes no confiables que envían sobres o archivos adjuntos maliciosos.
- Insiders comprometidos con acceso de escritura a la configuración, binarios o almacenamiento.
- Attackers tampering with on-disk SQLite data, bundle files, or exported Atacantes manipulando datos de SQLite en disco, archivos de paquete o artefactos exportados.
- Attackers attempting replay, chain forking, payload mutation, or attachment Atacantes intentando repetición, bifurcación en cadena, mutación de carga útil o sustitución de adjuntos.
- Atacantes induciendo agotamiento de recursos a través de entradas sobredimensionadas o costosas.
- Malicious integrators exposing Arxi via remote transports without sufficient Integradores maliciosos exponiendo Arxi a través de transportes remotos sin controles de acceso suficientes.
Límites de Confianza
- Límite de ingestión del adaptador:
UnsealedEnvelopey los datos de los adjuntos no son de confianza. - Límite de CLI/operador: todos los valores de la línea de comandos y los archivos JSON no son de confianza.
- Límite de configuración en tiempo de ejecución: el contenido del archivo de configuración y la ruta de almacenamiento no son de confianza.
- Sidecar HTTP boundary: request line, headers, auth token, JSON body, and Límite de HTTP de Sidecar: la línea de solicitud, los encabezados, el token de autenticación, el cuerpo JSON y los metadatos de transporte no son de confianza.
- Límite de almacenamiento: las filas/blobs persistidos no son de confianza al leer.
- Límite del paquete: el paquete JSON importado no es de confianza antes de la verificación.
- Evidence provider boundary: consumer calls to list/fetch/verify/query are Límite del proveedor de evidencia: las llamadas de los consumidores para listar/obtener/verificar/consultar son solicitudes no confiables.
- Decision Gate adapter boundary: Decision Gate transcript/runpack fixture Límite del adaptador de Decision Gate: las cargas útiles del transcripto/fixture de runpack de Decision Gate no son de confianza y deben pasar verificaciones de mapeo/integridad antes de la ingestión.
- Signing boundary: signer/verifier integrations and key management are external La firma de límites: las integraciones de firmante/verificador y la gestión de claves son dependencias de confianza externas.
- Contract generation boundary: generated projection artifacts are untrusted Límite de generación de contratos: los artefactos de proyección generados no son de confianza hasta que se verifiquen mediante hash contra el manifiesto del índice canónico.
- External wrapper boundary: any network-facing bridge is outside this repo and Límite del envoltorio externo: cualquier puente orientado a la red está fuera de este repositorio y debe hacer cumplir la autenticación/autorización y las protecciones de transporte.
- Container-orchestration boundary: compose/env/runtime mount definitions and host filesystem ownership/permission models are untrusted deployment inputs Límite de orquestación de contenedores: las definiciones de montaje compose/env/runtime y los modelos de propiedad/permisos del sistema de archivos del host son entradas de implementación no confiables y deben cumplir con las restricciones de endurecimiento de token/configuración de sidecar.
Puntos de Entrada y Superficies de Ataque
- CLI commands:
recorder segment open|seal|status|list,recorder signer rotate,recorder envelope record|record-with-attachments,query envelopes,bundle build|verify|inspect,contract generate|check,decision-gate ingest-fixture,config validate,doctor. - Sidecar commands:
arxi-sidecar --config <path>,arxi-sidecar healthcheck --url <url>, Comandos de Sidecar:arxi-sidecar --config <path>,arxi-sidecar healthcheck --url <url>,arxi-sidecar healthcheck --unix-socket <path> --path <path>. - Sidecar HTTP routes:
GET /health,GET /startup,GET /ready,POST /v1/segments,POST /v1/segments/seal,GET /v1/segments,GET /v1/segments/active,POST /v1/envelopes,POST /v1/envelopes/with-attachments,POST /v1/query/envelopes,POST /v1/bundles/build|verify|inspect,GET /v1/config. - File inputs: runtime config JSON/TOML, payload JSON/file, attachment file/inline base64, Entradas de archivo: configuración de tiempo de ejecución JSON/TOML, carga útil JSON/archivo, archivo adjunto/base64 en línea, JSON de fixture de Decision Gate, JSON de selector, JSON de paquete.
- Container deployment inputs:
docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/.env, mountedsidecar.toml, mounted token file, Entradas para el despliegue de contenedores:docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/.env, archivosidecar.tomlmontado, archivo de token montado, y directorios de datos/run montados. - Library APIs:
RecorderAdapter::emit_envelope,RecorderAdapter::emit_with_attachments,DecisionGateAdapter::ingest_fixture,RecorderEngine::open_segment|record_envelope|seal_segment, APIs de la biblioteca:RecorderAdapter::emit_envelope,RecorderAdapter::emit_with_attachments,DecisionGateAdapter::ingest_fixture,RecorderEngine::open_segment|record_envelope|seal_segment,EvidenceProvider::list_bundles|fetch_bundle|verify_bundle|query_envelopes. - Storage entry points: SQLite DB creation/open, SQL row materialization, attachment fetch, genesis decodificar.
- Bundle verification pipeline: manifest validation, attachment hash checks, content/chain checks, Canal de verificación de paquetes: validación de manifiesto, comprobaciones de hash de adjuntos, comprobaciones de contenido/cadena, comprobaciones entre segmentos, fase de firma.
Controles de Seguridad e Invariantes
- Codificación JCS canónica para entradas de hash deterministas (
serde_jcs). - Las fórmulas de hash de contenido del sobre y de hash de cadena son explícitas y estables.
- La generación de segmentos ancla el cálculo de la cadena de primer sobre.
- La igualdad de hash utiliza comparación en tiempo constante en los caminos de núcleo/verificador/almacenamiento.
- La capa de adaptador/validación impone verificaciones de cierre en caso de fallo antes de registrar.
- Envelope builder enforces required fields, UTC times, deterministic attachment El generador de sobres impone campos requeridos, tiempos UTC y un orden de referencia de adjuntos determinista.
- Envelope attachment and segment-genesis constructors reject empty, blank, and
Los constructores de adjuntos de sobre y de generación de segmentos rechazan entradas de
content_typeyrecorder_idque estén vacías, en blanco o que contengan caracteres de control. - Recorder config validation fail-closes malformed
recorder_idvalues at La validación de la configuración del grabador falla y cierra los valores malformados derecorder_idal iniciar el motor (se requiere una forma de identidad compatible conActorId). - Core identity constructors reject blank/whitespace-only and control-character
string inputs;
key_idis enforced as exact lowercase Los constructores de identidad central rechazan entradas de cadenas en blanco/sólo con espacios y caracteres de control;key_idse aplica como forma exacta en minúsculas dehex(SHA-256(public_key_bytes))(64 caracteres). - Core identity constructors enforce explicit max lengths:
trace_id/session_id/actor_id/environment_id <= 256 chars, Los constructores de identidad central aplican longitudes máximas explícitas:trace_id/session_id/actor_id/environment_id <= 256 caracteres,event_type/adapter_id <= 128 caracteres. - String-backed identity serde paths are constructor-validated; hostile JSON Las rutas de serialización/deserialización de identidad respaldadas por cadenas son validadas por el constructor; JSON hostil no puede eludir las invariantes del identificador en los límites de deserialización.
- Store append impone invariantes de segmento abierto y continuidad de cadena.
- Store segment creation enforces single-open-segment and duplicate-segment-ID La creación de segmentos de almacenamiento impone controles de fallo cerrado para segmentos abiertos únicos y duplicados de ID de segmento.
- Store query/existence paths fail closed on storage-layer query errors instead Las rutas de consulta/existencia de almacenamiento fallan de manera cerrada en caso de errores de consulta en la capa de almacenamiento en lugar de predeterminar resultados de existencia permisivos.
- La ruta de anexión de SQLite está limitada al ámbito de la transacción para actualizaciones atómicas de metadatos/datos.
- SQLite habilita WAL y claves foráneas durante la inicialización del esquema.
- Bundle builder uses deterministic ordering (
BTreeMap/BTreeSet) and tracks El generador de paquetes utiliza un orden determinista (BTreeMap/BTreeSet) y rastrea padres omitidos/anclas de prueba. - Verifier executes 7 phases with trust-root-aware signature verification; it El verificador ejecuta 7 fases con verificación de firma consciente de la raíz de confianza; marca la omisión de firma solo cuando no se ha configurado ninguna raíz de confianza.
- Verifier phase 1 fail-closes on manifest structural tampering (segment entry mismatches and attachment-manifest mismatches), not only version/algorithm desajustes.
- Verifier enforces bounded-work policy before phase execution:
max segments
4096, max envelopes per segment100000, max envelopes total200000, max attachments total200000, máximo de referencias de adjuntos por sobre4096. - Recorder startup verification re-checks active segment read-back integrity for
La verificación de inicio del grabador vuelve a comprobar la integridad de la lectura del segmento activo para las ventanas de profundidad configuradas (
startup_verification_depth). - Evidence provider enforces stable bundle IDs and true fetch-by-ID semantics El proveedor de evidencia impone identificadores de paquete estables y una semántica verdadera de búsqueda por ID para segmentos sellados.
- Evidence provider enforces bounded query/materialization policy:
max
list_bundlesandquery_envelopeslimit10000, El proveedor de evidencia aplica una política de consulta/materialización limitada: límite máximo delist_bundlesyquery_envelopesde10000, materialización máxima de sobre por segmento de200000. - CLI enforces bounded file-read limits: config 1 MiB, payload 4 MiB, selector 1 MiB, bundle 32 MiB, trust root 1 MiB, attachment file/inline payload 16 MiB, Decision Gate fixture 8 MiB, signer CLI impone límites de lectura de archivos acotados: config 1 MiB, payload 4 MiB, selector 1 MiB, bundle 32 MiB, trust root 1 MiB, attachment file/inline payload 16 MiB, Decision Gate fixture 8 MiB, signer key 64 KiB, signer passphrase material 1 KiB.
- CLI query enforces bounded page policy:
default page size
1000, max page size10000, and deterministic La consulta CLI impone una política de página limitada: tamaño de página predeterminado1000, tamaño máximo de página10000, y un contrato de continuación basado en cursor determinista en modo JSON. - CLI runtime resolution validates
recorder_idusingActorIdconstructor semantics before command execution, includingconfig validateparity with comportamiento de validación de configuración del grabador. - CLI signer loading is profile-aware (
securedefault) and fail-closed on encrypted-key requirements, malformed key material, insecure opt-down misuse, y desajuste de clave-estado en modo seguro. - Explicit key-rotation workflow emits deterministic lifecycle events
(
system.adapter.key_rotated/ break-glass variant) and persists idempotence marcadores en los metadatos de SQLite. - Contract generation emits deterministic projection artifacts with La generación de contratos emite artefactos de proyección deterministas con autoridad de manifest-hash y modo de verificación de deriva estricta.
- Contract generation/check fail closed on unsafe output-root filesystem entries, including symlinked roots or symlink traversal beneath the output árbol.
- Contract schema generation applies explicit runtime constraint overlays for
identifier/text/hash/signature fields (including full
BundleSelectorvariant algebra) and fails closed if expected schema pointer paths are faltante. - Contract generation now emits sidecar API artifacts
(
sidecar.openapi/errors/enums/examples/compat) and generated manifest La generación de contratos ahora emite artefactos de API de sidecar (sidecar.openapi/errors/enums/examples/compat) y la autoridad del manifiesto generado incluye esos caminos. - Sidecar compatibility gates fail closed in CI by validating additive-only
/v1policy, enum-wire stability, error-code registry stability, and Las puertas de compatibilidad de Sidecar fallan cerradas en CI al validar únicamente la política aditiva/v1, la estabilidad de enum-wire, la estabilidad del registro de códigos de error y la aplicación del contrato de idempotencia de puntos finales mutantes a partir de los artefactos generados. - Sidecar config validation fail-closes invalid protocol/security settings (schema/API version, transport host/port, non-loopback token requirement, signer key parseability, hard header-size cap, and numeric limit bounds) antes de enlazar oyentes.
- Sidecar middleware stack enforces server/client correlation ID handling
(
x-server-correlation-id,x-correlation-id, legacyx-request-id), protocol-level content-type/accept checks, aggregate header byte bounds, declared content-length bounds, bounded queue admission and in-flight concurrencia y comportamiento de fallo cerrado por tiempo de espera por solicitud. - Sidecar token auth compares bearer tokens in constant time and bypasses auth
only for explicit probe routes (
/health,/startup,/ready) oropenmodo. - Sidecar probe/readiness controls are explicit and fail closed:
/healthremains lightweight process liveness,/startupreports startup completion state, and/readycan enforce storage-only or storage+enterprise dependency readiness (probes.readiness_mode) with optional capacity-exhaustion comportamiento de fallo cerrado (probes.ready_fail_on_admission_saturation). - Sidecar bounds middleware explicitly bypasses probe routes so orchestrator liveness/startup/readiness signals are observable even under admission El middleware de límites de Sidecar elude explícitamente las rutas de sondeo, de modo que las señales de disponibilidad/inicio/listo del orquestador son observables incluso bajo saturación de admisión y agotamiento de solicitudes activas.
- Sidecar auth failures emit RFC 6750
WWW-Authenticatechallenge metadata and Las fallas de autenticación del sidecar emiten metadatos de desafíoWWW-Authenticatesegún el RFC 6750 y los errores del sidecar utilizan los Detalles del Problema del RFC 9457 (application/problem+json). - Sidecar container packaging defaults to distroless nonroot runtime and compose profiles that require explicit UID/GID mapping and mounted hardened token/config/rutas de datos.
- Sidecar mutating operations enforce persistent idempotency replay/conflict
semantics with
store_meta-backed TTL/cap retention and deterministic alcance del hash de solicitud. - SQLite operation dispatch uses bounded queueing (
sync_channel) with La operación de despacho de SQLite utiliza colas limitadas (sync_channel) con rechazo determinista de fallo cerrado cuando la capacidad de la cola (4096) está saturada. - System tests validate tamper detection and fail-closed oversized-input Las pruebas del sistema validan la detección de manipulación y el comportamiento de cierre en caso de fallo ante entradas de tamaño excesivo.
- System tests validate external adapter-ingest coupling using OpenClaw mock event streams, including signed/unsigned verification and sequence-gap strict políticas de fallo cerrado vs políticas de grabación de anomalías.
- OpenClaw integration mapping applies deterministic sensitive-field redaction and bounded payload handling (string and JSON size limits) before immutable grabación de evidencia.
- System tests validate external control-plane coupling using Decision Gate MCP runpack flow fixtures, including signed/unsigned verification and runpack integrity strict fail-closed vs anomaly-recording policies, including recomputación de la auto-integridad del manifiesto a partir de los hashes de archivo declarados.
- System tests validate sidecar subprocess lifecycle over real HTTP and fail-closed idempotency replay/conflict persistence across restart límites.
- Decision Gate integration mapping applies deterministic transcript-field redaction and bounded payload handling (string and JSON size limits) before grabación de evidencia inmutable.
- Production
arxi-decision-gate-adapterenforces mapping-contract version checks, deterministic event IDs/timestamps, transcript redaction, bounded La producciónarxi-decision-gate-adapterimpone verificaciones de versión del contrato de mapeo, IDs de eventos/timestamps deterministas, redacción de transcripciones, metadatos de carga útil limitados y manejo de integridad de runpack estricto vs. anómalo.
Conocidas brechas de seguridad relevantes en la actualidad:
- Sidecar does not include built-in TLS/mTLS; non-loopback deployments should Sidecar no incluye TLS/mTLS integrado; las implementaciones que no son de bucle invertido deben terminar TLS y hacer cumplir la identidad del cliente en un proxy/gateway frontal endurecido.
- Sidecar provides bounded local admission controls but not distributed/global rate limiting; deployment platforms still need caller quotas and abuse controles.
Amenazas y Mitigaciones
Autenticación, Autorización y Control de Acceso
- Threat: unauthorized local or remote invocation of recording/query/bundle Amenaza: invocación no autorizada local o remota de rutas de grabación/consulta/paquete.
- Mitigation: sidecar supports explicit token mode with constant-time bearer
token checks, RFC 6750
WWW-Authenticatechallenge responses, and fail-closed Mitigación: sidecar admite el modo de token explícito con verificaciones de token portador en tiempo constante, respuestas de desafíoWWW-Authenticatesegún el RFC 6750, y manejo de configuraciones incorrectas de autenticación que fallan de manera cerrada; la CLI sigue siendo una invocación de proceso local. - Residual risk:
opensidecar mode is deployment-sensitive and should only be used in trusted local IPC environments; non-loopback network deployments Riesgo residual: el modoopensidecar es sensible al despliegue y solo debe ser utilizado en entornos IPC locales de confianza; los despliegues de red que no son de bucle invertido aún requieren controles de identidad y transporte a nivel de puerta de enlace.
Validación y análisis de entrada
- Threat: malformed IDs, non-UTC times, invalid event types, malformed JSON, Amenaza: identificadores malformados, tiempos no UTC, tipos de eventos no válidos, JSON malformado, o cargas útiles ambiguas.
- Mitigation: typed ID constructors, UTC enforcement, strict event-type
validation, strict key-id hex shape validation, fail-closed envelope
validation, strict attachment/segment text-field validation (
content_type,recorder_id), strict recorder configrecorder_idvalidation, typed JSON análisis. - Mitigation: bounded file reads prevent oversized JSON ingestion at CLI Mitigación: las lecturas de archivos limitadas evitan la ingestión de JSON de gran tamaño en el límite de la CLI, incluidos los inputs de trust-root y signer-key.
Integridad y Autenticidad de la Evidencia
- Threat: payload mutation, chain forking, attachment substitution, or replayed Amenaza: mutación de carga útil, bifurcación de cadena, sustitución de adjuntos o sobres reproducidos.
- Mitigation: canonical-hash content addressing + chain continuity checks at Mitigación: contenido de hash canónico que aborda + verificaciones de continuidad de cadena en el momento de añadir y verificar.
- Mitigation: verifier phase 1 enforces structural manifest integrity against Mitigación: la fase 1 del verificador impone la integridad estructural del manifiesto contra la materialización del segmento del paquete y del material adjunto.
- Mitigation: strict Ed25519 verification and trust-root policy enforcement are Mitigación: la verificación estricta de Ed25519 y la aplicación de la política de raíz de confianza están integradas en la fase 6 del verificador.
- Mitigation: secure-profile signer loading requires encrypted PKCS#8 key Mitigación: la carga del firmante de perfil seguro requiere material de clave PKCS#8 encriptado por defecto y una opción explícita para una ergonomía de desarrollo menos segura.
- Mitigation: explicit key-rotation events and persisted idempotence markers Mitigación: eventos de rotación de claves explícitos y marcadores de idempotencia persistidos preservan la continuidad de la línea de firma y la reconciliación de recuperación ante fallos.
- Residual risk: authenticity remains configuration-dependent when operators Riesgo residual: la autenticidad sigue siendo dependiente de la configuración cuando los operadores eligen verificar sin una raíz de confianza (se emite una advertencia explícita).
Divulgación y Exposición de Datos
- Amenaza: divulgación accidental excesiva a través de exportaciones de paquetes y resultados de consultas.
- Mitigación: comandos de exportación/búsqueda explícitos impulsados por el operador y filtros tipados.
- Residual risk: no built-in field-level redaction policy in Arxi core; wrapper Riesgo residual: no hay una política de redacción a nivel de campo incorporada en el núcleo de Arxi; las capas envolventes deben hacer cumplir la política de divulgación.
Almacenamiento e Integridad del Paquete
- Amenaza: manipulación de DB/archivos, corrupción o escrituras parciales.
- Mitigation: SQLite WAL, transactional append, chain validation, corruption Mitigación: SQLite WAL, anexado transaccional, validación de cadenas, detección de corrupción al analizar filas almacenadas inválidas.
- Mitigation: bundle verification recomputes attachment/content/chain links and Mitigación: la verificación de paquetes recalcula los enlaces de adjunto/contenido/cadena y señala fallos de integridad.
- Residual risk: bundle archives are not signed by default; use external Riesgo residual: los archivos de paquete no están firmados por defecto; utilice firma externa y controles de almacenamiento inmutable para la no repudio.
Disponibilidad y Agotamiento de Recursos
- Threat: oversized config/payload/selector/bundle inputs and expensive Amenaza: entradas de configuración/payload/selector/bundle sobredimensionadas y cargas de trabajo de verificación costosas.
- Mitigación: límites duros de CLI en lecturas de archivos; rechazo de fallo cerrado antes del análisis.
- Mitigación: errores tipográficos y rechazo temprano en selectores/filtros inválidos.
- Mitigation: recorder verifier/provider APIs enforce bounded-work limits and Mitigación: las APIs de verificación/proveedor de grabadoras imponen límites de trabajo acotados y fallan de manera controlada en cargas de trabajo en memoria que son demasiado grandes.
- Mitigation: sidecar middleware enforces bounded header/body/content-length Mitigación: el middleware sidecar impone límites de encabezado/cuerpo/tamaño de contenido acotados, cola acotada + concurrencia activa, y un comportamiento de tiempo de espera que falla en cerrado.
- Mitigation: SQLite operation dispatch is bounded; enqueue saturation fails Mitigación: la operación de despacho de SQLite está limitada; la saturación de la cola falla en modo cerrado en lugar de permitir un crecimiento de memoria ilimitado.
- Residual risk: no distributed/global rate limiter exists for sidecar or wrapper-exposed deployments; operators still need caller quotas and abuse controles.
Cadena de Suministro y Entorno de Ejecución
- Threat: compromised binaries/config/runtime host or malicious dependency Amenaza: comportamiento de binarios/configuraciones/anfitriones en tiempo de ejecución comprometidos o dependencias maliciosas.
- Mitigation: strict lint/no-panic posture, typed errors, deterministic Mitigación: postura estricta de lint/no-pánico, errores tipados, contratos deterministas y límites de arquitectura explícitos.
- Residual risk: host compromise and dependency compromise require external Riesgo residual: el compromiso del host y el compromiso de la dependencia requieren controles externos (SBOM/audit/signing/hardening).
Multi-Inquilino y Aislamiento
- Amenaza: exposición de datos entre inquilinos en implementaciones compartidas.
- Mitigación: Los IDs de Arxi son etiquetas; no hay reclamaciones implícitas de aislamiento de inquilinos.
- Residual risk: shared deployments must enforce tenant-aware storage, Riesgo residual: los despliegues compartidos deben hacer cumplir el almacenamiento, la encriptación y el control de acceso conscientes del inquilino en las capas de envoltura/despliegue.
Auditoría y Observabilidad
- Amenaza: incapacidad para probar lo que ocurrió después de la sospecha de manipulación.
- Mitigation: append-only segment model, deterministic hashes, bundle manifests, Mitigación: modelo de segmento de solo anexado, hashes deterministas, manifiestos de paquetes, verificador offline y pruebas de sistema centradas en artefactos.
- Residual risk: comprehensive security audit logging for remote auth decisions Riesgo residual: el registro de auditoría de seguridad integral para decisiones de autenticación remota es dependiente del envoltorio.
Referencias de Implementación (Controles y Protecciones)
Integridad del Núcleo y del Sobre
- Canonical encoding and hash formulas:
Codificación canónica y fórmulas de hash:
crates/arxi-envelope/src/encoding.rs. - Hash types, algorithm registry, constant-time equality:
Tipos de hash, registro de algoritmos, igualdad en tiempo constante:
crates/arxi-core/src/hash.rs. - Identity and input-shape validation contracts:
Contratos de validación de identidad y forma de entrada:
crates/arxi-core/src/identity.rs,crates/arxi-core/src/filter.rs. - Signature contracts and key identity model:
crates/arxi-core/src/signature.rs,crates/arxi-envelope/src/signer.rs, Contratos de firma y modelo de identidad clave:crates/arxi-core/src/signature.rs,crates/arxi-envelope/src/signer.rs,crates/arxi-envelope/src/signature.rs. - Envelope/segment invariants:
crates/arxi-envelope/src/envelope.rs,crates/arxi-envelope/src/segment.rs, Invariantes de sobre/segmento:crates/arxi-envelope/src/envelope.rs,crates/arxi-envelope/src/segment.rs,crates/arxi-envelope/src/attachment.rs.
Tiempo de Ejecución y Verificación del Grabador
- Recorder lifecycle, chain progression, seal behavior:
Ciclo de vida del grabador, progresión de la cadena, comportamiento del sello:
crates/arxi-recorder/src/engine.rs. - Auto-seal policy validation:
Validación de la política de auto-sello:
crates/arxi-recorder/src/config.rs. - Adapter boundary validation:
crates/arxi-recorder/src/validation.rs, Validación de límites del adaptador:crates/arxi-recorder/src/validation.rs,crates/arxi-recorder/src/local_adapter.rs. - Deterministic bundle assembly and proof anchors:
Ensamblaje de paquetes determinista y anclajes de prueba:
crates/arxi-recorder/src/bundle_builder.rs. - 7-phase verification pipeline and warning model:
Pipeline de verificación de 7 fases y modelo de advertencia:
crates/arxi-recorder/src/verifier.rs. - Evidence provider boundary behavior:
Comportamiento del límite del proveedor de evidencia:
crates/arxi-recorder/src/evidence_provider.rs.
Adaptadores de Integración
- Decision Gate adapter ingestion, deterministic mapping, and fail-closed
integrity-policy enforcement:
Ingesta del adaptador Decision Gate, mapeo determinista y aplicación de políticas de integridad de fallo cerrado:
crates/arxi-decision-gate-adapter/src/adapter.rs. - Decision Gate mapping and redaction/bounds policy defaults:
Mapeo de Decision Gate y políticas predeterminadas de redacción/límites:
crates/arxi-decision-gate-adapter/src/policy.rs. - Decision Gate fixture input contract:
Contrato de entrada del accesorio de la puerta de decisión:
crates/arxi-decision-gate-adapter/src/model.rs. - Decision Gate adapter typed error algebra:
Error algebra de tipo adaptador de Decision Gate:
crates/arxi-decision-gate-adapter/src/error.rs.
Almacenamiento
- Storage contracts and invariants:
Contratos de almacenamiento e invariantes:
crates/arxi-store/src/traits.rs,crates/arxi-store/src/error.rs. - In-memory backend behavior:
Comportamiento del backend en memoria:
crates/arxi-store/src/memory.rs. - SQLite initialization, WAL, FK, connection thread model:
crates/arxi-store/src/sqlite/schema.rs,crates/arxi-store/src/sqlite/connection.rs, Inicialización de SQLite, WAL, FK, modelo de hilo de conexión:crates/arxi-store/src/sqlite/schema.rs,crates/arxi-store/src/sqlite/connection.rs,crates/arxi-store/src/sqlite/mod.rs. - SQLite envelope/segment/attachment operations:
crates/arxi-store/src/sqlite/envelope_ops.rs,crates/arxi-store/src/sqlite/segment_ops.rs, Operaciones de sobre, segmento y adjunto de SQLite:crates/arxi-store/src/sqlite/envelope_ops.rs,crates/arxi-store/src/sqlite/segment_ops.rs,crates/arxi-store/src/sqlite/attachment_ops.rs.
Superficie de CLI y Validación
- Command routing and runtime resolution:
Enrutamiento de comandos y resolución en tiempo de ejecución:
crates/arxi-cli/src/main.rs. - Input hard limits and bounded file reads:
Límites duros de entrada y lecturas de archivos limitadas:
crates/arxi-cli/src/main.rs. - Localization and deterministic output behavior:
Localización y comportamiento de salida determinista:
crates/arxi-cli/src/i18n.rs. - Contract artifact generation and drift checks:
crates/arxi-contract/src/lib.rs,crates/arxi-contract/src/sidecar_api.rs,crates/arxi-contract/src/sidecar_api/openapi.rs,crates/arxi-contract/src/sidecar_api/artifacts.rs,crates/arxi-contract/src/sidecar_api/specs/mod.rs,scripts/ci/generate_all.sh. - Sidecar contract compatibility and optional release SLO gates:
scripts/ci/sidecar_contract_gates.py, Compatibilidad del contrato Sidecar y puertas SLO de liberación opcionales:scripts/ci/sidecar_contract_gates.py,scripts/ci/sidecar_perf_gate.py.
Límite del Servicio Sidecar
- Sidecar bootstrap/config and transport lifecycle:
crates/arxi-sidecar-config/src/config.rs,crates/arxi-sidecar-config/src/validation.rs,crates/arxi-sidecar-config/src/validation/enterprise.rs,crates/arxi-sidecar/src/server.rs,crates/arxi-sidecar/src/shutdown.rs. - Sidecar auth and request-bound controls:
crates/arxi-sidecar/src/middleware/auth.rs,crates/arxi-sidecar/src/middleware/bounds.rs, Autenticación de Sidecar y controles vinculados a la solicitud:crates/arxi-sidecar/src/middleware/auth.rs,crates/arxi-sidecar/src/middleware/bounds.rs,crates/arxi-sidecar/src/middleware/request_id.rs. - Sidecar idempotency and error contract:
crates/arxi-sidecar/src/idempotency.rs,crates/arxi-sidecar/src/error.rs, Idempotencia del sidecar y contrato de error:crates/arxi-sidecar/src/idempotency.rs,crates/arxi-sidecar/src/error.rs,crates/arxi-sidecar/src/contract.rs. - Sidecar contract conformance integration tests:
crates/arxi-sidecar/tests/error_registry_contract.rs, Pruebas de integración de conformidad del contrato de Sidecar:crates/arxi-sidecar/tests/error_registry_contract.rs,crates/arxi-sidecar/tests/idempotency_restart.rs. - Sidecar container packaging and operator profile:
docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml, Empaque del contenedor Sidecar y perfil del operador:docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/config/sidecar.toml.
Validación del Sistema
- Security/system tests:
system-tests/tests/suites/security.rs,system-tests/tests/suites/bundle.rs,system-tests/tests/suites/persistence.rs,system-tests/tests/suites/recorder.rs, Pruebas de seguridad/sistema:system-tests/tests/suites/security.rs,system-tests/tests/suites/bundle.rs,system-tests/tests/suites/persistence.rs,system-tests/tests/suites/recorder.rs,system-tests/tests/suites/sidecar.rs. - Docker packaging and compose-lifecycle validation:
system-tests/tests/suites/sidecar_docker.rs, Validación del empaquetado de Docker y del ciclo de vida de compose:system-tests/tests/suites/sidecar_docker.rs,system-tests/tests/helpers/docker.rs. - Registry-driven validation contract:
Contrato de validación impulsado por el registro:
system-tests/AGENTS.md,system-tests/test_registry.toml.
Requisitos Operacionales
- Treat all deployments as hostile environments; assume compromised insiders and Tratar todos los despliegues como entornos hostiles; asumir que hay internos comprometidos y adversarios capaces de actuar como estados-nación.
- Restrict filesystem access to store/config/bundle paths using least-privilege Restringir el acceso al sistema de archivos a las rutas store/config/bundle utilizando ACLs del sistema operativo con el menor privilegio.
- Use signed releases, dependency auditing, and host hardening for production Utilice versiones firmadas, auditoría de dependencias y endurecimiento del host para los nodos de producción.
- If exposing Arxi sidecar or wrapper APIs over non-loopback networks, enforce Si se exponen APIs de Arxi sidecar o wrapper a través de redes no de bucle invertido, se debe aplicar una fuerte autenticación/autorización, terminación mTLS/TLS y listas de comandos permitidos.
- For containerized sidecar deployments, run non-root, keep token mounts
owner-only (
0600on Unix), and map host UID/GID explicitly so hardened Para implementaciones de sidecar en contenedores, ejecute sin privilegios de root, mantenga los montajes de tokens con propietario exclusivo (0600en Unix) y mapee explícitamente el UID/GID del host para que las verificaciones de tokens endurecidas y las rutas de datos escribibles permanezcan deterministas. - Mantener los límites de entrada de CLI habilitados; ajustar los límites a nivel de envoltura donde sea posible.
- Do not treat unsigned bundles as non-repudiable artifacts; apply external No trate los paquetes no firmados como artefactos no repudiables; aplique controles de firma externa y retención inmutable.
- Segment tenants into isolated stores/processes unless explicit shared-tenancy Segmentar inquilinos en tiendas/procesos aislados a menos que se implementen controles de tenencia compartida explícitos.
- Monitor verifier warnings (especially signature-skip and partial-segment Monitorear las advertencias del verificador (especialmente las advertencias de omisión de firma y de segmento parcial) como resultados significativos para la política.
Postura de Fallo
- Fallar cerrado ante entradas inválidas o ambiguas.
- Rechazar anexos que violen el estado del segmento o la continuidad de la cadena.
- Rechazar definiciones de configuración/filtro/rango de tiempo mal formadas.
- Mark tampered bundles as
Invalidor fail verification with typed errors on Marcar los paquetes manipulados comoInválidoo fallar la verificación con errores tipográficos en desajustes de manifiesto/infraestructura. - Nunca asuma confianza en el estado persistido sin re-verificaciones de integridad.
Modelo de Amenaza Delta (2026-02-08, Línea Base OSS + Docker)
- Initial Arxi repository threat model baseline added under Se añadió el modelo de amenaza base del repositorio Arxi inicial bajo Docs/security/threat_model.md.
- Mapped trust boundaries, controls, and residual risks to concrete current Se mapearon los límites de confianza, controles y riesgos residuales a archivos de implementación actuales concretos.
- Closed signer/runtime wiring gap with profile-aware secure defaults, bounded Cerrado el hueco de conexión del firmante/tiempo de ejecución con configuraciones seguras conscientes del perfil, límites de entrada del firmante acotados y manejo de material clave en modo de fallo cerrado.
- Added explicit signer-rotation workflow with deterministic lifecycle events Se añadió un flujo de trabajo de rotación de firmantes explícito con eventos de ciclo de vida deterministas y metadatos de idempotencia persistidos.
- Added deterministic contract-generation boundary (
arxi-contract) with Se añadió un límite de generación de contratos determinista (arxi-contract) con autoridad de hash de manifiesto y controles de verificación de desviación. - Hardened
arxi-contractoutput-root handling to reject symlinked roots and symlink traversal under generated artifact trees in both generate and check modos. - Added first-party sidecar container deployment boundary: Dockerfile/Compose/config artifacts are now explicit attack surfaces and límites de confianza de implementación.
- Added system-test Docker coverage for sidecar packaging hardening and Se añadió cobertura de pruebas del sistema en Docker para el endurecimiento del empaquetado de sidecar y la validación del ciclo de vida de Docker Compose en las operaciones de apertura/grabación/consulta.
- Closed tracked P1 system-test security-relevant coverage gaps for selector dedup, proof-anchor semantics, cross-segment mismatch fail-closed behavior, Se cerraron las brechas de cobertura relevantes para la seguridad del sistema de prueba P1 rastreado, relacionadas con la deduplicación de selectores, la semántica de prueba de anclaje, el comportamiento de fallo cerrado por desajuste entre segmentos, el comportamiento de fallo cerrado por cierre de adjuntos y la paridad de SQLite/en memoria.
- Hardened
arxi-coreidentifier validation to reject whitespace-only and control-character string identifiers and require strict 64-char lowercase hexkey_idvalores. - Hardened deserialize boundaries so constrained identifier and envelope text Se han endurecido los límites de deserialización para que los campos de texto de identificador restringido y sobre no puedan ser instanciados a partir de cargas útiles de serde sin verificaciones de constructor.
- Hardened
arxi-recorderconfig and verifier boundaries: recorder startup rejects malformedrecorder_idvalues during config validation, phase-1 verification fail-closes on manifest structural mismatches, and verifier now impone límites explícitos de trabajo acotado. - Hardened
arxi-recorderevidence-provider library boundaries with explicit Se han endurecido los límites de la bibliotecaarxi-recorderevidence-provider con límites explícitos de fallo cerrado para cargas de trabajo de lista/búsqueda/materialización. - Hardened
arxi-storeSQLite connection dispatch with bounded queue capacity Conexión SQLitearxi-storeendurecida con capacidad de cola limitada y semánticas de rechazo de saturación determinísticas. - Added system-test coverage for malformed identifiers, bounded CLI file input surfaces, secure signer-file policy, signer-rotation recovery/corruption behavior, contract CLI symlink safety, manifest structural tamper cases, SQLite corruption materialization failures, and single-open-segment CLI aplicación.
- Se cerraron todos los hallazgos registrados en Docs/security/audits/OSS_launch_0.md.
- Implemented
arxi-sidecaras a built-in HTTP/JSON boundary with fail-closed config validation, request auth/bounds controls, bounded queue/concurrency controls, structured error contract, and persistent idempotency semantics; updated trust boundaries, attack surfaces, mitigations, and residual risks to reflejar esta superficie de tiempo de ejecución. - Implemented generated sidecar API artifact coverage
(
sidecar.openapi/errors/enums/examples/compat) with fail-closed CI compatibility gates enforcing additive-only/v1, enum-wire stability, Se implementó la cobertura del artefacto de API sidecar generado (sidecar.openapi/errors/enums/examples/compat) con puertas de compatibilidad de CI que fallan en cerrado, aplicando restricciones de solo adición para/v1, estabilidad de enum-wire, estabilidad del registro de códigos de error y contratos de idempotencia para puntos finales mutantes. - Consolidated sidecar runtime config semantics into a dedicated
arxi-sidecar-configcrate and wired sidecar runtime startup to consume its validación de configuración de tipo fail-closed en el límite. - Expanded generated contract scope to include sidecar config artifacts
(
config/sidecar.schema.json,config/sidecar.compat.json,config/sidecar.example.toml,config/sidecar.md) emitted by Ampliado el alcance del contrato generado para incluir artefactos de configuración de sidecar (config/sidecar.schema.json,config/sidecar.compat.json,config/sidecar.example.toml,config/sidecar.md) emitidos porarxi-contractdesde los ayudantes de proyección dearxi-sidecar-config. - Extended sidecar compatibility gates to fail closed on sidecar config Las puertas de compatibilidad extendida del sidecar deben fallar en cerrado ante la deriva de configuración del sidecar y la inconsistencia entre artefactos (schema/compat/example/docs).
- Added sidecar integration/system validation for generated error-registry Se añadió la integración de sidecar/validación del sistema para la compatibilidad del registro de errores generado y la persistencia de idempotencia en los límites de reinicio/repetición/conflicto.
Modelo de Amenaza Delta (2026-02-08)
- Added enterprise sidecar boundary mode with explicit fail-closed config
validation (
enterprise.mode, control-plane URL/token requirements, and requisito de seguridad del modo de token). - Added enterprise identity extraction boundary (
x-tenant-id,x-principal-id,x-authn-method, optional namespace) and fail-closed Se añadió un límite de extracción de identidad empresarial (x-tenant-id,x-principal-id,x-authn-method, espacio de nombres opcional) y un comportamiento de admisión de fallo cerrado en contextos de identidad malformados o faltantes. - Added pre-handler enterprise policy gate middleware that denies protected Se ha añadido un middleware de puerta de política empresarial de pre-manejador que deniega operaciones protegidas cuando las verificaciones de autorización/cupo del plano de control no están disponibles o son denegadas.
- Added managed-cloud writer-lease assertion gating for mutating operations
Se añadió la afirmación de control de arrendamiento de escritor en la nube gestionada para operaciones mutantes (
x-arxi-writer-lease=truerequerido cuando está configurado). - Added explicit sidecar enterprise boundary hook emission to control-plane
(
/v1/enterprise/sidecar/hooks) atadmissionandresultphases with fail-closed behavior for successful protected operations when hook export falla. - Result: sidecar ingress now has an additional external dependency on enterprise control-plane availability/integrity; outage or invalid responses are handled as fail-closed admission denials and successful-hook export los fallos se tratan como errores de solicitud que fallan en cerrado.
Modelo de Amenaza Delta (2026-02-08, Endurecimiento de Sondeo y Preparación)
- Added explicit startup probe route (
GET /startup) to sidecar entry-point Se añadió una ruta de sondeo de inicio explícita (GET /startup) al punto de entrada del sidecar, política de inventario y bypass de autenticación de sondeo. - Added fail-closed readiness dependency modes (
storage_only,storage_and_enterprise) with config validation and control-plane readiness Se han añadido modos de dependencia de preparación de fallo cerrado (storage_only,storage_and_enterprise) con validación de configuración y comprobaciones de dependencia de preparación del plano de control en modos habilitados para empresas. - Added optional readiness fail-closed behavior when request admission/execution
Se añadió un comportamiento opcional de cierre por fallo de disponibilidad cuando se agota la capacidad de admisión/ejecución de solicitudes (
request_capacity_exhaustedrazón de disponibilidad). - Added explicit probe-priority middleware behavior:
/health,/startup, and/readybypass normal auth/policy/bounds request Se añadió un comportamiento explícito de middleware de prioridad de sondeo:/health,/startupy/readyomiten las puertas de solicitud de autenticación/política/límites normales para preservar la observabilidad de la orquestación durante la sobrecarga. - Added Docker system-test probe coverage validating containerized
/startupand/readybehavior before and after segment-open lifecycle transiciones.
Modelo de Amenaza Delta (2026-02-08, continuación)
- Renamed enterprise boundary adapter implementation from
enterprise.rstocontrol_plane_bridge.rsto make the trust-boundary intent explicit Se ha renombrado la implementación del adaptador de límite empresarial deenterprise.rsacontrol_plane_bridge.rspara hacer explícito la intención del límite de confianza (solo puente de plano de control; sin autoridad de evidencia-matemática). - Centralized sidecar enterprise ingress/header/hook vocabulary in
crates/arxi-sidecar/src/contract.rsand wired middleware/bridge paths to Vocabulario de ingreso/cabecera/ganchos de sidecar centralizado encrates/arxi-sidecar/src/contract.rsy rutas de middleware/puente conectadas a esas constantes para reducir el riesgo de elusión de políticas inducido por la deriva. - Added conformance tests to ensure sidecar operation labels, identity headers, and hook boundary/outcome labels remain synchronized with control-plane vocabulario de contratos.
- Added cross-repo end-to-end enterprise lane coverage proving control-plane deny decisions fail closed at sidecar mutation boundaries while successful Se añadió cobertura de extremo a extremo en la línea empresarial entre repositorios, demostrando que las decisiones de denegación del plano de control fallan en cerrarse en los límites de mutación del sidecar, mientras que los caminos admitidos exitosamente preservan resultados de verificación de evidencia determinística.
Modelo de Amenaza Delta (2026-02-08, Expansión de CLI OSS)
- Added CLI operator command
recorder envelope record-with-attachmentswith Se añadió el comando de operador CLIrecorder envelope record-with-attachmentscon validación de límite de adjuntos que falla en cerrado para entradas de archivo e inline base64. - Added CLI operator command
decision-gate ingest-fixturethat routes fixture inputs through productionarxi-decision-gate-adapterintegrity and mapping políticas. - Added CLI runtime config parity checks so malformed
recorder_idvalues fail closed duringconfig validateusing the same identity-shape constraints as tiempo de ejecución del grabador. - Expanded CLI auto-seal boundary to include duration and combined policies, Se amplió el límite de auto-sellado de la CLI para incluir la duración y políticas combinadas, con rechazo de valor cero en modo de fallo cerrado para ambos umbrales de conteo y duración.
- Added CLI query page bounds (default
1000, max10000) and deterministic JSON pagination contract (envelopes+next_cursor) to prevent unbounded materialización en el límite del operador.