Model de Amenaça Arxi
Visió general
Arxi és el pla de dades d’evidència determinista per a sistemes de governança. Ingesta esdeveniments de límit no segellats, els segella en sobres encadenats per hash, els persisteix en segments només d’append i exporta paquets verificables per a comprovacions fora de línia.
Arxi està compost de:
- Core contracts (
arxi-core): identity, hash/signature abstractions, Contractes bàsics (arxi-core): abstraccions d’identitat, hash/signatura, tipus de filtre/cursor, àlgebra d’errors. - Envelope model (
arxi-envelope): canonical encoding, envelope/segment/bundle Model d’envolup (arxi-envelope): codificació canònica, tipus d’envolupament/segment/paquet, àlgebra del resultat de verificació. - Decision Gate integration adapter (
arxi-decision-gate-adapter): deterministic MCP/runpack transcript mapping, runpack integrity policy, and Adaptador d’integració del Decision Gate (arxi-decision-gate-adapter): mapeig determinista de transcripcions MCP/runpack, política d’integritat del runpack i aplicació de la política de redacció/límits de transcripcions. - Recorder runtime (
arxi-recorder): ingest validation, segment lifecycle, Temps d’execució del gravador (arxi-recorder): validació d’ingestió, cicle de vida del segment, constructor de paquets, verificador fora de línia, implementacions de proveïdor/adaptador. - Storage backends (
arxi-store): SQLite and in-memory implementations of Emmagatzematge de backend (arxi-store): implementacions SQLite i en memòria d’emmagatzematge d’envelopes, adjunts i segments. - Sidecar config authority (
arxi-sidecar-config): canonical sidecar config model, fail-closed validation, and deterministic config projection artifacts Autoritat de configuració del sidecar (arxi-sidecar-config): model de configuració del sidecar canònic, validació de fallada tancada i artefactes de projecció de configuració determinista (schema/compat/example/docs) consumits per la generació de contractes i les portes de CI. - Sidecar service surface (
arxi-sidecar): HTTP/JSON runtime exposing recorder/query/bundle/config workflows over Unix/TCP with auth/bounds/ controls d’idempotència. - CLI surface (
arxi-cli): local operator commands for record/query/bundle/ Superfície CLI (arxi-cli): comandes d’operador locals per a fluxos de treball de registre/consulta/pac/ configuració/metodes de doctor, a més de la ingesta de fixtures de Decision Gate.
Arxi ara admet tant fluxos de treball de procés local com un límit de servei HTTP integrat. Els embolcalls externs (per exemple, ponts MCP o passarel·les API) continuen estant dins de l’abast com a límits hostils.
Documentació relacionada
- Visió general del repositori:
README.md. - Postura de seguretat i requisits:
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, Referències de disseny:Docs/design/recorder_core_math_evidence_observability_and_verification.md,Docs/design/dg_proof_recorder_and_mobile_edge_interaction_model.md.
Objectius de Seguretat
- Resultats d’integritat d’envolup i paquet deterministes i reproduïbles.
- Historial d’apèndix només amb evidència de manipulació i aplicació de continuïtat de cadena.
- Comportament de fallida tancada en dades malformades, mancants, ambigües o no verificables.
- Portabilitat de paquets verificables fora de línia sense dependències en viu de confiança.
- Clear trust boundaries between adapters, recorder runtime, stores, and Clars límits de confiança entre adaptadors, temps d’execució del gravador, magatzems i consumidors.
- Exposició d’entrada/recurso limitada als punts d’entrada de l’operador.
- Strong adversary posture: designs must remain defensible against compromised Postura d’adversari forta: els dissenys han de romandre defensables contra insiders compromesos i operadors capaços d’estat-nació.
No-objectius / Fora d’abast
- Garanties de confidencialitat després que les proves es revelin als sistemes de baix nivell.
- Defensa contra la compromissió completa de l’amfitrió/núcli sense controls de plataforma externs.
- Key custody/HSM/remote attestation infrastructure (beyond current local key Infraestructura de custòdia de claus/HSM/atestació remota (més enllà dels actuals punts d’ús de claus locals).
- Built-in transport security for remote deployment wrappers (mTLS/authn/authz Seguretat de transport integrada per a wrappers de desplegament remot (mTLS/authn/authz són responsabilitats de desplegament avui dia).
- Non-repudiation signing of bundle archives at rest (external signing/WORM is Signatura de no repudiació dels arxius de paquet en repòs (es requereix signatura externa/WORM).
Actius
- Unsealed and sealed envelope data (event type, actor, environment, payload, Dades d’envelopes no segellades i segellades (tipus d’esdeveniment, actor, entorn, càrrega, temps, IDs de correlació).
- Envelope integrity material (
content_hash,chain_hash, sequence position, Material d’integritat de l’envolup (content_hash,chain_hash, posició de seqüència, vinculació de segments). - Metadades del segment (
SegmentGenesis, enllaç de predecessors, registres de segell). - Bytes d’adjunt i hashes de contingut.
- Contingut del paquet (segments, sobres, adjunts, ancoratges de prova).
- Manifestos de verificació i artefactes de veredicte.
- Recorder runtime configuration (
recorder_id, schema version, auto-seal, Configuració d’execució del gravador (recorder_id, versió de l’esquema, segellat automàtic, profunditat de verificació d’inici). - Fitxer d’emmagatzematge SQLite i estat en memòria.
- Material de clau de signatura i IDs de clau derivades quan els signants estan configurats.
- Persisted signer-rotation state (
store_metakeys for current key, epoch, Estat de rotació del signant persistit (store_metaclaus per a la clau actual, època i marcador de l’últim esdeveniment de rotació). - 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, Artifacts de CLI (selector JSON, payload JSON, fitxer d’adjunt/payloads en línia, JSON de fixture de Decision Gate, JSON de configuració, JSON de paquet).
- Container deployment artifacts and runtime bind mounts (Dockerfile image outputs, compose/env definitions, mounted sidecar config/token/data/run caminos).
Model d’Adversari
- Adversaris d’estat-nació amb visibilitat completa del codi i persistència a llarg termini.
- Adaptadors/clients no fiables que envien sobres o fitxers adjunts maliciosos.
- Insiders compromesos amb accés d’escriptura a la configuració, binaris o emmagatzematge.
- Attackers tampering with on-disk SQLite data, bundle files, or exported Atacants manipulant dades SQLite en disc, fitxers de paquet o artefactes exportats.
- Attackers attempting replay, chain forking, payload mutation, or attachment Atacants que intenten reproduir, bifurcar cadenes, mutar càrregues útils o substituir adjunts.
- Atacants que induïxen l’exhauriment de recursos mitjançant entrades massa grans o costoses.
- Malicious integrators exposing Arxi via remote transports without sufficient Integradors maliciosos que exposen Arxi mitjançant transports remots sense controls d’accés suficients.
Trust Boundaries
- Límits d’ingestió de l’adaptador:
UnsealedEnvelopei les dades d’adjunt no són de confiança. - Límits del CLI / operador: tots els valors de la línia de comandes i els fitxers JSON no són de confiança.
- Límits de configuració en temps d’execució: el contingut del fitxer de configuració i la ruta d’emmagatzematge no són de confiança.
- Sidecar HTTP boundary: request line, headers, auth token, JSON body, and Límits del costat HTTP: la línia de sol·licitud, les capçaleres, el token d’autenticació, el cos JSON i la metadada de transport no són de confiança.
- Límite d’emmagatzematge: les files/blobs persistents no són de confiança en la lectura.
- Límite del paquet: el JSON del paquet importat no és de confiança abans de la verificació.
- Evidence provider boundary: consumer calls to list/fetch/verify/query are Límits del proveïdor d’evidències: les trucades del consumidor per llistar/obtenir/verificar/consultar són sol·licituds no fiables.
- Decision Gate adapter boundary: Decision Gate transcript/runpack fixture Límit de l’adaptador de Decision Gate: les càrregues útils del transcripció/runpack de Decision Gate no són de confiança i han de passar les comprovacions de mapeig/integritat abans de la ingestió.
- Signing boundary: signer/verifier integrations and key management are external Límits de signatura: les integracions de signant/verificador i la gestió de claus són dependències de confiança externes.
- Contract generation boundary: generated projection artifacts are untrusted Límits de generació de contractes: els artefactes de projecció generats no són de confiança fins que es verifiquin mitjançant hash contra el manifest de l’índex canònic.
- External wrapper boundary: any network-facing bridge is outside this repo and Límits de l’envàs extern: qualsevol pont orientat a la xarxa és fora d’aquest repositori i ha d’aplicar proteccions d’autenticació/autoritza i de transport.
- Container-orchestration boundary: compose/env/runtime mount definitions and host filesystem ownership/permission models are untrusted deployment inputs Límits d’orquestració de contenidors: les definicions de muntatge compose/env/runtime i els models de propietat/permissió del sistema de fitxers de l’amfitrió són entrades de desplegament no confiables i han de satisfer les restriccions de reforç de token/config de sidecar.
Punts d’entrada i superfícies d’atac
- 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,metge. - Sidecar commands:
arxi-sidecar --config <path>,arxi-sidecar healthcheck --url <url>, Comandes 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, Fitxers d’entrada: configuració de runtime JSON/TOML, càrrega JSON/fitxer, fitxer d’adjunt/base64 en línia, JSON de Decision Gate, JSON de selector, JSON de paquet.
- Container deployment inputs:
docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/.env, mountedsidecar.toml, mounted token file, Entrades per al desplegament del contenidor:docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/.env, fitxersidecar.tomlmuntat, fitxer de token muntat, i directoris de dades/run muntats. - 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 Punts d’entrada d’emmagatzematge: creació/obertura de la base de dades SQLite, materialització de files SQL, recuperació d’adjunts, decodificació del gènesi.
- Bundle verification pipeline: manifest validation, attachment hash checks, content/chain checks, Canal de verificació de paquets: validació del manifest, comprovacions de hash d’adjunt, comprovacions de contingut/cadena, comprovacions entre segments, fase de signatura.
Controls de seguretat i invariants
- Codificació JCS canònica per a entrades de hash deterministes (
serde_jcs). - Les fórmules de hash del contingut de l’envolup i del hash de la cadena són explícites i estables.
- La genesi del segment ancla el càlcul de la cadena del primer sobre.
- La igualtat de hash utilitza una comparació en temps constant en els camins de nucli/verificador/emmagatzematge.
- La capa d’adaptació/validació aplica comprovacions de fallada tancada abans de registrar.
- Envelope builder enforces required fields, UTC times, deterministic attachment El constructor d’envelopes aplica camps requerits, hores UTC i un ordre de referència d’adjunció determinista.
- Envelope attachment and segment-genesis constructors reject empty, blank, and
Els constructors d’adjunt d’envelopes i de segment-genesis rebutgen entrades
content_typeirecorder_idbuides, en blanc i que continguin caràcters de control. - Recorder config validation fail-closes malformed
recorder_idvalues at La validació de la configuració del gravador falla i tanca valorsrecorder_idmalformats en l’inici del motor (es requereix una forma d’identitat compatible ambActorId). - Core identity constructors reject blank/whitespace-only and control-character
string inputs;
key_idis enforced as exact lowercase Els constructors d’identitat bàsica rebutgen entrades de cadena en blanc/sense espais i de caràcters de control;key_ids’aplica com a forma exacta en minúscules dehex(SHA-256(public_key_bytes))(64 caràcters). - Core identity constructors enforce explicit max lengths:
trace_id/session_id/actor_id/environment_id <= 256 chars, Els constructors d’identitat bàsica imposen longituds màximes explícites:trace_id/session_id/actor_id/environment_id <= 256 chars,event_type/adapter_id <= 128 chars. - String-backed identity serde paths are constructor-validated; hostile JSON Els camins de serde d’identitat basats en cadenes són validats pel constructor; JSON hostil no pot eludir les invariants d’identificador als límits de deserialització.
- L’emmagatzematge d’apèndix imposa invariants d’obertura de segment i continuïtat de cadena.
- Store segment creation enforces single-open-segment and duplicate-segment-ID La creació de segments d’emmagatzematge imposa controls de fallada tancada per a segments oberts únics i ID de segment duplicat.
- Store query/existence paths fail closed on storage-layer query errors instead Les rutes de consulta/existència de l’emmagatzematge fallen tancades en errors de consulta a la capa d’emmagatzematge en comptes de predeterminar resultats d’existència permissius.
- El camí d’append de SQLite és de l’abast de la transacció per a actualitzacions atòmiques de metadades/dades.
- SQLite habilita WAL i claus foranes durant la inicialització de l’esquema.
- Bundle builder uses deterministic ordering (
BTreeMap/BTreeSet) and tracks El constructor de paquets utilitza un ordre determinista (BTreeMap/BTreeSet) i fa un seguiment dels pares/ancres de prova omesos. - Verifier executes 7 phases with trust-root-aware signature verification; it El verificador executa 7 fases amb verificació de signatures conscient de la root de confiança; marca la omissió de signatures només quan no s’ha configurat cap root de confiança.
- Verifier phase 1 fail-closes on manifest structural tampering (segment entry mismatches and attachment-manifest mismatches), not only version/algorithm desajustos.
- Verifier enforces bounded-work policy before phase execution:
max segments
4096, max envelopes per segment100000, max envelopes total200000, max attachments total200000, max attachment refs per envelope4096. - Recorder startup verification re-checks active segment read-back integrity for
La verificació de l’inici del gravador torna a comprovar la integritat de la lectura del segment actiu per a les finestres de profunditat configurades (
startup_verification_depth). - Evidence provider enforces stable bundle IDs and true fetch-by-ID semantics El proveïdor d’evidències aplica identificadors de paquet estables i una semàntica de recuperació per ID veritable per a segments segellats.
- Evidence provider enforces bounded query/materialization policy:
max
list_bundlesandquery_envelopeslimit10000, El proveïdor d’evidències aplica una política de consulta/materialització limitada: màximlist_bundlesiquery_envelopeslímit10000, màxim de materialització d’envelopes per segment200000. - 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 clau 64 KiB, frase de pas del signant material 1 KiB.
- CLI query enforces bounded page policy:
default page size
1000, max page size10000, and deterministic La consulta CLI aplica una política de pàgina limitada: mida de pàgina per defecte1000, mida màxima de pàgina10000, i un contracte de continuació basat en cursor determinista en mode JSON. - CLI runtime resolution validates
recorder_idusingActorIdconstructor semantics before command execution, includingconfig validateparity with comportament de validació de la configuració del gravador. - CLI signer loading is profile-aware (
securedefault) and fail-closed on encrypted-key requirements, malformed key material, insecure opt-down misuse, i discrepància entre la clau i l’estat en mode segur. - Explicit key-rotation workflow emits deterministic lifecycle events
(
system.adapter.key_rotated/ break-glass variant) and persists idempotence marcadors en la metadata de SQLite. - Contract generation emits deterministic projection artifacts with La generació de contractes emet artefactes de projecció deterministes amb autoritat de manifest-hash i mode de verificació de deriva estricta.
- Contract generation/check fail closed on unsafe output-root filesystem entries, including symlinked roots or symlink traversal beneath the output arbre.
- 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 missing. - Contract generation now emits sidecar API artifacts
(
sidecar.openapi/errors/enums/examples/compat) and generated manifest La generació de contractes ara emet artefactes de l’API sidecar (sidecar.openapi/errors/enums/examples/compat) i l’autoritat del manifest generat inclou aquests camins. - Sidecar compatibility gates fail closed in CI by validating additive-only
/v1policy, enum-wire stability, error-code registry stability, and Les portes de compatibilitat del sidecar fallen tancades en CI validant només la política additiva/v1, l’estabilitat de l’enumeració-wire, l’estabilitat del registre de codis d’error i l’aplicació del contracte d’idempotència del punt final mutador a partir dels artefactes generats. - 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) abans d’enllaçar els oients.
- 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 concurrència, i comportament de fallada tancada per temps d’espera per sol·licitud. - Sidecar token auth compares bearer tokens in constant time and bypasses auth
only for explicit probe routes (
/health,/startup,/ready) oropenmode. - 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 comportament de fallada tancada (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ímits del sidecar elude explícitament les rutes de prova perquè els senyals de viabilitat/inici/lectura de l’orquestrador siguin observables fins i tot sota saturació d’admissió i esgotament de sol·licituds actives.
- Sidecar auth failures emit RFC 6750
WWW-Authenticatechallenge metadata and Les fallades d’autenticació del sidecar emeten metadades de repteWWW-Authenticatede l’RFC 6750 i els errors del sidecar utilitzen els Detalls del Problema de l’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/camins de dades.
- Sidecar mutating operations enforce persistent idempotency replay/conflict
semantics with
store_meta-backed TTL/cap retention and deterministic sol·licitud-hash d’abast. - SQLite operation dispatch uses bounded queueing (
sync_channel) with L’operació de dispatch d’SQLite utilitza una cua limitada (sync_channel) amb rebuig determinista de fallada tancada quan la capacitat de la cua (4096) està saturada. - System tests validate tamper detection and fail-closed oversized-input Les proves del sistema validen la detecció d’alteracions i el comportament de tancament en fallada per a entrades de mida excessiva.
- System tests validate external adapter-ingest coupling using OpenClaw mock event streams, including signed/unsigned verification and sequence-gap strict Les proves del sistema validen el coupling d’ingestió d’adaptadors externs utilitzant fluxos d’esdeveniments simulats d’OpenClaw, incloent la verificació signada/no signada i les polítiques de fallida tancada estricta vs enregistrament d’anomalies.
- OpenClaw integration mapping applies deterministic sensitive-field redaction and bounded payload handling (string and JSON size limits) before immutable registre d’evidències.
- 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 Les proves del sistema validen el acoblament del pla de control extern mitjançant Decision Gate MCP fixtures de flux de runpack, incloent la verificació signada/no signada i la integritat del runpack amb fallades estrictes tancades davant de polítiques de registre d’anomalies, incloent la recomputació de l’auto-integritat del manifest a partir dels hash de fitxers declarats.
- System tests validate sidecar subprocess lifecycle over real HTTP and fail-closed idempotency replay/conflict persistence across restart fronteres.
- Decision Gate integration mapping applies deterministic transcript-field redaction and bounded payload handling (string and JSON size limits) before evidència immutable de registre.
- Production
arxi-decision-gate-adapterenforces mapping-contract version checks, deterministic event IDs/timestamps, transcript redaction, bounded La produccióarxi-decision-gate-adapteraplica verificacions de versió del contracte de mapeig, IDs/timestamps d’esdeveniments deterministes, redacció de transcripcions, metadades de càrrega útil limitades i gestió d’integritat estricta vs. anomalia.
Gaps de seguretat rellevants actuals coneguts:
- Sidecar does not include built-in TLS/mTLS; non-loopback deployments should Sidecar no inclou TLS/mTLS integrat; les implementacions no de loopback haurien de finalitzar TLS i fer complir la identitat del client en un proxy/gateway frontal reforçat.
- Sidecar provides bounded local admission controls but not distributed/global rate limiting; deployment platforms still need caller quotas and abuse controls.
Amenaces i Mitigacions
Autenticació, Autorització i Control d’Accés
- Threat: unauthorized local or remote invocation of recording/query/bundle Ameaça: invocació no autoritzada local o remota de rutes de gravació/consulta/paquet.
- Mitigation: sidecar supports explicit token mode with constant-time bearer
token checks, RFC 6750
WWW-Authenticatechallenge responses, and fail-closed Mitigació: el sidecar suporta el mode de token explícit amb comprovacions de token portador en temps constant, respostes de repteWWW-Authenticatede l’RFC 6750, i gestió de configuracions d’autenticació incorrectes que fallen en tancar; la CLI continua sent una invocació de procés local. - Residual risk:
opensidecar mode is deployment-sensitive and should only be used in trusted local IPC environments; non-loopback network deployments Risc residual: el modeopende sidecar és sensible al desplegament i només s’hauria d’utilitzar en entorns IPC locals de confiança; els desplegaments de xarxa que no són de loopback encara requereixen controls d’identitat i transport a la capa de gateway.
Validació d’entrada i anàlisi
- Threat: malformed IDs, non-UTC times, invalid event types, malformed JSON, Ameaça: IDs mal formats, hores no UTC, tipus d’esdeveniment no vàlids, JSON mal format, o càrregues amb ambigüitats.
- 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 parsing. - Mitigation: bounded file reads prevent oversized JSON ingestion at CLI Mitigació: les lectures de fitxers limitades prevenen la ingesta de JSON de mida excessiva a la frontera de la CLI, incloent les entrades de trust-root i signer-key.
Integritat i Autenticitat de l’Evidència
- Threat: payload mutation, chain forking, attachment substitution, or replayed Ameaça: mutació de càrrega útil, bifurcació de cadena, substitució d’adjunt o sobres reproduïts.
- Mitigation: canonical-hash content addressing + chain continuity checks at Mitigació: contingut de hash canònic que aborda + comprovacions de continuïtat de la cadena en el moment d’afegir i verificar.
- Mitigation: verifier phase 1 enforces structural manifest integrity against Mitigació: la fase 1 del verifier aplica la integritat del manifest estructural contra la materialització del segment del paquet i dels adjunts.
- Mitigation: strict Ed25519 verification and trust-root policy enforcement are Mitigació: la verificació estricta d’Ed25519 i l’aplicació de la política de confiança arrel estan integrades a la fase 6 del verificador.
- Mitigation: secure-profile signer loading requires encrypted PKCS#8 key Mitigació: la càrrega del signant del perfil segur requereix material de clau PKCS#8 xifrat per defecte i una opció explícita per a una ergonomia de desenvolupament menys segura.
- Mitigation: explicit key-rotation events and persisted idempotence markers Mitigació: esdeveniments de rotació de claus explícits i marcadors d’idempotència persistents preserven la continuïtat de la línia de signatura i la reconciliació de recuperació de fallades.
- Residual risk: authenticity remains configuration-dependent when operators Risc residual: l’autenticitat continua depenent de la configuració quan els operadors decideixen verificar sense una arrel de confiança (advertència explícita emesa).
Divulgació i Exposició de Dades
- Ameaça: divulgació accidental excessiva a través d’exportacions de paquets i resultats de consultes.
- Mitigació: ordres d’exportació/consulta impulsades per operadors explícits i filtres tipats.
- Residual risk: no built-in field-level redaction policy in Arxi core; wrapper Risc residual: no hi ha una política de redacció a nivell de camp integrada al nucli d’Arxi; les capes de wrapper han d’aplicar la política de divulgació.
Emmagatzematge i Integritat del Paquet
- Ameaça: manipulació de DB/arxius, corrupció o escriptures parcials.
- Mitigation: SQLite WAL, transactional append, chain validation, corruption Mitigació: SQLite WAL, append transaccionals, validació de cadenes, detecció de corrupció en analitzar files emmagatzemades no vàlides.
- Mitigation: bundle verification recomputes attachment/content/chain links and Mitigació: la verificació del paquet torna a calcular els enllaços d’adjunt/contenut/cadena i marca les fallades d’integritat.
- Residual risk: bundle archives are not signed by default; use external Risc residual: els arxius de paquet no estan signats per defecte; utilitzeu controls de signatura externa i emmagatzematge immutable per a la no-repudiació.
Disponibilitat i Exhaustió de Recursos
- Threat: oversized config/payload/selector/bundle inputs and expensive Ameaça: entrades de configuració/payload/selector/bundle de mida excessiva i càrregues de verificació costoses.
- Mitigació: límits durs de CLI en lectures de fitxers; rebuig fallit abans de l’anàlisi.
- Mitigació: errors tipogràfics i rebuig anticipat en selectors/filtres invàlids.
- Mitigation: recorder verifier/provider APIs enforce bounded-work limits and Mitigació: les APIs de verificació/proveïment de gravadors imposen límits de treball delimitats i fallen de manera segura en càrregues de treball en memòria excessives.
- Mitigation: sidecar middleware enforces bounded header/body/content-length Mitigació: el middleware sidecar imposa límits de longitud de capçalera/cos/contenut delimitats, cua delimitada + concurrència activa, i un comportament de temps d’espera que falla tancat.
- Mitigation: SQLite operation dispatch is bounded; enqueue saturation fails Mitigació: l’operació de dispatch d’SQLite està limitada; la saturació de la cua falla tancada en comptes de permetre un creixement de memòria il·limitat.
- Residual risk: no distributed/global rate limiter exists for sidecar or wrapper-exposed deployments; operators still need caller quotas and abuse controls.
Cadenes de subministrament i entorn d’execució
- Threat: compromised binaries/config/runtime host or malicious dependency Ameaça: comportament de binaris/configuració/host d’execució compromesos o de dependències malicioses.
- Mitigation: strict lint/no-panic posture, typed errors, deterministic Mitigació: postura estricta de lint/no-pànic, errors tipats, contractes deterministes i límits d’arquitectura explícits.
- Residual risk: host compromise and dependency compromise require external Risc residual: el compromís de l’amfitrió i el compromís de dependència requereixen controls externs (SBOM/auditoria/signatura/enduriment).
Multi-tenant i aïllament
- Ameaça: exposició de dades entre llogaters en desplegaments compartits.
- Mitigació: Els IDs d’Arxi són etiquetes; no hi ha reclamacions d’aïllament implícit del llogater.
- Residual risk: shared deployments must enforce tenant-aware storage, Risc residual: les implementacions compartides han de fer complir l’emmagatzematge conscient del llogater, la xifratge i el control d’accés a les capes de wrapper/implementació.
Auditoria i Observabilitat
- Ameaça: incapacitat per provar el que va passar després de la sospita de manipulació.
- Mitigation: append-only segment model, deterministic hashes, bundle manifests, Mitigació: model de segment només d’append, hashes deterministes, manifestos de paquets, verificador offline i proves de sistema prioritzant els artefactes.
- Residual risk: comprehensive security audit logging for remote auth decisions Risc residual: la registració d’auditories de seguretat exhaustiva per a decisions d’autenticació remota és dependent del wrapper.
Referències d’Implementació (Controls i Proteccions)
Integritat del nucli i de l’envolta
- Canonical encoding and hash formulas:
Codificació canònica i fórmules de hash:
crates/arxi-envelope/src/encoding.rs. - Hash types, algorithm registry, constant-time equality:
Tipus de hash, registre d’algorismes, igualtat en temps constant:
crates/arxi-core/src/hash.rs. - Identity and input-shape validation contracts:
Contractes de validació d’identitat i forma d’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, Contractes de signatura i model d’identitat clau: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, Invariants d’envelopes/segments:crates/arxi-envelope/src/envelope.rs,crates/arxi-envelope/src/segment.rs,crates/arxi-envelope/src/attachment.rs.
Temps d’execució i verificació del gravador
- Recorder lifecycle, chain progression, seal behavior:
Cicle de vida del gravador, progressió de la cadena, comportament del segell:
crates/arxi-recorder/src/engine.rs. - Auto-seal policy validation:
Validació de la política d’auto-segellat:
crates/arxi-recorder/src/config.rs. - Adapter boundary validation:
crates/arxi-recorder/src/validation.rs, Validació de límits d’adaptador:crates/arxi-recorder/src/validation.rs,crates/arxi-recorder/src/local_adapter.rs. - Deterministic bundle assembly and proof anchors:
Assemblatge de paquets deterministes i ancoratges de prova:
crates/arxi-recorder/src/bundle_builder.rs. - 7-phase verification pipeline and warning model:
Model de verificació i advertència en 7 fases:
crates/arxi-recorder/src/verifier.rs. - Evidence provider boundary behavior:
Comportament del límit del proveïdor d’evidències:
crates/arxi-recorder/src/evidence_provider.rs.
Adaptadors d’Integració
- Decision Gate adapter ingestion, deterministic mapping, and fail-closed
integrity-policy enforcement:
Ingesta d’adaptador de Decision Gate, mapeig determinista i aplicació de la política d’integritat de tancament en fallida:
crates/arxi-decision-gate-adapter/src/adapter.rs. - Decision Gate mapping and redaction/bounds policy defaults:
Mapeig de Decision Gate i valors per defecte de redacció/límits:
crates/arxi-decision-gate-adapter/src/policy.rs. - Decision Gate fixture input contract:
Contracte d’entrada del dispositiu de la Decision Gate:
crates/arxi-decision-gate-adapter/src/model.rs. - Decision Gate adapter typed error algebra:
Error d’àlgebra tipada de l’adaptador Decision Gate:
crates/arxi-decision-gate-adapter/src/error.rs.
Emmagatzematge
- Storage contracts and invariants:
Contractes d’emmagatzematge i invariants:
crates/arxi-store/src/traits.rs,crates/arxi-store/src/error.rs. - In-memory backend behavior:
Comportament del backend en memòria:
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, Inicialització de SQLite, WAL, FK, model de fil de connexió: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, Operacions d’envolupament/segment/adjunt 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.
CLI i Superfície de Validació
- Command routing and runtime resolution:
Ruteig de comandes i resolució en temps d’execució:
crates/arxi-cli/src/main.rs. - Input hard limits and bounded file reads:
Límits d’entrada i lectures de fitxers limitades:
crates/arxi-cli/src/main.rs. - Localization and deterministic output behavior:
Localització i comportament de sortida 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, Compatibilitat del contracte de sidecar i portes SLO de publicació opcionals:scripts/ci/sidecar_contract_gates.py,scripts/ci/sidecar_perf_gate.py.
Límits del servei 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, Controls d’autenticació i vinculats a la sol·licitud del sidecar: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, Idempotència del sidecar i contracte d’errors: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, Proves d’integració de conformitat del contracte 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, Embalatge del contenidor Sidecar i perfil de l’operador:docker/sidecar/Dockerfile,docker/sidecar/docker-compose.yml,docker/sidecar/config/sidecar.toml.
Validació 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, Proves de seguretat/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ó del paquet Docker i del cicle de vida de compose:system-tests/tests/suites/sidecar_docker.rs,system-tests/tests/helpers/docker.rs. - Registry-driven validation contract:
Contracte de validació impulsat pel registre:
system-tests/AGENTS.md,system-tests/test_registry.toml.
Requisits Operatius
- Treat all deployments as hostile environments; assume compromised insiders and Tractar totes les implementacions com a entorns hostils; assumir que hi ha insiders compromesos i adversaris capaços d’estat-nació.
- Restrict filesystem access to store/config/bundle paths using least-privilege Restrigeix l’accés al sistema de fitxers als camins store/config/bundle utilitzant ACLs del sistema operatiu amb el mínim privilegi.
- Use signed releases, dependency auditing, and host hardening for production Utilitzeu versions signades, auditoria de dependències i enduriment d’amfitrions per a nodes de producció.
- If exposing Arxi sidecar or wrapper APIs over non-loopback networks, enforce Si exposeu les API Arxi sidecar o wrapper a través de xarxes no de loopback, imposeu una autenticació/autenticació forta, terminació mTLS/TLS i llistes d’ordres permeses.
- For containerized sidecar deployments, run non-root, keep token mounts
owner-only (
0600on Unix), and map host UID/GID explicitly so hardened Per a les implementacions de sidecar en contenidors, executar sense permisos d’administrador, mantenir els punts de muntatge de tokens només per a propietaris (0600en Unix) i mapar explícitament l’UID/GID de l’amfitrió perquè les comprovacions de tokens endurides i els camins de dades escriables es mantinguin deterministes. - Mantingueu els límits d’entrada de la CLI activats; ajusteu els límits a nivell de wrapper on sigui possible.
- Do not treat unsigned bundles as non-repudiable artifacts; apply external No tracteu els paquets no signats com a artefactes no repudiables; apliqueu controls de signatura externa i de retenció immutable.
- Segment tenants into isolated stores/processes unless explicit shared-tenancy Segmentar inquilins en botigues/processos aïllats a menys que s’implementin controls de lloguer compartit explícits.
- Monitor verifier warnings (especially signature-skip and partial-segment Monitoritzar les advertències de verificació (especialment les advertències de salt de signatura i de segment parcial) com a resultats significatius per a la política.
Postura de fallida
- Fallar tancat en entrades no vàlides o ambigües.
- Rebutjar les addicions que violen l’estat del segment o la continuïtat de la cadena.
- Rebutjar definicions de configuració/filter/rang de temps malformades.
- Mark tampered bundles as
Invalidor fail verification with typed errors on Marcar els paquets manipulats com aInvàlido fallar la verificació amb errors tipats en discrepàncies de manifest/infraestructura. - Mai assumeixis confiança en l’estat persistit sense revalidacions d’integritat.
Model de Amenaça Delta (2026-02-08, OSS Baseline + Docker)
- Initial Arxi repository threat model baseline added under Model de amenaça inicial del repositori Arxi afegit sota Docs/security/threat_model.md.
- Mapped trust boundaries, controls, and residual risks to concrete current Es van mapar els límits de confiança, controls i riscos residuals als fitxers d’implementació actuals concrets.
- Closed signer/runtime wiring gap with profile-aware secure defaults, bounded S’ha tancat l’espai de connexió del signant/runtime amb valors per defecte segurs conscients del perfil, límits d’entrada del signant delimitats i gestió de material clau que falla tancada.
- Added explicit signer-rotation workflow with deterministic lifecycle events S’ha afegit un flux de treball de rotació de signants explícit amb esdeveniments de cicle de vida deterministes i metadades d’idempotència persistents.
- Added deterministic contract-generation boundary (
arxi-contract) with S’ha afegit un límit de generació de contractes determinista (arxi-contract) amb autoritat de manifest-hash i controls de verificació de desviament. - Hardened
arxi-contractoutput-root handling to reject symlinked roots and symlink traversal under generated artifact trees in both generate and check modes. - Added first-party sidecar container deployment boundary: Dockerfile/Compose/config artifacts are now explicit attack surfaces and fronteres de confiança de desplegament.
- Added system-test Docker coverage for sidecar packaging hardening and S’ha afegit cobertura de proves de sistema Docker per a la consolidació del paquet sidecar i la validació del cicle de vida de Docker Compose per obrir/registrar/consultar.
- Closed tracked P1 system-test security-relevant coverage gaps for selector dedup, proof-anchor semantics, cross-segment mismatch fail-closed behavior, Tancades les llacunes de cobertura rellevants per a la seguretat del sistema de prova P1 per a selector dedup, semàntica de prova-ancoratge, comportament de fallada tancada en desajustaments entre segments, comportament de fallada tancada en el tancament d’adjuncions, i paritat SQLite/en memòria.
- Hardened
arxi-coreidentifier validation to reject whitespace-only and control-character string identifiers and require strict 64-char lowercase hexkey_idvalors. - Hardened deserialize boundaries so constrained identifier and envelope text S’han endurit els límits de deserialització perquè els identificadors restringits i els camps de text d’envolupament no es puguin instanciar a partir de càrregues de serde sense comprovacions del 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 imposa sostres de treball limitats explícits. - Hardened
arxi-recorderevidence-provider library boundaries with explicit S’han endurit els límits de la bibliotecaarxi-recorderevidence-provider amb límits explícits de fallada tancada per a càrregues de treball de llista/consulta/materialització. - Hardened
arxi-storeSQLite connection dispatch with bounded queue capacity Connexió SQLitearxi-storeendurida amb gestió de dispatch amb capacitat de cua limitada i semàntica de rebuig de saturació determinista. - 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ó.
- Tancades totes les troballes registrades a 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 reflexar aquesta superfície d’execució. - 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, S’ha implementat la cobertura de l’artifacte de l’API sidecar generat (sidecar.openapi/errors/enums/examples/compat) amb portes de compatibilitat CI de fallada tancada que imposen només addicions a/v1, estabilitat de l’enumeració, estabilitat del registre de codis d’error i contractes d’idempotència per a punts finals mutables. - Consolidated sidecar runtime config semantics into a dedicated
arxi-sidecar-configcrate and wired sidecar runtime startup to consume its Consolidat la semàntica de configuració de temps d’execució del sidecar en un crate dedicatarxi-sidecar-configi connectat l’inici del temps d’execució del sidecar per consumir el seu límit de validació de configuració tipada que falla tancat. - 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 Ampliat l’abast del contracte generat per incloure artefactes de configuració del sidecar (config/sidecar.schema.json,config/sidecar.compat.json,config/sidecar.example.toml,config/sidecar.md) emesos perarxi-contractdels helpers de projeccióarxi-sidecar-config. - Extended sidecar compatibility gates to fail closed on sidecar config Les portes de compatibilitat del sidecar ampliades fallaran tancades en cas de desviació de la configuració del sidecar i inconsistència entre artefactes (schema/compat/example/docs).
- Added sidecar integration/system validation for generated error-registry S’ha afegit la integració del sidecar/validació del sistema per a la compatibilitat del registre d’errors generat i la persistència de la idempotència del reinici/reproducció/conflicte.
Model de Amenaça Delta (2026-02-08)
- Added enterprise sidecar boundary mode with explicit fail-closed config
validation (
enterprise.mode, control-plane URL/token requirements, and requisit de seguretat del mode de token). - Added enterprise identity extraction boundary (
x-tenant-id,x-principal-id,x-authn-method, optional namespace) and fail-closed S’ha afegit un límit d’extracció d’identitat empresarial (x-tenant-id,x-principal-id,x-authn-method, espai de noms opcional) i un comportament d’admissió de fallada tancada en el context d’identitat malformat o absent. - Added pre-handler enterprise policy gate middleware that denies protected S’ha afegit un middleware de política d’empresa de pre-manipulador que nega les operacions protegides quan les comprovacions d’autenticació/control de quota del pla de control no estan disponibles o són denegades.
- Added managed-cloud writer-lease assertion gating for mutating operations
S’ha afegit una afirmació de control de lloguer de redactor de núvol gestionat per a operacions de mutació (
x-arxi-writer-lease=truerequerit quan està configurat). - 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 falles. - 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 les fallades es tracten com a errors de sol·licitud tancats.
Model de Amenaça Delta (2026-02-08, Enduriment de la Prova i Preparació)
- Added explicit startup probe route (
GET /startup) to sidecar entry-point S’ha afegit una ruta de prova d’inici explícita (GET /startup) al punt d’entrada del sidecar, política d’inventari i bypass d’autenticació de la prova. - Added fail-closed readiness dependency modes (
storage_only,storage_and_enterprise) with config validation and control-plane readiness S’han afegit modes de dependència de preparació de fallada tancada (storage_only,storage_and_enterprise) amb validació de configuració i comprovacions de dependència de preparació del pla de control en modes habilitats per a empreses. - Added optional readiness fail-closed behavior when request admission/execution
S’ha afegit un comportament opcional de fallida tancada en la disponibilitat quan la capacitat d’admissió/execució de sol·licituds s’esgota (
request_capacity_exhaustedraó de disponibilitat). - Added explicit probe-priority middleware behavior:
/health,/startup, and/readybypass normal auth/policy/bounds request S’ha afegit un comportament de middleware de prioritat de sondatge explícit:/health,/startupi/readyeludeixen les portes normals d’autenticació/política/límits de sol·licitud per preservar l’observabilitat de l’orquestració durant la sobrecàrrega. - Added Docker system-test probe coverage validating containerized
/startupand/readybehavior before and after segment-open lifecycle transicions.
Model de Ameaça Delta (2026-02-08, continuació)
- Renamed enterprise boundary adapter implementation from
enterprise.rstocontrol_plane_bridge.rsto make the trust-boundary intent explicit S’ha canviat el nom de la implementació de l’adaptador de frontera d’empresa deenterprise.rsacontrol_plane_bridge.rsper fer explícit l’objectiu de la frontera de confiança (només pont de pla de control; sense autoritat de matemàtiques d’evidència). - Centralized sidecar enterprise ingress/header/hook vocabulary in
crates/arxi-sidecar/src/contract.rsand wired middleware/bridge paths to Vocabulari d’entrada/capçalera/gat de l’empresa centralitzat encrates/arxi-sidecar/src/contract.rsi camins de middleware/bridge connectats a aquestes constants per reduir el risc de desviació que provoca l’evitació de polítiques. - Added conformance tests to ensure sidecar operation labels, identity headers, and hook boundary/outcome labels remain synchronized with control-plane vocabulari de contractes.
- Added cross-repo end-to-end enterprise lane coverage proving control-plane deny decisions fail closed at sidecar mutation boundaries while successful S’ha afegit cobertura de carrers d’empresa de final a final entre repositoris que demostra que les decisions de denegació del pla de control fallen tancades als límits de mutació del sidecar, mentre que els camins admesos amb èxit preserven els resultats de verificació d’evidències deterministes.
Model de Amenaça Delta (2026-02-08, Expansió CLI OSS)
- Added CLI operator command
recorder envelope record-with-attachmentswith S’ha afegit la comanda d’operador CLIrecorder envelope record-with-attachmentsamb validació de límits d’adjunt de fallada tancada per a fitxers i entrades base64 en línia. - Added CLI operator command
decision-gate ingest-fixturethat routes fixture inputs through productionarxi-decision-gate-adapterintegrity and mapping polítiques. - Added CLI runtime config parity checks so malformed
recorder_idvalues fail closed duringconfig validateusing the same identity-shape constraints as temps d’execució del gravador. - Expanded CLI auto-seal boundary to include duration and combined policies, S’ha ampliat el límit d’auto-segellat de la CLI per incloure la durada i les polítiques combinades, amb un rebuig de valor zero que falla tancat tant per a llindars de comptatge com de durada.
- Added CLI query page bounds (default
1000, max10000) and deterministic JSON pagination contract (envelopes+next_cursor) to prevent unbounded materialització a la frontera de l’operador.