macOS Analyzer Design Brief (Draft)

Owners: Scanner Guild, Policy Guild, Offline Kit Guild
Related backlog (proposed): SCANNER-ENG-0020…0023, DOCS-SCANNER-BENCH-62-002
Status: Draft pending demand validation (see docs/benchmarks/scanner/windows-macos-demand.md)

1. Scope & objectives

Out of scope (Phase 1):

2. High-level architecture

Scanner.Worker (macOS profile)
 ├─ Surface.Validation  (enforce allowlists, bundle size limits)
 ├─ Surface.FS          (layer/materialized filesystem)
 ├─ HomebrewCollector   (new) -> LayerComponentFragment (brew)
 ├─ PkgutilCollector    (new) -> LayerComponentFragment (pkgutil)
 ├─ BundleInspector     (new) -> Capability records + component fragments
 ├─ LaunchAgentMapper   (optional) -> Usage hints
 └─ MacOsAggregator     (new) -> merges fragments, emits ComponentGraph & capability overlays

3. Collectors & data sources

3.1 Homebrew collector

3.2 pkgutil receipt collector

3.3 Bundle inspector

3.4 Launch agent mapper (optional Phase 1 extension)

4. Aggregation & output

5. Policy & governance integration

6. Offline kit considerations

7. Testing strategy

8. Dependencies & open items

ItemDescriptionOwnerStatus
Demand thresholdNeed ≥3 qualified customer asks to justify engineering investmentProduct GuildActive (DOCS-SCANNER-BENCH-62-002)
macOS rootfs fixturesRequire automation to produce macOS layer tarballs for testsScanner GuildPending design
Notarization validationDecide whether scanner performs spctl --assess or defersSecurity GuildTBD
Entitlement taxonomyFinalize capability grouping for Policy EnginePolicy GuildTBD

9. Proposed backlog entries

ID (proposed)TitleSummary
SCANNER-ENG-0020Implement Homebrew collector and fragment mapperParse cellar manifests, emit brew component records, integrate with Surface.FS/Validation.
SCANNER-ENG-0021Implement pkgutil receipt collectorParse receipts/BOM, output installer component records with provenance.
SCANNER-ENG-0022Implement macOS bundle inspector & capability overlaysExtract plist/signing/entitlements, produce capability evidence and merge with receipts.
SCANNER-ENG-0023Policy & Offline integration for macOSDefine predicates, CLI toggles, Offline Kit packaging, and documentation.

10. References

Further reading: ../../api/scanner/windows-coverage.md (summary) and ../../api/scanner/windows-macos-summary.md (metrics dashboard).

Policy readiness alignment: see ../policy/secret-leak-detection-readiness.md (POLICY-READINESS-0001).

Upcoming milestone: Northwind Health Services demo on 2025-11-10 to validate notarization/entitlement outputs before final policy sign-off.