Softanza
DémarrerEnglish
Softanza
Entrées-sorties, formats, extensibilité, médias

Sécurité et gouvernance

Une doctrine de gouvernance, un modèle ne peut pas agir par construction, plus l'identité, un registre durable inviolable et une réponse mesurée.

6 Strong · 5 Solid · 0 Partial · 1 Emerging

Mesuré contre : OWASP · Vault · OPA · semgrep · Dossiers : base/security(s'ouvre dans un nouvel onglet) · Pour les programmeurs : la référence de ce domaine

une chaîne de cinq blocs qu'on ne peut pas réécrire, chacun haché par le moteur
une chaîne de cinq blocs qu'on ne peut pas réécrire, chacun haché par le moteur. dessiné le 2026-10-01 par le script du site tools/areas-figurative.ring, exécuté dans la bibliothèque au commit 0e72e2e2c · la source(s'ouvre dans un nouvel onglet)

Repensé depuis les premiers principes

Ce que Softanza a gardé de ce qui marche, et ce qu'elle a repensé, tel que la bibliothèque l'a écrit dans ses documents de conception et ses narrations.

La manière SoftanzaS'exprimer est libre, être admis est gouverné : chacun peut composer et proposer, mais seul un acteur habilité à produire des effets peut valider.

Gardé des meilleures pratiques

  • Le modèle de menaces s'appuie sur les Top 10 de l'OWASP (web, modèles de langage, agents) et le NIST CSF 2.0, comme grilles de lecture, pas comme verdicts. source(s'ouvre dans un nouvel onglet)
  • Une cryptographie éprouvée, pas artisanale : les mots de passe sont stockés avec Argon2id, et les données au repos scellées par un chiffrement authentifié ; un octet modifié n'ouvre rien. source(s'ouvre dans un nouvel onglet)
  • Des réglages sûrs par défaut : TLS vérifie le pair sauf option explicitement nommée, les valeurs SQL sont liées, jamais concaténées, et un programme se lance sans shell. source(s'ouvre dans un nouvel onglet)

Repensé

  • Softanza part du principe qu'une injection dans le prompt finira par passer, et la rend inoffensive : un modèle de langage ne détient jamais le droit d'agir. source(s'ouvre dans un nouvel onglet)
  • Quatre types de capacité et trois postures de confiance décident de la même façon qui peut écrire un fichier, déployer ou lire une clé : un seul mécanisme. source(s'ouvre dans un nouvel onglet)
  • Un secret est un pointeur vers l'endroit où se trouve la clé. Sa forme affichée est déjà masquée : aucun journal ni affichage ne peut divulguer la valeur. source(s'ouvre dans un nouvel onglet)
  • Une garantie n'est annoncée qu'avec le test qui la prouve, et un méta-test échoue si ce test manque. Les failles non couvertes sont nommées comme risques ouverts. source(s'ouvre dans un nouvel onglet)

Most security stacks are a bag of primitives; Softanza's is a doctrine. One capability lattice (effectful, sensing, compute, inference) and three postures gate every dangerous act uniformly, so an LLM actor holding inference only is refused a secret, a file write or a deployment by construction. On top sit a full identity stack (OIDC, SAML, WebAuthn, both sides) and an engine-computed tamper-evident audit ledger; the gaps are a unified injection-defense surface, the unbuilt plugin governance, and the absence of a formal threat-model document.

Ce qu'un artisan en fait, et ce qui se distingue

  • A governance doctrine enforced uniformly: an LLM actor holding only inference is refused by construction, not by a rule someone remembered to write
  • An engine-computed tamper-evident audit ledger (hash-chained, seal and verify)
  • A full identity stack: OIDC, SAML and WebAuthn on both sides
  • Multi-hop escalation caught by graph reachability (ReachesEffectful, BlastRadius)

Ce qui est dû

  • A unified injection-defense surface (the OWASP Top-10 core)
  • Authenticated symmetric encryption (AES-GCM / ChaCha20-Poly1305) and a modern KDF (Argon2)
  • A formal threat model mapped to guards
  • Plugin / foreign-capability governance, plus a shipped Vault/KMS backend adapter

La manière Softanza, exécutée

Ce que Softanza fait autrement dans ce domaine, montré par du code tiré de ses narrations et de ses gardes, et exécuté pour cette page.

Les articles de ce domaine (14)

Les couloirs, un par un

Les couloirs et leurs notes sont cités tels qu'ils ont été lus à la source, le Read from the source on 2026-09-16 -- base/security (25 files) and base/governance; engine crypto.zig, seclog.zig, webauthn.zig, xmldsig.zig + vendored mbedTLS; plan of record doc/design/SOFTANZA_SECURITY.md.

Deux lectures. La carte de l'Atlas (v21, 2026-09-30) donne 6 Strong, 5 Solid, 0 Partial, 1 Emerging ; la page du groupe, lue le Read from the source on 2026-09-16 -- base/security (25 files) and base/governance; engine crypto.zig, seclog.zig, webauthn.zig, xmldsig.zig + vendored mbedTLS; plan of record doc/design/SOFTANZA_SECURITY.md, note ses couloirs 3, 6, 2, 1. Les couloirs ci-dessous sont ceux de la page du groupe ; la carte est la lecture la plus récente.

Safe-world & capability governance
Strong
One capability lattice (effectful/sensing/compute/inference) and three postures enforce six checkpoints; agents rehearse in a stzVirtualFileSystem twinStzCheckNoLLMEffectful; stzUpdatePlan under three gates
Identity -- authn & authz
Strong
stzAuth sessions, TOTP, WebAuthn passkeys, OIDC client and provider, SAML SP and IdP, HMAC request signing with nonce replay cache; ~417 guarded assertions~417 identity assertions under test/system
Tamper-evident audit ledger
Strong
stzSecurityLedger over seclog.zig: a bounded hash-chained circular buffer whose digest is computed in-engine; seal-to-file, verify names a broken linkengine/src/seclog.zig
Cryptographic primitives
Solid
crypto.zig ships SHA-256, HMAC, PBKDF2, constant-time compare, CSPRNG, TOTP, ES256/RS256; RSA/X.509 via vendored mbedTLS; no AEAD, no Argon2engine crypto.zig + vendored mbedTLS
Secret storage & keyring
Solid
stzSecretStore is the one governed door: every Reveal(name, actor) is gated and audited, secrets self-redact; no real backend adapter shipsstzVaultResolver (in-memory reference only)
Policy governance & security rules
Solid
stzSecurityGraph answers ReachesEffectful, BlastRadius and PathExists, catching multi-hop escalation; only three security rules shipstzSecurityRule -> stzRuleReport
Events, redaction & OCSF telemetry
Solid
stzSecurityEvent is a typed record with a MITRE ATT&CK field and OCSF JSON export; redaction is enforced at construction; no PII/DLP surface
Detection & incident response
Solid
stzDetection -> stzSecuritySentinel -> stzIncident -> stzResponsePlan -> stzSecurityDrill; three detection shapes, no anomaly/ML, no Sigma interopstzSecurityDrill (adversary emulation vs a real spawned app)
Attestation & evidence custody
Solid
stzSecurityAttestation makes a custody statement over a sealed ledger; export is a sensing act an LLM may not perform; no in-toto interop yet
TLS / transport security
Partial
mTLS and TLS ride vendored mbedTLS with a smoke guard and fuzz_tls.zig; no cert-lifecycle management, OCSP or cipher-policy governancetest/cluster/mtls_narrated; engine fuzz_tls.zig
Input validation & injection defense
Partial
Primitives exist scattered (HTML/URL escaping in encode.zig, XXE closed by the XML parser); no unified validation surface, no SQLi/CSRF/XSS toolkitengine encode.zig
Plugin / foreign-capability governance
Emerging
A designed doctrine ('a plugin is a governed foreign capability') with a plan and comparative study; base/plugin is not loaded in stzBaseSOFTANZA_PLUGIN_PLAN.md