Closed-lid support and the optional Helper
The Mac App Store version of Rouse remains sandboxed and never runs as root. It can prevent idle system and display sleep through public macOS APIs, but closed-lid operation requires a system-wide power change that a normal Mac App Store app cannot make.
Setup flow
- Install the separately distributed Rouse Closed-Lid Helper in Applications.
- Approve its background service in System Settings. The Helper uses Apple’s Service Management framework and never asks Rouse to collect a password.
- Enable the optional, default-off setting in Rouse. Rouse then renews short leases only while a wake session is active.
The privileged source is public for review at Rouse Closed-Lid Helper on GitHub; use the official v1.0.0 release for the signed download.
Safety model
- The daemon exposes fixed status, lease, release, and restore operations—not a shell or general command runner.
- Each lease lasts 90 seconds and is capped at 120 seconds. If Rouse quits, disconnects, or stops renewing, the override expires automatically.
- Before changing anything, the daemon records the original setting for each power source. It restores those exact values after expiry, disconnect, restart, removal, or explicit cleanup.
- Rouse and the Helper verify the expected signing team, bundle identifiers, App Group, and protocol version before communicating.
Release status
Helper v1.0.0 is signed, notarized, and public. The signed Rouse TestFlight integration, universal and Rosetta builds, bounded lease recovery, exact settings restoration, and AC-powered closed-lid operation on Apple silicon were verified. Under the recorded v1.0.0 exception, battery transitions, explicit Sleep and low-battery behavior, forced daemon restart, full restart and shutdown, clean-account validation of the published artifact, and in-place update remain deferred and are not recorded as passed. Read the exact evidence and deferred list.
Recovery and removal
Use the Helper’s Restore & Remove Service action first. If the Helper and daemon were deleted before cleanup and the Mac refuses to sleep, an administrator can restore the default with:
sudo pmset -a disablesleep 0
This emergency command cannot reconstruct a non-default value set by another tool. Normal Helper removal restores the exact captured values.