ADR-010 — Format .airapp et .airservice, entitlements déclaratifs signés, sandbox capability-based
Format standard de distribution : bundle .airapp (répertoire structuré : Manifest.toml, Entitlements.toml, signatures détachées, binaires, frameworks embarqués, ressources, schémas AirCom publiés). TOML pour lisibilité et idiome Rust. Autonome et déplaçable.
Format secondaire .airservice pour les composants système (drivers utilisateur, services réseau, agents système avec accès eBPF, etc.) avec modèle d’entitlements étendu et installation nécessitant privilèges administrateur. Distinction visuelle dans le shell.
Entitlements déclaratifs en deny-by-default, signés. Modèle hybride : entitlements par chemins explicites pour le filesystem + entitlements thématiques pour les patterns courants. Quatre familles : filesystem (mappés sur Landlock), network (mappés sur namespace réseau + filtrage), AirCom (capabilities aux services), devices.
air-launchd (couche 5) applique les entitlements au lancement : namespaces, Landlock, seccomp, distribution des capabilities AirCom initiales par FD passing. Pas d’autorité ambiante (POLA strict).
Trois niveaux de signature : développeur (toujours, self-signed possible), notarization (modèle ouvert : plusieurs autorités possibles), politique locale (Gatekeeper-like).
Licence du document : MPL 2.0 Statut : Document fondateur. Édition directe autorisée en phase de design pré-ouverture publique ; immuable après ouverture publique (toute évolution via RFC, cf. ADR-015).