Skip to content

iOS send gate fails open: a null mixnet view unblocks send on a platform with no mixnet #1235

Description

@zancas

On the nym branches (nym_core_hardening and ancestors), the send gate is (mixnetView === null || !mixnetView.sendBlocked) in components/Send/Send.tsx:874-877, and LoadedApp sets mixnetView: null on every non-Android platform (app/LoadedApp/LoadedApp.tsx:843-845). iOS therefore has no mixnet transport, a wallet permanently reporting Off, and an OPEN send gate — the exact unconsented-clearnet posture the five-state work exists to prevent.

Until the converged gate lands on iOS, the null case must fail closed (send blocked, with a "mixnet unavailable on this platform" narration) or the platform must record explicit clearnet consent.

Found by the 2026-07-28 consumer-convergence audit; see ADR 0024 on the zingolib branch zingo-cli-over-nym (docs/adr/0024-consumers-converge-on-a-zingolib-owned-mixnet-surface.md). This fix is independent of, and ahead of, the convergence phases.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions