- аудио per-node гейтинг (PipeWire Security Context + WirePlumber), не голый сокет:
audio_out ≠ audio_in; capture только по runtime-гранту
- сеть: строгая гарантия только бинарно on/off; host-allowlist best-effort
(DNS-allowlist обходится прямым IP — нужен forced-proxy по SNI/Host)
- якорь first-party не существует до v4: v0-v3 = trust-by-build/физконтроль
- целостность id при установке (отказ при коллизии; ru.shturman.plugin.* зарезервирован)
- жизненный цикл гранта: while-in-use, авто-снятие на stop/crash; enforce-split
(статически прокси+sandbox/App-Host, рантайм-гранты Perm-Broker)
- НОВОЕ: §1a Модель угроз (адверсарии↔слои + out-of-scope)
- 152-ФЗ: явное отзываемое согласие (не только уведомление), минимизация VIN/локации,
роли оператора/обработчика в BYO, локализация ≠ правовое основание
- audit-log промотирован в нормативный (владелец A §9 + UI домена C)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- enforcement: прокси даёт грубую изоляцию (сервис/метод), тонкую (per-signal,
per-key) делает сам сервис по идентичности sender — прокси не видит payload
- PermBroker: идентичность только из соединения, CheckCapability(cap) sender-scoped
(не принимает app аргументом → нет спуфинга); GrantChanged адресный
- НОВЫЙ сервис ru.shturman.Location (домен K) — GPS/положение; GPS-скорость не через E
- ошибки Stale/Timeout (транзиентно) vs NotAvailable (постоянно); GetSignal с таймаутом
- desired_max_hz = агрегатный hint (не per-subscriber троттл); подписки owner-bound,
авто-снятие по NameOwnerChanged; quality-поле; BatteryVoltage→ModuleVoltage
- RegisterIntents(handler_path) — фразы из манифеста; версии-мажоры сосуществуют
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>