ARCHITECTURE

Treize moteurs souverains.
Une seule chaîne d’audit.

Le LyDos Phone fait tourner treize démons Rust sur une base AOSP 15 durcie. Chaque moteur surveille les autres. Si l’un est réduit au silence, les autres cessent d’écrire. Si l’un signe à tort, la chaîne le détecte.

FLUX DE RÈGLEMENT

Comment une action critique traverse la pile.

Les six mêmes étapes pour un envoi de portefeuille, une présentation d’identité, une confirmation OTA, un octroi de permission. Sautez une étape et l’action n’est pas réglée.

  1. 01

    Une application demande une action critique

    Envoi de portefeuille, présentation d’identité, confirmation OTA, changement de permission. L’application parle à un HAL — jamais directement à KSL ou ASR.

  2. 02

    Contrôle LSIA — pré-vol

    Si le mode est CRITICAL_LOCKDOWN, l’appel est court-circuité en LsiaVetoed avant qu’un seul octet ne soit analysé. Aucun chemin d’exception. KURAL 22 imposée dès le sommet.

  3. 03

    Émission ASR — audit avant action

    Le HAL écrit une entrée d’audit dans la chaîne append-only. Si l’émission échoue (disque plein, partition en lecture seule, hachage divergent), la chaîne renvoie Error et l’action s’arrête ici.

  4. 04

    Signature KSL — scellée dans le matériel

    Les octets canoniques de l’action sont signés par la clé maîtresse à l’intérieur de l’élément sécurisé. ML-DSA-87 + Ed25519 hybride le cas échéant. Les octets privés ne sortent jamais.

  5. 05

    Règlement DSL — reçu émis

    DSL renvoie Settled avec la signature, le hachage du reçu ASR et l’instantané du mode LSIA. L’application reçoit une preuve, pas un simple oui.

  6. 06

    Publication GCI — motif uniquement

    Si l’action intéresse la fédération (grappe d’IP suspecte, tentative d’alerte falsifiée), GCI publie le motif haché + préfixe /24 + tranche de montant. La charge utile brute reste sur l’appareil.

LES TREIZE

Chaque moteur — ce qu’il fait, ce qu’il coûte, ce qu’il ne peut pas faire.

