Security Assumptions¶
Explicit trust assumptions worker-kmp v3 makes. If any of these is invalid in your deployment, please file a security advisory (see security.md § Reporting a vulnerability).
Consumer obligations¶
- Consumer signs their installer + the daemon JAR with a code-signing certificate (Windows SmartScreen, macOS Gatekeeper, Linux distro-appropriate). worker-kmp produces unsigned artifacts.
- Consumer secures their Web Push server per features/web-push-server.md (RFC 8030 + VAPID + encrypted subscriptions at rest + rate-limit subscribe endpoint + log redaction).
- Consumer protects their VAPID private key — stored in framework vault per RULE-SECRETS-VAULT-001; never committed/emailed/pasted; rotated annually; rotated immediately on suspected leak.
- Consumer's app process is trusted. Workers, observers, persistence files all run at consumer-app user privilege. If the consumer-app process is compromised, worker-kmp's protections do not apply.
Platform-level trust¶
- OS scheduler integrity — Windows Task Scheduler, macOS launchd, Linux systemd/cron are trusted. If the user is unprivileged, scheduler tampering is out of scope.
- Browser trust — Service Worker code served from the consumer's HTTP origin is trusted to the extent the origin is trusted. SRI hashes (T13) defend against CDN compromise.
- OS file ACLs —
~/.worker-kmp/and~/Library/LaunchAgents/are protected by OS file permissions (mode 600/700). Cross-process attacks at same user privilege are outside our threat model.
Daemon privilege boundary¶
- Daemon runs as consumer-app user (not system service) — alternative requires admin/root at install (out of scope per Phase 8). Risks are bounded to user's own data. If consumer needs system-wide background, they ship a separate LaunchDaemon / Windows Service themselves.
Worker privilege boundary¶
- Registered workers run in consumer-app process at consumer-app privilege — Koin factory injection cannot grant more privileges than the host process has.
What is OUT of scope¶
- Formal third-party security audit (planned v3.x or pre-v4 depending on adoption)
- Side-channel analysis (timing, power)
- Anti-debugging / obfuscation (consumer's responsibility via ProGuard/R8)
- Hardware-backed key storage (consumer's HSM integration)
- Pen-testing the consumer's server infrastructure