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.
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
});
}