Skip to content

P0 reframe: native offline browser runtime, trust classes and isolation ADRs #21

Description

@marcohost33-maker

Decision state

Marco's product gate G1 = T3 is decided as of 2026-07-14. APP-01's North Star is a native, offline-capable browser/runtime that can progress through:

  1. T1 — owner-controlled signed apps;
  2. T2 — curated third-party signed apps;
  3. T3 — arbitrary foreign web content/apps.

This deliberately overrides the earlier cross-family recommendation to keep v1 T1-only. The staged T1→T2→T3 delivery order remains a safety and evidence strategy; it must not be used to erase the owner-selected T3 product target.

browser is the offline/browser runtime foundation. nigin-engine remains the contract/engine core. browser-nigin is a separate optional AI/LLM layer. APP-01 must function without AI, LLM tokens or cloud-hosting dependency.

Critical clarification

"Run arbitrary foreign webapps offline" is not one technical mode. Issue #30 defines the required distinction between:

  • signed packaged apps;
  • origin-bound installed PWAs;
  • captured/snapshotted sites;
  • ordinary remote browsing with optional cache.

No production or compatibility claim may use the generic phrase without naming the acquisition/execution mode and its degraded semantics.

Runtime direction

T3 requires a browser-grade Chromium family path, not a generic system-WebView shell.

ADR-006 / #23 must compare at least:

  1. CEF Chrome Runtime / Chrome Bootstrap;
  2. Electron bundled Chromium as a rapid-development baseline;
  3. Full Chromium downstream/control path as the highest-parity and highest-maintenance option;
  4. Tauri/WRY/WebView2 only as a T1/APP-02 or negative/control baseline.

Framework names do not prove isolation. The spike must demonstrate Site Isolation/OOPIF process placement, sandboxing, storage/profile boundaries, popup/navigation/download/protocol controls, IPC sender binding, crash containment and a real engine security patch/rollback drill.

Package, trust and update direction

ADR-007 / #24 compares .swbn/IWA-compatible packages with a minimal deterministic signed package, but package signing is only one layer.

The design must keep these states separate:

  • cryptographically valid;
  • publisher trusted/admitted;
  • security/privacy reviewed;
  • capability approved;
  • installed;
  • enabled;
  • quarantined/revoked.

Package signatures bind content and identity; they do not prove harmlessness. Updates require rollback/freeze/mix-and-match protection, key rotation and revocation. Evaluate a TUF-style root/targets/snapshot/timestamp metadata layer rather than inventing these controls ad hoc.

Required ADRs and workstreams

ADR-005 — Product and trust classes

ADR-006 — Runtime and isolation

Owned by #23. No runtime winner before the adversarial fixture and patch drill.

ADR-007 — Package identity and secure updates

Owned by #24. Separate package verification from trust/admission and secure-update metadata.

ADR-008 — Isolation and capability broker

Require:

  • per-app and per-site profile/storage boundaries;
  • browser-grade process/Site Isolation evidence;
  • no generic native bridge in untrusted renderer contexts;
  • typed broker requests bound to app ID, origin/site, frame/SiteInstance, renderer process, capability, arguments and user action;
  • default-deny filesystem, process, shell, device, clipboard, download and external-protocol access;
  • atomic install/update/rollback and auditable decisions.

T2 governance

Owned by #25. No third-party package admission until T1 runtime/package evidence exists.

Offline semantics

Owned by #30. No claim that a normal foreign website is faithfully offline without explicit evidence for origin, authentication, server dependencies, capture rights and compatibility degradation.

Existing implementation state

PR #17 and PR #22 are merged. Their framing-neutral security, CI, SBOM/evidence, governance, trust-class and evaluation artifacts are useful foundations. Merged documentation does not constitute runtime, package, isolation or patch evidence.

Acceptance gate

Primary references

No runtime, hostile-content safety or production-readiness claim is made by this issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Critical priority

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions