--- name: project_iios_overview description: What IIOS is — a generic multi-tenant interaction OS; kernel + specializations + swappable platform ports metadata: type: project --- IIOS (Insignia Interaction OS) = one NestJS service (`@insignia/iios-service`) + SDKs, in a pnpm monorepo (`packages/*`). Every interaction (chat message, ticket, routed post, AI suggestion, meeting) is the **same kernel object** inside a **tenant scope** (`IiosScope`: org/app/tenant/…), behind the **same fail-closed gates**, emitting the **same audit trail**. Products (messaging, inbox, support, routing, AI, calendar, media, notifications) are thin **specializations** on top of a tiny kernel — never the reverse (`pnpm boundary` enforces it). Platform seams are **ports** (`IiosPlatformPorts`, DI token `PLATFORM_PORTS`; dev = permissive `LocalDevPorts`): session, opa, cmp (consent), mdm, sas, capability, plus `StoragePort` (media) and `NotificationPort` (push). **Dev stubs swap to real adapters with zero consumer changes.** Every op passes `decideOrThrow(ports, {action,…})` fail-closed. Events go through a transactional outbox → `OutboxBus` → idempotent projectors (inbox, notifications). See the repo `CLAUDE.md` and `docs/IIOS_API_AND_SDK_GUIDE.md` (as-built reference) for detail. Related: [[feedback_generic_safety]].