KSL/api/ksl/*

Key Sovereignty Layer

Clé maîtresse scellée dans l’élément sécurisé. Signatures ML-DSA-87. Les octets privés ne traversent jamais l’espace utilisateur — seule une empreinte affleure. kslctl expose les compteurs et les tâches de rotation.

démon
ksld · 818 LOC
crate
sovereign_ksl + sovereign_ksl_keymint
routes
device-keys · sign · rotate

KURAL 18 — toute action critique est signée ou avortée.

LSIA/api/immunity/*

Local Sovereign Immunity Agent

247 sondes noyau + appels système surveillées en direct. Machine à états NORMAL → DEGRADED → SAFE → CRITICAL LOCKDOWN. En LOCKDOWN, toute écriture souveraine est court-circuitée en LsiaVetoed avant d’atteindre le moteur.

démon
lsiad · 1 905 LOC
crate
sovereign_lsia
routes
mode · veto · quarantine · sacrifice

KURAL 22 — CRITICAL_LOCKDOWN prime sur tout.

TUP/api/tup/*

Trusted Update Pipeline

Chaque OTA porte un manifeste signé par les responsables Release + Security + Ops + Compliance. Quorum M-of-N, couverture des rôles, SHA-256 binaire vérifié deux fois — contrôleur + agent, défense en profondeur. Le rejet est fail-closed.

démon
tupd · 2 392 LOC
crate
sovereign_tup · release-pack-signer
routes
manifest/verify · ota-delta · officer-keystore

KURAL 20 — pas de déploiement sans TUP. Pas de --skip-checks.

ASR/api/asr/*

Audit & Sovereign Receipts

Chaque décision importante (signature, permission, politique, mise à jour) est ajoutée à un journal chaîné par hachage sur une partition en écriture unique. Altérez une entrée et la chaîne se rompt visiblement à la prochaine attestation de démarrage.

démon
asrd · asr-hal-service
crate
sovereign_asr · sovereign_asr_sqlite
routes
append · verify · export

Chaîné par hachage · append-only · qualité forensique.

DSL/api/settlement/*

Default Settlement Layer

Le seul chemin par lequel les applications peuvent signer. L’émission d’audit doit réussir avant que KSL ne signe ; si l’audit échoue, la signature n’a jamais lieu. Réglé = signé + approuvé + prouvé. Aucun chemin de règlement sans trace.

démon
dsl-hal-service
crate
sovereign_dsl
routes
intent · settle · proof

Les applications ne peuvent pas relever les plafonds quotidiens en altérant la mémoire.

GCE/api/gce/*

Global Consistency Engine

Détection de dérive d’état entre nœuds. Compare les têtes de moteur entre pairs de la fédération et se dégrade automatiquement quand la dérive dépasse la tolérance. Un désaccord déclenche une dégradation, pas une fusion silencieuse.

démon
gced
crate
sovereign_gce
routes
head · drift · reconcile

Diverger proprement. Ne jamais converger en silence.

GCI/api/gci/*

Global Collective Intelligence

Fédération de motifs préservant la vie privée. Seuls des signaux hachés, des préfixes IP /24 et des événements regroupés par tranche de montant quittent l’appareil. Charges utiles brutes, e-mails, identifiants utilisateur — ne partent jamais.

démon
gcid · gci-hal-service
crate
sovereign_gci
routes
pattern/share · consensus · publish

KURAL 23 — seuls des motifs hachés/regroupés sortent.

LRM/api/lrm/*

Local Resilience Mesh

Transport DTN store-and-forward sur LoRa multi-saut, Wi-Fi Aware, mesh Bluetooth et UWB. Bande passante planifiée par pair. Persiste à travers les redémarrages. L’édition Press maintient la télémétrie du mesh active avant le lanceur.

démon
lrmd · lrm-hal-v2
crate
sovereign_lrm · lrm-mesh-bridge
routes
peers · routes · sos · drill

La voie SOS reste ouverte en CRITICAL_LOCKDOWN.

SAT/api/sat/*

Satellite HAL

Balise de détresse Cospas-Sarsat, données en rafale courte Iridium, Starlink Direct-to-Cell, 3GPP NTN. Le SOS emprunte le chemin le plus sain — bascule automatique, sans menu.

démon
satd · sat-hal-service
crate
sat-hal-v1
routes
beacon · ntn · d2c · routing

Urgence indépendante de l’opérateur, sans SIM requise.

LSSA/api/lssa/*

Layered Sovereign Security Architecture

Architecture à 10 couches, de la racine de confiance matérielle jusqu’au graphe de confiance. Pipeline de démarrage + AVB + mise à jour de confiance LyDos + attestation sur l’appareil. Chaque couche signe la suivante.

démon
lssad · attestation-collector
crate
sovereign_lssa
routes
boot · attest · graph

Toute rupture de la chaîne de démarrage → mode SAFE automatique.

CC/api/cc/*

Confidential Compute

Secrets scellés à la mesure SGX / SEV. Les calculs sensibles sont scellés à une mesure ; si l’image de l’OS change, le sceau s’ouvre sur une politique différente et le secret reste scellé.

démon
sovereign_cc helper
crate
sovereign_cc
routes
seal · unseal · measure

Secret lié à la mesure, pas à l’utilisateur.

FIN/api/{ledger,finance}/*

Financial Infrastructure

Grand livre en partie double avec preuve par transaction. Le portefeuille (M243) achemine chaque envoi via le HAL DSL : émission ASR d’abord → signature KSL ensuite. Si l’audit échoue ⇒ la signature avorte.

démon
sovereign_fin
crate
sovereign_fin
routes
entries · proof · limits

Plafond quotidien imposé par le HAL, pas par le code de l’application.

BUS/api/bus/*

Emergency / Framework Bus

La diffusion cellulaire (AFAD WEA, EU-Alert, J-Alert) est vérifiée par signature avant d’atteindre l’écran de verrouillage. Canal de notification signé sur l’appareil — les notifications ne peuvent pas être falsifiées et survivent à l’absence de GMS.

démon
framework-emergency-bus
crate
sovereign_emergency_bus
routes
alert/verify · push/sign · subscribe

Les alertes gouvernementales passent le contrôle de signature ou sont rejetées.

PROPRIÉTÉS DE CONCEPTION

Quatre propriétés que cette architecture garantit.

Défense en profondeur — pas un point de blocage unique

Chaque moteur surveille les autres. Si l’un est réduit au silence, les autres cessent d’écrire. Si l’un signe à tort, la chaîne le détecte à la prochaine attestation de démarrage.

Fail-closed, jamais fail-open

Quand la vérification se rompt, la réponse est le rejet. Aucun indicateur --skip-checks n’existe. Aucun repli silencieux vers SQLite quand PG :5434 est absent. Aucune nouvelle tentative en cas de signature divergente.

Source de vérité unique

La chaîne de hachage ASR est la seule chronologie qui compte. Tout autre moteur peut être dérivé, re-dérivé ou sacrifié — la chaîne, non.

Vie privée par règle stricte

KURAL 23 — GCI ne partage que des motifs hachés, des préfixes IP /24, des tranches de montant. E-mail, IP brute, identifiant utilisateur, charge utile — ne quittent jamais l’appareil. Imposé à la frontière du moteur, pas par configuration.

Lisez les moteurs, route par route.

115 routes souveraines sont documentées dans /api. Les moteurs sont livrés sous forme de crates Rust privés sous sovereign-templates/.