Skip to content

Ship trusted clean-machine macOS distribution #23

Description

@robinbraemer

Outcome

Distribute the supported macOS application as a reproducible, signed, notarized, installable, updatable, and removable product whose public executable and private runtime match the verified release artifacts.

Product-quality coverage

FQ-01.1, FQ-01.6, FQ-20.2, FQ-22.2, FQ-22.3, and FQ-24.8.

Required behavior

  • Produce deterministic release inputs and record the exact source, lockfile, Rust, Bun, Tauri, and media toolchain.
  • Sign with the approved Developer ID, enable reviewed hardened-runtime and App Sandbox settings where compatible with required behavior, and notarize/staple the release.
  • Preserve one public flect executable and one private flect-runtime implementation inside the bundle.
  • Verify DMG, checksum, signature, notarization, architecture, bundle contents, update behavior, shell-link ownership, and uninstall cleanup.
  • Keep browser/source installation independent from proprietary release infrastructure.

Acceptance criteria

  • A clean supported Apple Silicon machine downloads, verifies, installs, launches, authenticates, completes the public-beta loop, updates, and uninstalls without quarantine workarounds or terminal login.
  • Independent rebuild evidence documents any unavoidable nondeterministic signing envelope while proving identical unsigned application content.
  • codesign --verify --deep --strict, Gatekeeper assessment, notarization validation, stapling validation, DMG checksum, and executable inventory all pass.
  • Update preserves user work, grants, extensions, and rollback state according to their contracts; uninstall removes only Flect-owned application and optional shell-link state.
  • README and release notes name exact supported macOS and architecture boundaries and do not advertise absent hosts.

Non-goals

  • Storing Apple or provider credentials in the repository.
  • Overwriting foreign shell links or user workspaces.
  • Claiming Windows, Linux, Intel, iOS, or Android distribution from this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:P2Important follow-up after the core product experience workssecurityTrust, isolation, authorization, or recovery boundarystatus:external-gateImplementation is locally complete; closure requires credentials, hardware, review, or publication

    Type

    No type

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions