Context
The Apple/macOS review showed that modern applications are process families, not single PIDs. BearBrowser also exposed product-identity leakage risk: upstream engine names can leak through launch, process, helper, profile, and crash surfaces.
Scope
Define and implement a minimal service graph and product-identity audit contract.
Deliverables
- Service graph fixture format using
schemas/sourceos-service.schema.json.
- Product identity audit checklist for bundle, dock, menu, process, helper, profile, crash, update, and log surfaces.
sourceos_eventctl.py or separate tooling to validate service fixtures.
- Example pass/fail outputs for BearBrowser-style browser product identity.
Acceptance criteria
make validate passes.
- BearBrowser fixture remains valid.
- Product identity mismatch produces an
identity_mismatch incident bundle shape.
- The contract is product-neutral enough for TurtleTerm and future SourceOS apps.
Non-goals
- Patching BearBrowser itself in this issue.
- Full process inventory daemon implementation.
Context
The Apple/macOS review showed that modern applications are process families, not single PIDs. BearBrowser also exposed product-identity leakage risk: upstream engine names can leak through launch, process, helper, profile, and crash surfaces.
Scope
Define and implement a minimal service graph and product-identity audit contract.
Deliverables
schemas/sourceos-service.schema.json.sourceos_eventctl.pyor separate tooling to validate service fixtures.Acceptance criteria
make validatepasses.identity_mismatchincident bundle shape.Non-goals