Arcane OS Docs Development only

Reference

Arcane.firewall.enable()

After confirmation, enables only the exact installed, unexpired projection in simulation; it does not resolve or silently replace policy. Requires firewall.manage.

  • Reference

This focused page is derived from the mechanically checked full member inventory.

Syntax

Arcane.firewall.enable(expectation)

Parameters

{expectedPolicyGeneration, expectedStateGeneration}

Return value

Promise<FirewallOperationResult>

Description

After confirmation, enables only the exact installed, unexpired projection in simulation; it does not resolve or silently replace policy. Requires firewall.manage.

Overview

Arcane.firewall.enable(expectation) enables only the exact installed, unexpired projection for the current canonical policy. It requires firewall.manage, app id firewall, elevated Core authority, exclusive mutation, and separate confirmation. It does not resolve domains or silently replace a stale projection. Current success is simulation-only and never proves machine-wide enforcement.

Pass the two exact current generations from a status whose state.enableReady is true. The host repeats all generation, recovery, prerequisite, policy hash, installation, and projection-expiry checks after dispatch.

Result, side effects, and events

The exact result is {status, receipt, operation} with the receipt fields documented under firewall.install(). The receipt operation is "enable", and the tracked operation type is "firewall.enable". The returned status has a new state generation and reports the resulting simulated enabled state. Standard operation events are emitted.

Errors and recovery

In addition to stale, busy, recovery, and live-host errors, enable can reject with FIREWALL_NATIVE_PREREQUISITE_REQUIRED, FIREWALL_ALREADY_ENABLED, FIREWALL_INSTALL_REQUIRED, or FIREWALL_PROJECTION_EXPIRED. Refresh status; an expired or mismatched projection requires a newly confirmed Install, not an automatic enable retry.

Example

async function enableFirewallAfterConfirmation(confirmEnable) {
    const status = await Arcane.firewall.status();
    if (!status.simulation || !status.supported || !status.state.enableReady) {
        return null;
    }
    if (!confirmEnable(status)) {
        return null;
    }
    return Arcane.firewall.enable({
        expectedPolicyGeneration: status.policy.generation,
        expectedStateGeneration: status.state.generation
    });
}

Reference group

Platform, installation, users, and system

Repository and reviewed source access