Skip to content

Home: split into a Runtime-owned host and a sandboxed Home GUI capsule #176

Open

Description

@andersalm

Part of #173 (isolation plan). Depends on the design in #172.

Current source has a trusted top-level host and an opaque Home GUI. The GUI still receives app bearer fragments and mounts app frames. This task gives the host ownership of app authority, frame placement and approvals, while the GUI keeps delegation intents.

Design proposal: #172 note. Irzhy and Sasha acceptance gates implementation.

Done means

  • A minimal Runtime-owned host owns the session, passkey ceremonies, window placement and the approval surface (Runtime-owned approval surface for every approval, with the passkey bound to what is shown #178). Its code is under a stated line count, with Irzhy's approval linked. Its code is served only from the admitted, hash-checked package (Serve only hash-verified capsule assets #171).
  • The Home GUI runs as a capsule in an opaque sandbox. Its only channel is the Runtime, and its only capability is delegation: launch, stop and broker. It never receives another app's capability. Test: the hacked-Home suite.
  • The host mounts every app frame. The Home GUI receives only instance IDs and drives placement, overview (Expose), the phone stage and the switcher through the host. A hacked-Home suite test proves Home never holds an app frame or capability.
  • First-party capsules work when their parent is the top-level host (today some assume a Home GUI parent). Each first-party capsule's smoke test passes under the host.
  • No other document on the host's origin runs script, and the host enforces Trusted Types (require-trusted-types-for 'script'). A test checks the CSP header on every document served from that origin.
  • Desktop and phone layouts (Required: Home on phones #92) work on the split. Test: the Required: Home on phones #92 phone layout end-to-end test passes on the split.
  • The hacked-Home suite passes for every Home route.
  • Once Home: split into a Runtime-owned host and a sandboxed Home GUI capsule #176 lands, both the Runtime-owned host package and the Home GUI package are covered.
  • The shared Hacked-Home regression suite in CI #180 suite enumerates every gateway/Runtime route and capability at test time; this issue supplies operation-specific attacks from hacked Home, hacked app frames and a foreign origin, with a permitted control for each allowed scope.

Activity

  1. added this to the 0.8.0 milestone on Oct 1, 2026
  2. self-assigned this
    on Oct 7, 2026
  3. andersalm commented on Oct 13, 2026

    @andersalm
    ContributorAuthor

    Postponed to 0.8.1: isolation S1/S2 is not a 0.8.0 blocker (Anders, 12 Oct); #170 states the real isolation.

  4. modified the milestones: 0.8.0, After 0.8.0 on Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions